Credentials
適用於: Databricks SQL Databricks Runtime Unity Catalog 僅限
Unity Catalog 和內建的 Azure Databricks Hive metastore 使用管理 tables的預設位置。 Unity Catalog 引進數個新的可安全管理的物件,以授權 grant 在雲端物件存儲中的外部雲端服務和數據的權限。
-
Unity Catalog 物件,用來從雲端服務與儲存 providers中抽象化長期 credentials 之概念。
記憶體認證
用於存取外部位置和 tables的 Unity Catalog 認證。
服務認證
重要
這項功能處於公開預覽狀態。
Unity Catalog 認證,用來使用提供者 SDK 存取外部雲端服務。 如需詳細資訊,請參閱 管理對外部雲端服務的存取權時使用的服務 credentials。
-
Unity Catalog 物件,用來將雲端物件儲存 URI 與 存取憑證產生關聯。
認證
認證是安全性實體物件,代表 Azure 受控識別或Microsoft Entra ID 服務主體。
建立認證之後,即可將存取權授與 主體 (使用者和群組)。
記憶體 credentials 主要用來建立 外部位置,以限定特定記憶體路徑的存取範圍。
認證名稱 不限定,而且在中繼存放區內必須是唯一的。
關聯性的圖形表示法
下圖描述兩者之間的關聯性:
- 記憶體 credentials
- 外部位置
- 外部 tables
- 記憶體路徑
- IAM 實體
- Azure 服務帳戶
範例
使用 CLI 建立Microsoft Entra ID 服務主體的記憶體認證 my_azure_storage_cred
。
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"}}'
其餘的命令可以在 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';