監視和撤銷個人存取令牌
若要向 Azure Databricks REST API 進行驗證,使用者可以建立個人存取令牌 (PAT),並將其用於其 REST API 要求中。 使用者也可以建立服務主體,並將其與個人存取令牌搭配使用,以在其 CI/CD 工具和自動化中呼叫 Azure Databricks REST API。 本文說明 Azure Databricks 系統管理員如何管理其工作區中的個人存取令牌。 若要建個人存取權杖,請參閱 Azure Databricks 個人存取權杖驗證。
使用 OAuth 而非個人存取令牌
Databricks 建議您使用 OAuth 存取權杖而非 PAT 來獲得更高的安全性和便利性。 Databricks 會繼續支援 PAT,但由於其安全性風險較大,建議您稽核帳戶目前的 PAT 使用量,並將使用者和服務主體移轉至 OAuth 存取令牌。 若要建立 OAuth 存取權杖 (而不是 PAT),以搭配自動化中的服務主體使用,請參閱使用 OAuth (OAuth M2M) 透過服務主體對 Azure Databricks 的存取進行驗證。
Databricks 建議您使用下列步驟將個人存取令牌暴露程度降至最低:
- 為工作區中建立的所有新令牌設定簡短的存留期。 存留期應少於 90 天。 根據預設,所有新令牌的最大存留期為730天(兩年)。
- 請與您的 Azure Databricks 工作區系統管理員和使用者合作,以切換至存留期較短的權杖。
- 撤銷所有長時間存在的權杖,以降低這些較舊權杖在一段時間後遭誤用的風險。 當令牌在90天以上未使用時,Databricks 會自動撤銷 Azure Databricks 工作區的所有 PAT。
需求
您必須是系統管理員,才能管理個人存取令牌。
Azure Databricks 帳戶管理員可以監視和撤銷帳戶中的個人存取令牌。
Azure Databricks 工作區管理員可以執行下列動作:
- 停用工作區的個人存取令牌。
- 控制哪些非系統管理員使用者可以建立令牌並使用令牌。
- 設定新令牌的最大存留期。
- 監視和撤銷其工作區中的令牌。
監視和撤銷帳戶中的個人存取令牌
重要
這項功能處於 公開預覽階段。 若要加入此預覽,請連絡您的 Azure Databricks 帳戶小組。
帳戶管理員可以從帳戶控制台監視和撤銷個人存取令牌。 只有在帳戶管理員使用令牌報告頁面時,才會執行監視令牌的查詢。
若要加入此預覽,請先連絡您的 Azure Databricks 帳戶小組。
身為帳戶管理員,登入 帳戶主控台。
在側邊欄中,點擊 [預覽]。
使用切換 啟用 存取令牌報告。
在側邊欄中,點擊 設定 和 令牌報表。
您可以依令牌擁有者、工作區、建立日期、到期日和令牌上次使用的日期進行篩選。 使用報表頂端的按鈕來篩選不活躍主體的存取令牌,或無到期日的存取令牌。
若要將報表匯出至 CSV,請點擊 [匯出]。
若要撤銷代幣,請選擇代幣,然後按下 [[撤銷]。
為工作區啟用或停用個人存取權杖驗證
對於在 2018 年或之後建立的所有 Azure Databricks 工作區,依預設會啟用個人存取權杖驗證。 可以在工作區設定頁面中變更此設定。
停用工作區的個人存取權杖時,個人存取權杖無法用於驗證 Azure Databricks,而且工作區使用者和服務主體無法建立新權杖。 當您停用工作區的個人存取權杖驗證時,不會刪除任何權杖。 如果稍後重新啟用權杖,則任何未過期的權杖都可供使用。
如果您想要停用使用者子集的權杖存取,可以保持針對工作區啟用個人存取權杖驗證,並為使用者和群組設定微調權限。 請參閱 控制誰可以建立和使用個人存取令牌。
警告
Partner Connect 和 Partner Integrations 需要在工作區上啟用個人存取權杖。
若要停用為工作區建立和使用個人存取權杖的能力:
也可以使用工作區設定 API 來停用工作區的個人存取權杖。
控制誰可以建立和使用個人存取令牌
工作區管理員可以設定個人存取權杖的權限,以控制哪些使用者、服務主體和群組可以建立和使用權杖。 如需有關如何設定個人存取權杖權限的詳細資訊,請參閱管理個人存取權杖權限。
設定新個人存取令牌的最大存留期
根據預設,新令牌的最大存留期為730天(兩年)。 您可以使用 Databricks CLI 或 工作區組態 API,在工作區中設定較短的令牌存留期。 此限制僅適用於新權杖。
將 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"
}'
如果您將 maxTokenLifetimeDays
設定為零,新的令牌可以建立存留期最多 730 天(兩年)。
若要使用 Databricks Terraform 提供者來管理工作區中新權杖的最大存留期,請參閱 databricks_workspace_conf 資源。
監視和撤銷工作區中的令牌
本節說明工作區系統管理員如何使用 Databricks CLI 來管理工作區中的現有令牌。 也可以使用權杖管理 API。 Databricks 會自動撤銷 90 天以上未使用的個人存取令牌。
取得工作區的權杖
若要取得工作區的權杖:
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