The following example shows how to create a DeltaLake DATALAKE using an Azure Managed Service Principal for both catalog connection and storage access.
Iceberg
CREATE DATALAKE unity_iceberg_wr
EXTERNAL SECURITY CATALOG auth_invoker_unity,
EXTERNAL SECURITY STORAGE auth_invoker_unity
USING
catalog_type ('unity')
catalog_location('https://adb-8074943983864086.6.azuredatabricks.net/api/2.1/unity-catalog/iceberg')
unity_catalog_name('reg_iceberg_db')
catalog_service_principal_type('idp_managed_principal')
storage_account_name ('regicebergstorageacct')
tenant_id('391c8c4c-6a2a-40fd-ab98-226b6baa5155')
default_cluster_id('0210-232334-ab0q59t3')
TABLE FORMAT iceberg;
Delta Lake
CREATE DATALAKE unity_iceberg_wr
EXTERNAL SECURITY CATALOG auth_invoker_unity,
EXTERNAL SECURITY STORAGE auth_invoker_unity
USING
catalog_type ('unity')
catalog_location('https://adb-8074943983864086.6.azuredatabricks.net/api/2.1/unity-catalog/iceberg')
unity_catalog_name('reg_iceberg_db')
catalog_service_principal_type('idp_managed_principal')
storage_account_name ('regicebergstorageacct')
tenant_id('391c8c4c-6a2a-40fd-ab98-226b6baa5155')
default_cluster_id('0210-232334-ab0q59t3')
TABLE FORMAT deltalake;
Usage Considerations
default_cluster_id is required when the catalog is UNITY.