kimlik bilgilerini Depolama

Şunlar için geçerlidir:check marked yes Yalnızca Databricks SQL check marked yes Databricks Runtime check marked yes Unity Kataloğu

Unity Kataloğu ve yerleşik Azure Databricks Hive meta veri deposu yönetilen tablolar için varsayılan konumları kullanır. Unity Kataloğu, bulut nesne depolamadaki verilere ayrıcalıklar vermek için birkaç yeni güvenli hale getirilebilir nesne sunar.

Depolama kimlik bilgisi

Depolama kimlik bilgileri, Azure yönetilen kimliğini veya Microsoft Entra ID hizmet sorumlusunu temsil eden güvenli hale getirilebilir bir nesnedir.

Depolama kimlik bilgileri oluşturulduktan sonra sorumlulara (kullanıcılar ve gruplar) erişim verilebilir.

Depolama kimlik bilgileri öncelikli olarak belirli bir depolama yoluna erişimi kapsayan dış konumlar oluşturmak için kullanılır.

Depolama kimlik bilgisi adları nitelenmemiş ve meta veri deposu içinde benzersiz olmalıdır.

İlişkilerin Grafik Gösterimi

Aşağıdaki diyagramda şunlar arasındaki ilişki açıklanmaktadır:

  • depolama kimlik bilgileri
  • dış konumlar
  • dış tablolar
  • depolama yolları
  • IAM varlıkları
  • Azure hizmet hesapları

External location ER diagram

Örnekler

CLI kullanarak Bir Microsoft Entra ID hizmet sorumlusu için bir depolama kimlik bilgisi my_azure_storage_cred oluşturun.

databricks storage-credentials create --json '{"name": "my_azure_storage_cred", "azure_service_principal": {"directory_id": "12345678-9abc-def0-1234-56789abcdef0", "application_id": "23456789-9abc-def0-1234-56789abcdef0", "client_secret": "Cli3nt5ecr3t"}}'

Komutların geri kalanı SQL içinde çalıştırılabilir.

-- Grant access to the storage credential
> GRANT READ FILES ON STORAGE CREDENTIAL my_azure_storage_cred TO ceo;

-- ceo can directly read from any storage path using myazure_storage_cred
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/finance/forecast/somefile` WITH (CREDENTIAL my_azure_storage_cred);
  100
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/hr/employees` WITH (CREDENTIAL my_azure_storage_cred);
  2017

-- Create an external location on specific path to which `my_azure_storage_cred` has access
> CREATE EXTERNAL LOCATION finance_loc URL 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance'
    WITH (CREDENTIAL my_azure_storage_cred)
    COMMENT 'finance';