View a markdown version of this page

MongoDB Atlas 服务账户凭证 - AWS Secrets Manager

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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 证书。管理员密钥应在密钥结构中包含clientIdclientSecret值。如果省略,服务帐号将使用自己的凭据进行自我轮换。

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 包含管理员服务帐户clientIdclientSecret的中创建管理员密钥。在RotateSecret调用您的服务账户密钥时,您必须在轮换元数据中提供此管理密钥的 ARN。

轮换期间,驱动程序通过 Atlas Admin API 为服务帐号创建新密钥,通过生成 OAuth 令牌来验证新密钥,使用新凭据更新密钥,然后删除旧密钥。