

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# MongoDB Atlas 資料庫使用者
<a name="mes-partner-MongoDBAtlasDatabaseUser"></a>

## 秘密值欄位
<a name="w2aac25c11c21b3"></a>

以下是必須包含在 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 使用者或 `$external` X.509/LDAP。

groupId  
24 個字元的十六進位 Atlas 專案 ID （也稱為群組 ID)。您可以在 Atlas 專案設定中找到此項目。

## 秘密中繼資料欄位
<a name="w2aac25c11c21b5"></a>

以下是 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`。

## 用量流程
<a name="w2aac25c11c21b7"></a>

此輪換類型使用兩個秘密架構。需要包含 Atlas 服務帳戶 OAuth 登入資料 (`clientId`、`clientSecret`、`serviceAccountId`) 的管理員秘密，才能驗證 Atlas Admin API。管理員秘密應該是 MongoDBAtlasServiceAccount 類型。

您可以使用 [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) 呼叫建立秘密，其中秘密值包含上述欄位，且秘密類型為 MongoDBAtlasDatabaseUser。您可以使用 [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)。

由於管理員秘密的類型 (MongoDBAtlasServiceAccount) 與使用者秘密 (MongoDBAtlasDatabaseUser) 不同，因此 範圍的預設輪換角色政策`secretsmanager:resource/Type`不會授予管理員秘密的存取權。您必須透過新增範圍為 MongoDBAtlasServiceAccount 類型的陳述式，或直接在角色政策中指定管理員秘密 ARN，明確提供管理員秘密的輪換角色存取權。

在輪換期間，驅動程式會產生新密碼、呼叫 Atlas Admin API 來更新資料庫使用者的密碼，並透過開啟與叢集的真實 MongoDB 連線來驗證新密碼。請注意，在密碼更新後有 5-10 秒的傳播延遲，叢集的身分驗證層才會接受新密碼。