翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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個人用アクセストークンのローテーションに必要なワークスペースアクセスとは異なります。単一の許可は両方のフローをカバーしません。