共用方式為


監控和 revoke 個人存取令牌

若要向 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 建議您使用下列步驟將個人存取令牌暴露程度降至最低:

  1. Set 工作區中建立之所有新令牌的簡短存留期。 存留期應少於 90 天。 根據預設,所有新令牌的最大存留期為730天(兩年)。
  2. 請與您的 Azure Databricks 工作區系統管理員和使用者合作,以切換至存留期較短的權杖。
  3. Revoke 所有長期令牌,以降低這些較舊令牌在一段時間內被誤用的風險。 當令牌在90天以上未使用時,Databricks 會自動撤銷 Azure Databricks 工作區的所有 PAT。

需求

您必須是系統管理員,才能管理個人存取令牌。

Azure Databricks 帳戶管理員可以監視和 revoke 帳戶中的個人存取令牌。

Azure Databricks 工作區管理員可以執行下列動作:

  • 停用工作區的個人存取令牌。
  • 控制哪些非系統管理員使用者可以建立令牌並使用令牌。
  • Set 新令牌的最大存留期。
  • 監控其工作區中的 revoke 令牌。

在工作區中管理個人存取權杖需要進階方案等級

帳戶中的監視和個人存取令牌 revoke

重要

這項功能處於 公開預覽階段。 若要 join 此預覽,請連絡您的 Azure Databricks 帳戶小組。

帳戶管理員可以從帳戶控制台監視和 revoke 個人存取令牌。 只有在帳戶管理員使用令牌報告頁面時,才會執行監視令牌的查詢。

  1. 若要 join 此預覽,請先連絡您的 Azure Databricks 帳戶小組。

  2. 身為帳戶管理員,登入 帳戶主控台

  3. 在側邊欄中,點擊 [預覽]

  4. 使用切換 使控件處於 [開啟] 位置,然後 啟用 存取令牌報告

    啟用存取令牌報告。

  5. 在側邊欄中,點擊 設定令牌報表

    您可以依令牌擁有者、工作區、建立日期、到期日和令牌上次使用的日期進行篩選。 使用報表頂端的按鈕來篩選不活躍主體的存取令牌,或無到期日的存取令牌。

    檢視個人存取令牌報告。

  6. 若要將報表匯出至 CSV,請點擊 [匯出]。

  7. 若要 revoke 令牌,請 select 令牌,然後按一下 [Revoke]。

    Revoke 個人存取令牌。

為工作區啟用或停用個人存取權杖驗證

對於在 2018 年或之後建立的所有 Azure Databricks 工作區,依預設會啟用個人存取權杖驗證。 可以在工作區設定頁面中變更此設定。

停用工作區的個人存取權杖時,個人存取權杖無法用於驗證 Azure Databricks,而且工作區使用者和服務主體無法建立新權杖。 當您停用工作區的個人存取權杖驗證時,不會刪除任何權杖。 如果稍後重新啟用權杖,則任何未過期的權杖都可供使用。

如果您想要停用使用者子集的令牌存取,您可以針對工作區保留個人存取令牌驗證,並針對使用者和群組 set 更細緻的許可權。 請參閱 控制誰可以建立和使用個人存取令牌

警告

Partner ConnectPartner Integrations 需要在工作區上啟用個人存取權杖。

若要停用為工作區建立和使用個人存取權杖的能力:

  1. 移至[設定頁面]。

  2. 按一下 [進階] 索引標籤。

  3. 按一下 [個人存取權杖] 切換開關。

  4. 按一下 [確認]

    這項變更可能需要幾秒鐘的時間才會生效。

也可以使用工作區設定 API 來停用工作區的個人存取權杖。

控制誰可以建立和使用個人存取令牌

工作區管理員可以 set 個人存取令牌的許可權,以控制哪些用戶、服務主體和群組可以建立和使用令牌。 如需有關如何設定個人存取權杖權限的詳細資訊,請參閱管理個人存取權杖權限

Set 新個人存取令牌的最大存留期

根據預設,新令牌的最大存留期為730天(兩年)。 您可以使用 Databricks CLI工作區組態 API,在工作區中設定較短的最大令牌存留期 set 。 此 limit 僅適用於新的令牌。

Set 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"
  }'

如果您將 setmaxTokenLifetimeDays 設為零,新令牌的存留期限最多可達 730 天(兩年)。

若要使用 Databricks Terraform 提供者來管理工作區中新權杖的最大存留期,請參閱 databricks_workspace_conf 資源

在工作區中監視 和 revoke 令牌

本節說明工作區系統管理員如何使用 Databricks CLI 來管理工作區中的現有令牌。 也可以使用權杖管理 API。 Databricks 會自動撤銷 90 天以上未使用的個人存取令牌。

Get 工作區的令牌

若要執行 get 工作區的令牌操作:

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

刪除(revoke)令牌

若要刪除權杖,請將 TOKEN_ID 取代為要刪除的權杖識別碼:

databricks token-management delete TOKEN_ID