本頁說明與 Azure Databricks 整合的 OAuth 應用程式的一次性刷新令牌,並說明如何使用 Azure Databricks API 配置這些令牌。 一次性刷新令牌透過每次使用後需輪換令牌來提升安全性。
什麼是一次性刷新代幣?
自訂及公開的應用程式整合在使用者對機器(U2M)認證流程中使用一次性刷新令牌(亦稱為刷新令牌輪替)。 它們透過允許每個刷新令牌只使用一次來提升 OAuth 安全性。 當客戶端應用程式使用刷新令牌取得新的存取憑證時,Azure Databricks 會發出新的刷新令牌,並使舊的令牌失效。
一次性刷新令牌預設啟用於以下情況:
對於大多數其他已發佈的應用程式和自訂 OAuth 整合,請使用 Azure Databricks API 來啟用此功能。
大多數現代 OAuth 用戶端應用程式會自動處理一次性刷新令牌,對終端使用者不會有行為改變。 並非所有客戶端應用程式都支援此功能。 如果客戶端應用程式在啟用一次性刷新令牌時無法正常運作,你可以停用該功能來還原為多次刷新令牌。
設定一次性刷新令牌
你可以透過 Databricks API 或 Databricks CLI 設定一次性刷新權杖。 欲了解更多 API 資訊,請參閱 Azure Databricks API 文件。 欲了解更多 Databricks CLI 的資訊,請參閱 What is the Databricks CLI? 。
要啟用一次性刷新令牌並設定 OAuth 會話存活時間(TTL),請在 下指定 enable_single_use_refresh_tokens 和 absolute_session_lifetime_in_minutestoken_access_policy欄位。
Databricks API
{
"confidential": true,
"name": "Example Tableau Server",
"redirect_urls": ["https://example.online.tableau.com/auth/add_oauth_token"],
"scopes": ["all-apis", "offline_access"],
"token_access_policy": {
"access_token_ttl_in_minutes": 60,
"refresh_token_ttl_in_minutes": 1440,
"enable_single_use_refresh_tokens": true,
"absolute_session_lifetime_in_minutes": 43200
}
}
Databricks 命令行介面
databricks account custom-app-integration update <app_integration_id> --json '{
"token_access_policy": {
"access_token_ttl_in_minutes": 60,
"refresh_token_ttl_in_minutes": 1440,
"enable_single_use_refresh_tokens": true,
"absolute_session_lifetime_in_minutes": 43200
}
}'