本页介绍与 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 的详细信息,请参阅 什么是 Databricks CLI?。
若要启用单用刷新令牌并设置 OAuth 会话生存时间(TTL),请指定enable_single_use_refresh_tokens下面的absolute_session_lifetime_in_minutes和token_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 命令行界面 (CLI)
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
}
}'