对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

Atlas Administration API身份验证方法

重要

我们建议您使用服务帐户而不是API密钥对Atlas 管理 API进行身份验证。API密钥是一种旧版的身份验证方法。

要使用Atlas管理 API管理Atlas集群,您必须对API请求进行身份验证。Atlas Administration API接受以下身份验证方法:

要学习如何使用服务帐户和API密钥来配置对Atlas组织和项目的编程访问权限,请参阅Atlas Administration API 入门指南。

Atlas 管理 API不提供对集群中存储的数据的访问权限。要在数据库中读取或写入数据,您必须使用具有相应读取或写入 角色 的 数据库用户 的凭证,向集群进行身份验证。您可以使用Atlas Administration API创建和管理数据库用户。

注意

Many Atlas Administration API endpoint URLs follow the format of /api/atlas/<version>/groups/<GROUP-ID>/, where <GROUP-ID> is your project ID. For these resources, the service account or API keys that you use to authenticate the request must be a member of the organization that hosts the project. Otherwise, Atlas responds with a 401 error.

以下部分介绍了Atlas Administration API身份验证方法:

Service accounts are the recommended method to manage authentication to the Atlas Administration API. Service accounts provide improved security over API keys by using the industry standard OAuth 2.0 protocol with the Client Credentials flow.

服务帐户允许您管理权限并创建访问令牌,用于对 API 请求进行身份验证。每个服务帐户都有一个客户端 ID 和一个 可轮换的机密,它们充当创建访问令牌的用户名和密码。要了解如何使用访问令牌构建 API 请求,请参阅 发出 API 请求。

提示

服务账户令牌最佳实践

使用服务账户令牌时,请考虑以下最佳实践:

  • 重用令牌:服务账户访问令牌的生命周期为 1 小时(3600 秒),在此期间可以多次重用该令牌。避免为每个请求创建新令牌。

  • 需要时生成新令牌:虽然您无法刷新访问权限令牌,但可以在当前令牌即将过期时生成新令牌。这样可以防止服务中断,并允许您维持授权的服务帐户访问权限。

  • 撤销不必要的令牌:当不再需要令牌时,撤销令牌的访问权限,以最大程度降低安全风险,并确保只有活跃令牌才能访问您的服务账户。

每个服务帐户只属于一个组织,您可以授予该帐户访问权限该组织内任意数量项目的权限。要授予组织级服务帐户对项目的访问权限,请参阅授予现有服务帐户对项目的访问权限。

Atlas 角色 限制服务帐户可以使用其访问令牌进行身份验证的操作。您必须像为用户分配角色一样为服务帐户分配角色,以确保服务帐户生成具有所需API调用所需权限的访问权限令牌。

重要

如果项目级服务账户可以访问组织或其他项目,您必须具有 Organization Owner 角色才能管理其生命周期,包括轮换或撤销其秘密信息。

您无法使用服务帐户或其访问令牌通过 Atlas 用户界面登录 Atlas。服务帐号仅授予对 Atlas 管理 API 的访问权限,不包括用户界面访问权限或对集群数据的访问权限。要学习;了解有关服务帐户限制的更多信息,请参阅MongoDB限制和阈值。

重要

我们建议您使用服务帐户而不是API密钥对Atlas 管理 API进行身份验证。API密钥是一种旧版的身份验证方法。

API密钥是对使用HTTP摘要式身份验证的Atlas Administration API进行身份验证的传统方法。

API密钥分为两部分:公钥和私钥。它们的功能与用户名和密码相同,提供服务验证API请求。要学习如何构建使用API密钥的API请求,请参阅发出API请求。

Atlas使用称为随机数的唯一值对公钥和私钥进行哈希处理。根据HTTP摘要式身份验证规范,此随机数仅在短时间内有效。这种有限的生命周期可以防止重放攻击,即攻击者缓存私钥以不受时间限制地使用它。

每对API密钥仅属于一个组织,并且可以授予该组织中任意数量的项目访问权限。要授予组织级 API 密钥对项目的访问权限,请参阅授予现有服务帐户对项目的访问权限。

Atlas 角色限制API密钥可以执行的操作。您必须像为用户分配角色一样为API密钥分配角色,以确保API密钥具有所需的API调用的必要权限。

您无法使用 Atlas API 密钥通过 Atlas 用户界面登录 Atlas。API 密钥仅授予对 Atlas 管理 API 的访问权限,不包括用户界面访问权限或对集群数据的访问权限。

要学习如何使用和管理服务帐户和API密钥,请参阅以下程序: