本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
MongoDB Atlas 資料庫使用者
秘密值欄位
以下是必須包含在 Secrets Manager 秘密中的欄位:
{
"username": "database username",
"password": "database password",
"clusterUrl": "cluster hostname",
"databaseName": "authentication database",
"groupId": "Atlas Project ID"
}
- 使用者名稱
-
MongoDB 資料庫使用者名稱 (SCRAM 驗證)。此使用者必須在 MongoDB Atlas 中設定以接受 SCRAM 身分驗證。
- password
-
MongoDB Atlas 資料庫使用者的目前密碼。
- clusterUrl
-
MongoDB Atlas 叢集主機名稱,例如
cluster0.abc123.mongodb.net。請勿包含mongodb+srv://前綴。這用於在輪換期間驗證新密碼。 - databaseName
-
存放使用者登入資料的身分驗證資料庫。通常
admin適用於 SCRAM 使用者或$externalX.509/LDAP。 - groupId
-
24 個字元的十六進位 Atlas 專案 ID (也稱為群組 ID)。您可以在 Atlas 專案設定中找到此項目。
秘密中繼資料欄位
以下是 MongoDB Atlas 資料庫使用者的中繼資料欄位:
{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:MongoDBAtlasServiceAccount", "apiVersion": "2025-03-12" }
- adminSecretArn
-
秘密的 Amazon Resource Name (ARN),其中包含具有專案資料庫存取管理員許可的 Atlas 服務帳戶 OAuth 登入資料 (類型:MongoDBAtlasServiceAccount)。此管理員秘密用於向 Atlas Admin API 驗證密碼更新。
- apiVersion
-
(選用)
yyyy-mm-dd格式的 Atlas Admin API 版本日期。此值在Accept標頭中用作application/vnd.atlas.{apiVersion}+json。如果未指定,則預設為2025-03-12。
用量流程
此輪換類型使用兩個秘密架構。需要包含 Atlas 服務帳戶 OAuth 登入資料 (clientId、clientSecret、serviceAccountId) 的管理員秘密,才能向 Atlas Admin API 進行身分驗證。管理員秘密應該是 MongoDBAtlasServiceAccount 類型。
您可以使用 CreateSecret 呼叫建立秘密,其中秘密值包含上述欄位,且秘密類型為 MongoDBAtlasDatabaseUser。您可以使用 RotateSecret 呼叫來設定輪換組態。您必須在輪換中繼資料adminSecretArn中提供 。您還必須在 RotateSecret 呼叫中提供角色 ARN,授予服務輪換秘密所需的許可。如需許可政策的範例,請參閱 安全與許可。
由於管理員秘密的類型 (MongoDBAtlasServiceAccount) 與使用者秘密 (MongoDBAtlasDatabaseUser) 不同,因此 範圍的預設輪換角色政策secretsmanager:resource/Type不會授予管理員秘密的存取權。您必須透過新增範圍為 MongoDBAtlasServiceAccount 類型的陳述式,或直接在角色政策中指定管理員秘密 ARN,明確提供管理員秘密的輪換角色存取權。
在輪換期間,驅動程式會產生新密碼、呼叫 Atlas Admin API 來更新資料庫使用者的密碼,並透過開啟與叢集的真實 MongoDB 連線來驗證新密碼。請注意,在密碼更新後有 5-10 秒的傳播延遲,叢集的身分驗證層才會接受新密碼。