

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

# Databricks サービスプリンシパル OAuth クライアントシークレット
<a name="mes-partner-DatabricksSPSecret"></a>

## シークレット値フィールド
<a name="w2aac27c13c21b3"></a>

以下は、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 はこれを使用して、現在のシークレットの範囲を読み取り、置き換えるシークレットを削除します。

## シークレットメタデータフィールド
<a name="w2aac27c13c21b5"></a>

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

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

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

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

## 使用フロー
<a name="w2aac27c13c21b7"></a>

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

上記のフィールドと [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) 呼び出しを使用してシークレットを作成できます。 DatabricksSPSecret ローテーション設定は、[RotateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RotateSecret.html) 呼び出しを使用して設定できます。セルフローテーションを選択した場合は、オプションの `adminSecretArn`フィールドを省略できます。[RotateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RotateSecret.html) 呼び出しでロール ARN を指定する必要があります。これにより、シークレットをローテーションするために必要なアクセス許可がサービスに付与されます。アクセス許可ポリシーの例については、[「セキュリティとアクセス許可](mes-security.md)」を参照してください。

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

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

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