Info masuk penyimpanan

Berlaku untuk:check marked yes Databricks SQL check marked yes Databricks Runtime check marked yes Unity Catalog saja

Unity Catalog dan metastore Azure Databricks Hive bawaan menggunakan lokasi default untuk tabel terkelola. Unity Catalog memperkenalkan beberapa objek baru yang dapat diamankan untuk memberikan hak istimewa ke data dalam penyimpanan objek cloud.

Kredensial penyimpanan

Kredensial penyimpanan adalah objek yang dapat diamankan yang mewakili identitas terkelola Azure atau perwakilan layanan MICROSOFT Entra ID.

Setelah info masuk penyimpanan dibuat, akses ke sana dapat diberikan kepada prinsipal (pengguna dan grup).

Kredensial penyimpanan terutama digunakan untuk membuat lokasi eksternal, yang mencakup akses ke jalur penyimpanan tertentu.

Nama info masuk penyimpanan tidak memenuhi syarat dan harus unik di dalam metastore.

Representasi Grafis hubungan

Diagram berikut menjelaskan hubungan antara:

  • info masuk penyimpanan
  • lokasi eksternal
  • tabel eksternal
  • jalur penyimpanan
  • Entitas IAM
  • Akun layanan Azure

External location ER diagram

Contoh

Menggunakan CLI, buat kredensial my_azure_storage_cred penyimpanan untuk perwakilan layanan ID Microsoft Entra.

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"}}'

Sisa perintah dapat dijalankan dalam SQL.

-- 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';