本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
MongoDB Atlas 服务账户凭证
秘密值字段
以下是密钥管理器密钥中必须包含的字段:
{
"clientId": "service account OAuth client ID",
"clientSecret": "service account OAuth client secret",
"orgId": "Atlas Organization ID"
}
- clientId
-
MongoDB Atlas 服务账户 OAuth 客户端 ID。这必须以一个 24 个
mdb_sa_id_字符的十六进制字符串开头。 - ClientSecret
-
用于身份验证的 MongoDB Atlas 服务账户 OAuth 客户端密钥。
- orgID
-
24 个字符的十六进制 Atlas 组织 ID。你可以在你的 Atlas 组织设置中找到这个。
机密元数据字段
以下是 MongoDB Atlas 服务账户的元数据字段:
{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:MongoDBAtlasServiceAccount", "apiVersion": "2025-03-12" }
- 管理员 SecretArn
-
(可选)密钥的亚马逊资源名称 (ARN),该密钥包含用于轮换此服务账户密钥的管理服务账户 OAuth 证书。管理员密钥应在密钥结构中包含
clientId和clientSecret值。如果省略,服务帐号将使用自己的证书进行自我轮换。 - apiVersion
-
(可选)
yyyy-mm-dd格式为 Atlas 管理员 API 的版本日期。此值在Accept标题中用作application/vnd.atlas.{apiVersion}+json。如果未指定,则默认为2025-03-12。
使用流程
轮换支持两种身份验证模式。在自轮换模式(默认)下,服务帐号使用自己的证书来创建和删除其密钥。这要求服务帐号拥有管理自己的密钥的权限。在管理员辅助轮换模式下,使用存储在另一个密钥中的单独管理员服务帐户凭据。当服务帐号缺乏自我管理权限时,这是必需的。
您可以使用CreateSecret调用来创建您的密钥,其密钥值包含上述字段,密钥类型为 MongoDBAtlasServiceAccount。可以使用RotateSecret呼叫来设置轮换配置。如果您选择自旋转,则可以省略可选adminSecretArn字段。您必须在RotateSecret调用中提供一个角色 ARN,向该服务授予轮换密钥所需的权限。有关权限策略的示例,请参阅安全和权限。
对于选择使用一组单独的证书(存储在管理员密钥中)轮换密钥的客户,请在 AWS Secrets Manager 包含管理员服务帐号clientId和clientSecret的管理员密钥中创建。在RotateSecret调用服务帐号密钥时,必须在轮换元数据中提供此管理员密钥的 ARN。
在轮换期间,驱动程序通过 Atlas Admin API 为服务帐号创建新密钥,通过生成 OAuth 令牌来验证新密钥,使用新凭据更新密钥,并删除旧密钥。