監視和管理個人存取權杖的存取權
若要對 Azure Databricks REST API 進行驗證,使用者可以建立個人存取權杖,並將其用於其 REST API 要求中。 使用者也可以建立服務主體,並將其與個人存取權杖搭配使用,以在其 CI/CD 工具和自動化中呼叫 Azure Databricks REST API。 本文說明 Azure Databricks 工作區管理員如何在其工作區中管理這些存取權杖。
若要建立 OAuth 存取權杖 (而不是 PAT),以搭配自動化中的服務主體使用,請參閱使用 OAuth (OAuth M2M) 透過服務主體對 Azure Databricks 的存取進行驗證。
使用個人存取權杖 (PAT) 而不是 OAuth 來存取 Azure Databricks
Databricks 建議您使用 OAuth 存取權杖而非 PAT 來獲得更高的安全性和便利性。 Databricks 會繼續支援 PAT,但由於其更大的安全性風險,建議您稽核帳戶目前的 PAT 使用量,並將使用者和服務主體移轉至 OAuth 存取權杖。
個人存取權杖管理概觀
注意
下列文件介紹尚未移轉其程式碼以改用 OAuth 的客戶的 PAT 使用情況。 若要評估您自己的組織中 PAT 的使用情況,並規劃從 PAT 移轉至 OAuth 存取權杖,請參閱評估 Databricks 帳戶中的個人存取權杖使用情況。
對於在 2018 年或之後建立的所有 Azure Databricks 工作區,依預設會啟用個人存取權杖。
在工作區上啟用個人存取權杖時,具有 CAN USE 權限的使用者可以產生個人存取權杖來存取 Azure Databricks REST API,而且可以使用他們喜歡的任何到期日來產生這些權杖,包括無限期存留期。 根據預設,非管理員工作區使用者沒有 CAN USE 權限,這表示他們無法建立或使用個人存取權杖。
身為 Azure Databricks 工作區管理員,您可以 停用工作區的個人存取權杖、 監視和撤銷權杖、 控制哪些非系統管理員使用者可以建立權杖和使用權杖,以及 設定新權杖的最大存留期。
管理工作區中的個人存取權杖需要進階方案。 若要建個人存取權杖,請參閱 Azure Databricks 個人存取權杖驗證。
為工作區啟用或停用個人存取權杖驗證
對於在 2018 年或之後建立的所有 Azure Databricks 工作區,依預設會啟用個人存取權杖驗證。 可以在工作區設定頁面中變更此設定。
停用工作區的個人存取權杖時,個人存取權杖無法用於驗證 Azure Databricks,而且工作區使用者和服務主體無法建立新權杖。 當您停用工作區的個人存取權杖驗證時,不會刪除任何權杖。 如果稍後重新啟用權杖,則任何未過期的權杖都可供使用。
如果您想要停用使用者子集的權杖存取,可以保持針對工作區啟用個人存取權杖驗證,並為使用者和群組設定微調權限。 請參閱控制誰可以建立和使用權杖。
警告
Partner Connect 和 Partner Integrations 需要在工作區上啟用個人存取權杖。
若要停用為工作區建立和使用個人存取權杖的能力:
也可以使用工作區設定 API 來停用工作區的個人存取權杖。
控制誰可以建立和使用權杖
工作區管理員可以設定個人存取權杖的權限,以控制哪些使用者、服務主體和群組可以建立和使用權杖。 如需有關如何設定個人存取權杖權限的詳細資訊,請參閱管理個人存取權杖權限。
設定新權杖的最大存留期
可以使用 Databricks CLI 或工作區設定 API 來管理工作區中新權杖的最大存留期。 此限制僅適用於新權杖。
注意
Databricks 會自動撤銷 90 天以上未使用的個人存取令牌。 只要使用令牌,Databricks 將不會撤銷存留期超過 90 天的令牌。
作為安全性最佳做法,Databricks 建議透過 PAT 使用 OAuth 令牌。 如果您要將驗證從 PAT 轉換至 OAuth,Databricks 建議使用短期令牌來增強安全性。
將 maxTokenLifetimeDays
設定為新權杖的最大權杖存留期 (以天為單位),以整數表示。 如果將它設定為零,則允許新的權杖沒有存留期限制。 例如:
Databricks CLI
databricks workspace-conf set-status --json '{
"maxTokenLifetimeDays": "90"
}'
工作區設定 API
curl -n -X PATCH "https://<databricks-instance>/api/2.0/workspace-conf" \
-d '{
"maxTokenLifetimeDays": "90"
}'
若要使用 Databricks Terraform 提供者來管理工作區中新權杖的最大存留期,請參閱 databricks_workspace_conf 資源。
監視和撤銷權杖
本節說明如何使用 Databricks CLI 來管理工作區中的現有權杖。 也可以使用權杖管理 API。
取得工作區的權杖
若要取得工作區的權杖:
Python
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
spark.createDataFrame([token.as_dict() for token in w.token_management.list()]).createOrReplaceTempView('tokens')
display(spark.sql('select * from tokens order by creation_time'))
Bash
# Filter results by a user by using the `created-by-id` (to filter by the user ID) or `created-by-username` flags.
databricks token-management list
刪除 (撤銷) 權杖
若要刪除權杖,請將 TOKEN_ID 取代為要刪除的權杖識別碼:
databricks token-management delete TOKEN_ID
自動撤銷舊存取權杖
當權杖 90 天或更長時間未使用時,Databricks 將自動撤銷 Azure Databricks 工作區的 PAT。 最佳做法是定期稽核 Azure Databricks 帳戶中的 PAT,並在自動撤銷之前移除任何未使用的 PAT。 匯入並執行評估 Databricks 帳戶中的個人存取權杖使用情況中提供的筆記本,以確定組織的 Azure Databricks 帳戶中未到期的 PAT 數目。
Databricks 建議您設定組織的 Azure Databricks 帳戶,使用 OAuth 權杖進行存取驗證而非使用 PAT,以取得更大的安全性和易用性。