翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
MongoDB Atlas サービスアカウントの認証情報
シークレット値フィールド
以下は、Secrets Manager シークレットに含める必要があるフィールドです。
{
"clientId": "service account OAuth client ID",
"clientSecret": "service account OAuth client secret",
"orgId": "Atlas Organization ID"
}
- clientId
-
MongoDB Atlas サービスアカウント OAuth クライアント ID。これは で始まり
mdb_sa_id_、その後に 24 文字の 16 進数文字列が続く必要があります。 - clientSecret
-
認証に使用される MongoDB Atlas サービスアカウント OAuth クライアントシークレット。
- orgId
-
24 文字の 16 進数の Atlas Organization ID。これは Atlas Organization Settings にあります。
シークレットメタデータフィールド
以下は、MongoDB Atlas サービスアカウントのメタデータフィールドです。
{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:MongoDBAtlasServiceAccount", "apiVersion": "2025-03-12" }
- adminSecretArn
-
(オプション) このサービスアカウントのシークレットのローテーションに使用される管理サービスアカウントの OAuth 認証情報を含むシークレットの Amazon リソースネーム (ARN)。管理者シークレットには、シークレット構造内に
clientIdとclientSecretの値が含まれている必要があります。省略すると、サービスアカウントは自己ローテーションに独自の認証情報を使用します。 - apiVersion
-
(オプション)
yyyy-mm-dd形式の Atlas Admin API バージョン日付。この値は、Acceptヘッダーで として使用されますapplication/vnd.atlas.{apiVersion}+json。指定されない場合のデフォルト値は2025-03-12です。
使用フロー
ローテーションは 2 つの認証モードをサポートしています。セルフローテーションモード (デフォルト) では、サービスアカウントは独自の認証情報を使用してシークレットを作成および削除します。これには、サービスアカウントに独自のシークレットを管理するアクセス許可が必要です。管理者支援ローテーションモードでは、別のシークレットに保存されている別の管理者サービスアカウントの認証情報が使用されます。これは、サービスアカウントに自己管理アクセス許可がない場合に必要です。
上記のフィールドと MongoDBAtlasServiceAccount というシークレットタイプを含むシークレット値を使用してCreateSecret 呼び出しを使用してシークレットを作成できます。ローテーション設定は、RotateSecret 呼び出しを使用して設定できます。セルフローテーションを選択した場合は、オプションの adminSecretArnフィールドを省略できます。RotateSecret 呼び出しでロール ARN を指定する必要があります。これにより、シークレットをローテーションするために必要なアクセス許可がサービスに付与されます。アクセス許可ポリシーの例については、「セキュリティとアクセス許可」を参照してください。
別の認証情報セット (管理者シークレットに保存) を使用してシークレットをローテーションすることを選択した場合は、管理者サービスアカウントの clientIdと AWS Secrets Manager を含む に管理者シークレットを作成しますclientSecret。この管理者シークレットの ARN は、サービスアカウントシークレットの RotateSecret 呼び出しのローテーションメタデータで指定する必要があります。
ローテーション中、ドライバーは Atlas Admin API を介してサービスアカウントの新しいシークレットを作成し、OAuth トークンを生成して新しいシークレットを検証し、新しい認証情報でシークレットを更新し、古いシークレットを削除します。