View a markdown version of this page

Databricks サービスプリンシパル OAuth クライアントシークレット - AWS Secrets Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Databricks サービスプリンシパル OAuth クライアントシークレット

シークレット値フィールド

以下は、Secrets Manager シークレットに含める必要があるフィールドです。

{ "accountId": "Databricks account UUID", "servicePrincipalId": "Numeric service principal ID", "clientId": "Service principal application UUID", "clientSecret": "dose followed by the secret value", "oauthSecretId": "Hexadecimal OAuth secret ID" }
accountId

Databricks アカウント ID。これは UUID です。

servicePrincipalId

サービスプリンシパルの数値内部 ID。この値はアプリケーション ID とは異なります。

clientId

サービスプリンシパルのアプリケーション ID。Secrets Manager は、OAuth リクエストclient_idで として送信します。

clientSecret

現在の OAuth クライアントシークレット。Secrets Manager はこのフィールドをローテーションします。

oauthSecretId

現在の OAuth シークレットの Databricks ID。Secrets Manager はこれを使用して、現在のシークレットの範囲を読み取り、置き換えるシークレットを削除します。

シークレットメタデータフィールド

以下は、Databricksサービスプリンシパル OAuth クライアントシークレットのメタデータフィールドです。

{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:DatabricksAdminServicePrincipal", "secretLifetimeDays": "730" }
adminSecretArn

(オプション) このシークレットをローテーションする DatabricksSPSecret タイプの別のシークレットの Amazon リソースネーム (ARN)。このフィールドを省略して、サービスプリンシパルが独自のシークレットをローテーションできるようにします。

secretLifetimeDays

(オプション) 新しい各シークレットの有効期間。日数。値はローテーション間隔よりも大きくする必要があります。最大数は 730 です。デフォルト: 730。

使用フロー

このローテーションタイプは 2 つのモードをサポートしています。自己ローテーションでは、サービスプリンシパルは独自のシークレットをローテーションします。アシストローテーションでは、2 番目のサービスプリンシパルがローテーションします。OAuth シークレットエンドポイントはアカウントレベルであるため、ローテーションを実行するサービスプリンシパルにはaccount_adminロールが必要です。

上記のフィールドと CreateSecret 呼び出しを使用してシークレットを作成できます。 DatabricksSPSecret ローテーション設定は、RotateSecret 呼び出しを使用して設定できます。セルフローテーションを選択した場合は、オプションの adminSecretArnフィールドを省略できます。RotateSecret 呼び出しでロール ARN を指定する必要があります。これにより、シークレットをローテーションするために必要なアクセス許可がサービスに付与されます。アクセス許可ポリシーの例については、「セキュリティとアクセス許可」を参照してください。

ローテーション中、Secrets Manager はクライアント認証情報フローを使用してアクセストークンをリクエストします。置き換えるシークレットのスコープを格納する置き換えシークレットを作成し、置き換えを AWSPENDING として保存します。これにより、新しいシークレットが認証されることを確認します。次に、前のシークレットを削除し、AWSPENDING を AWSCURRENT に昇格します。

サービスプリンシパルは、最大 5 つの OAuth シークレットをサポートします。サービスプリンシパルが既に 5 つを保持している場合、 はリクエストDatabricksを拒否し、ローテーションは失敗します。再度ローテーションする前に、未使用のシークレットを削除します。

このタイプに必要なaccount_adminロールは、Databricks個人用アクセストークンのローテーションに必要なワークスペースアクセスとは異なります。単一の許可は両方のフローをカバーしません。