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