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