View a markdown version of this page

MongoDB Atlas サービスアカウントの認証情報 - AWS Secrets Manager

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

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)。管理者シークレットには、シークレット構造内に clientIdclientSecretの値が含まれている必要があります。省略すると、サービスアカウントは自己ローテーションに独自の認証情報を使用します。

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 トークンを生成して新しいシークレットを検証し、新しい認証情報でシークレットを更新し、古いシークレットを削除します。