Azure中的Secret是指密碼、憑證和密鑰等,舉個例子,使用Azure Databricks Secret來存儲憑證,並在notebook和job中引用它們,而不是直接在notebook中輸入憑據。
Secret Scope是Secret的集合,每一個Secret是由name唯一確定的。每一個Databricks 的workspace最多創建100個Secret Scope。Azure 支持兩種類型的Secret Scope:Azure Key Vault-backed 和 Databricks-backed。
- 基於Azure Key Vault的Secret Scope:要引用存儲在Azure Key Vault中的Secret,可以創建基於Azure Key Vault的Secret Scope,基於Azure Key Vault的Secret Scope對於Key Vault來說是只讀的。
- 基於Databricks的Secret Scope:基於Databricks的Secret Scope存儲在由Azure Databricks擁有和管理的加密數據庫中,Secret Scope的name在工作空間中必須唯一,必須包含字母數字字符,破折號,下划線和句點,並且不得超過128個字符。名稱被認為是不敏感的,並且工作空間中的所有用戶都可以讀取。
本文重點介紹基於Azure Key Vault的Secret Scope。
一,創建基於Azure Key Vault的Secret Scope
使用 Azure Portal UI創建Azure Key Vault-backed 的 secret scope。首先,在創建該類型的Secret Scope之前,確保對Azure Key Vault實例具有Contributor權限。
打開網頁“https://<databricks-instance>#secrets/createScope”,這個URL是大小寫敏感的,注意URL中的“createScope”,其中的“Scope”首字母必須是大寫的。
主要的配置選項:
- Scope Name:指定Secret Scope的name,該名稱是大小寫敏感的。
- Manage Principal:用於定義該Secret Scope的Manage Principal(擁有管理權限的安全主體),選項All Users表示所有的用戶都有MANAGE權限,選項Creator表示只有Secret Scope的創建者擁有MANAGE權限。MANAGE權限擁有對Secret Scope的讀寫權限,推薦選項是Creator,把MANAGE權限只授權給Creator。但是,用戶的賬戶必須具有Azure Databricks Premium Plan ,才可以選擇Creator。
- DNS Name:是Vault URI,從Key Vault的Properties面板中可以查看到。
- Resource ID:從Azure Key Valut的屬性面板中可以查看到Resource ID。
二,個人訪問Token
如果要訪問Databricks REST API,可以使用Databricks personal access tokens來進行權限驗證。
點擊Databricks 工作區右上角的user profile icon
點擊“User Settings”,進入到“User Settings”頁面,在該頁面中點擊“Generage New Token”生成新的Token。
注意:要把Token保存起來,再次進入該頁面,Token不再可見。
三:配置Databricks CLI
使用Databricks CLI (command-line interface)命令來驗證Secret Scope是否創建成功。
Step1:安裝Databricks CLI
pip install databricks-cli
查看Databricks CLI是否安裝成功,可以運行Databricks CLI -h獲得help文檔:
databricks -h
Step2:配置驗證信息
輸入Databricks Host,並輸入生成的個人訪問Token
databricks configure --token Databricks Host (should begin with https://): Token:<personal-access-token>
Step3:查看Secret Scope列表
databricks secrets list-scopes
Step4:刪除Secret Scope
注意:<scope-name>是大小寫敏感的。
databricks secrets delete-scope --scope <scope-name>
參考穩定:
Authentication using Azure Databricks personal access tokens