このページでは、Azure Databricks と統合された OAuth アプリケーションの単一使用更新トークンについて説明し、Azure Databricks API を使用してそれらを構成する方法について説明します。 単一使用の更新トークンは、各使用後にトークンのローテーションを要求することでセキュリティを強化します。
単一使用更新トークンとは
カスタムアプリケーションと公開アプリケーションの統合では、ユーザー間 (U2M) 認証フローで単一使用更新トークン (更新トークンローテーションとも呼ばれます) が使用されます。 各更新トークンを 1 回だけ使用できるようにすることで、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
}
}'