View a markdown version of this page

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

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

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

apiVersion

(可选)yyyy-mm-dd格式为 Atlas 管理员 API 的版本日期。此值在Accept标题中用作application/vnd.atlas.{apiVersion}+json。如果未指定,则默认为 2025-03-12

使用流程

轮换支持两种身份验证模式。在自轮换模式(默认)下,服务帐号使用自己的证书来创建和删除其密钥。这要求服务帐号拥有管理自己的密钥的权限。在管理员辅助轮换模式下,使用存储在另一个密钥中的单独管理员服务帐户凭据。当服务帐号缺乏自我管理权限时,这是必需的。

您可以使用CreateSecret调用来创建您的密钥,其密钥值包含上述字段,密钥类型为 MongoDBAtlasServiceAccount。可以使用RotateSecret呼叫来设置轮换配置。如果您选择自旋转,则可以省略可选adminSecretArn字段。您必须在RotateSecret调用中提供一个角色 ARN,向该服务授予轮换密钥所需的权限。有关权限策略的示例,请参阅安全和权限

对于选择使用一组单独的证书(存储在管理员密钥中)轮换密钥的客户,请在 AWS Secrets Manager 包含管理员服务帐号clientIdclientSecret的管理员密钥中创建。在RotateSecret调用服务帐号密钥时,必须在轮换元数据中提供此管理员密钥的 ARN。

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