Info masuk penyimpanan
Berlaku untuk: Databricks SQL Databricks Runtime 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.
-
Objek Unity Catalog digunakan untuk mengabstraksi info masuk jangka panjang dari penyedia penyimpanan cloud.
-
Objek Unity Catalog yang digunakan untuk mengaitkan URI penyimpanan objek cloud dengan kredensial penyimpanan.
-
Tabel Unity Catalog dibuat di lokasi eksternal yang dikelola Unity Catalog.
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
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';