翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
MongoDB Atlas データベースユーザー
シークレット値フィールド
以下は、Secrets Manager シークレットに含める必要があるフィールドです。
{
"username": "database username",
"password": "database password",
"clusterUrl": "cluster hostname",
"databaseName": "authentication database",
"groupId": "Atlas Project ID"
}
- username
-
MongoDB データベースユーザー名 (SCRAM 認証)。SCRAM 認証を受け入れるには、このユーザーを MongoDB Atlas で設定する必要があります。
- password
-
MongoDB Atlas データベースユーザーの現在のパスワード。
- clusterUrl
-
MongoDB Atlas クラスターのホスト名。例:
cluster0.abc123.mongodb.net。mongodb+srv://プレフィックスは含めないでください。これは、ローテーション中に新しいパスワードを検証するために使用されます。 - databaseName
-
ユーザーの認証情報が保存されている認証データベース。通常
admin、SCRAM ユーザーまたは X.509/LDAP$external用です。 - groupId
-
24 文字の 16 進数の Atlas プロジェクト ID (グループ ID とも呼ばれます)。これは Atlas プロジェクト設定で確認できます。
シークレットメタデータフィールド
以下は、MongoDB Atlas データベースユーザーのメタデータフィールドです。
{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:MongoDBAtlasServiceAccount", "apiVersion": "2025-03-12" }
- adminSecretArn
-
プロジェクトデータベースアクセス管理者のアクセス許可を持つ Atlas サービスアカウントの OAuth 認証情報 (タイプ: MongoDBAtlasServiceAccount) を含むシークレットの Amazon リソースネーム (ARN)。この管理者シークレットは、パスワードの更新のために Atlas Admin API を認証するために使用されます。
- apiVersion
-
(オプション)
yyyy-mm-dd形式の Atlas Admin API バージョン日付。この値は、Acceptヘッダーで として使用されますapplication/vnd.atlas.{apiVersion}+json。指定されない場合のデフォルト値は2025-03-12です。
使用フロー
このローテーションタイプは、2 シークレットアーキテクチャを使用します。Atlas Admin API への認証には、Atlas サービスアカウント OAuth 認証情報 (clientId、clientSecret、serviceAccountId) を含む管理者シークレットが必要です。管理者シークレットのタイプは MongoDBAtlasServiceAccount である必要があります。
上記のフィールドと、MongoDBAtlasDatabaseUser というシークレットタイプを含むシークレット値を使用してCreateSecret 呼び出しを使用してシークレットを作成できます。ローテーション設定は、RotateSecret 呼び出しを使用して設定できます。ローテーションメタデータadminSecretArnで を指定する必要があります。また、RotateSecret 呼び出しでロール ARN を指定する必要があります。これにより、シークレットをローテーションするために必要なアクセス許可がサービスに付与されます。アクセス許可ポリシーの例については、「セキュリティとアクセス許可」を参照してください。
管理者シークレットはユーザーシークレット (MongoDBAtlasDatabaseUser) とは異なるタイプ (MongoDBAtlasServiceAccount) であるため、 によってスコープされるデフォルトのローテーションロールポリシーsecretsmanager:resource/Typeは管理者シークレットへのアクセスを許可しません。 MongoDBAtlasDatabaseUser MongoDBAtlasServiceAccount タイプにスコープされたステートメントを追加するか、ロールポリシーで管理者シークレット ARN を直接指定して、ローテーションロールに管理者シークレットへのアクセスを明示的に提供する必要があります。
ローテーション中、ドライバーは新しいパスワードを生成し、Atlas Admin API を呼び出してデータベースユーザーのパスワードを更新し、クラスターへの実際の MongoDB 接続を開いて新しいパスワードを検証します。クラスターの認証レイヤーが新しいパスワードを受け入れるまでに、パスワードの更新後 5~10 秒の伝播遅延があることに注意してください。