开始使用 Atlas Administration API
在此页面上
重要
每个 Atlas Administration API 都有自己的资源,并且需要初始设置。
您只能通过公共互联网访问 Atlas Administration API 服务器。 Atlas Administration API 不适用于使用网络对等互连或私有端点的连接。
要了解更多信息,请参阅 Atlas 编程访问权限。
Atlas Administration API 遵循 REST 架构风格的原则,以开放大量内部资源,从而能够以编程方式访问 Atlas 的功能。要了解更多信息,请参阅 Atlas Administration API 参考文档。
授予 Atlas 的编程访问权限
若要仅使用 API 向组织或项目授予程序访问权限,请创建一个 API 密钥。
API 密钥分为两部分:公钥和私钥。当您向 Atlas 请求 API 时,这两个部分与用户名和个人 API 密钥的功能相同。
您无法使用 API 密钥通过用户界面登录 Atlas。
你必须向 API 密钥授予角色,就像为用户授予角色一样,以确保 API 密钥可以毫无错误地调用 API 端点。
所有 API 密钥都属于相关组织。可以为项目授予 API 密钥访问权限。要将新的 API 密钥添加到项目, 请邀请组织 API 密钥加入项目。
每个 API 密钥仅属于一个组织,但您可以授予 API 密钥访问权限,以访问该组织中任意数量的项目。
需要所有资源:生成组织 API 密钥
要访问 Atlas Administration API,请在组织中创建 API 密钥。
所有 API 密钥都属于相关组织。可以为项目授予 API 密钥访问权限。要将新的 API 密钥添加到项目,请邀请组织 API 密钥加入项目。
要了解有关管理组织或项目的 API 密钥的更多信息,请参阅授予 Atlas 编程访问权限。有关用法详情,请参阅发送 API 请求。
可选:需要针对 Atlas Administration API 的 IP 访问列表
Atlas 允许 Atlas Administration API 密钥从互联网上的任意地址发送请求,除非需要针对 Atlas Administration API 的 IP 访问列表。如果需要 IP 访问列表,API 密钥则只能从您在 IP 访问列表中指定的基于位置的 IP 或 CIDR 地址发送 API 请求。
每个 API 密钥都有自己的 IP 访问列表。如果需要为所有 Atlas 管理 API 请求设置 IP 访问列表,则必须为 API 密钥定义至少一个 IP 访问列表条目,然后才能使用 API 密钥。
使用 Atlas 用户界面创建新组织时,Atlas 默认启用 API 访问列表要求。要在创建组织时禁用 IP 访问列表要求,请将 Require IP Access List for the Atlas Administration API 切换为 OFF。
要将您的组织设置为在创建组织后要求为每个 Atlas Administration API 密钥提供 IP 访问列表,请执行以下步骤:
在 Atlas 中,转到Organization Settings 页面。
如果尚未显示,请从导航栏中的Organizations菜单。
单击 Organizations 菜单旁边的 Organization Settings 图标。
显示“组织设置”页面。
要求为所有请求设置 API 访问列表
可以要求来自 API 密钥的所有 API 请求都来自其 API 访问列表中的条目。如果需要 API 访问列表,则在定义至少一个 API 访问列表条目之前,API 密钥无法发出任何 API 请求。
步骤
要设立您的组织以要求每个 API 密钥都有 API 访问列表,请执行以下操作:
在 Atlas 中,转到Organization Settings 页面。
如果尚未显示,请从导航栏中的Organizations菜单。
单击 Organizations 菜单旁边的 Organization Settings 图标。
显示“组织设置”页面。
为组织授予编程访问权限
使用以下过程向组织授予编程访问权限。要了解详情,请参阅管理对组织的编程访问。
必需的访问权限
要执行以下动作,您必须拥有 Atlas 的 Organization Owner
访问权限。
在组织中创建 API 密钥
创建 API 密钥
要使用 Atlas CLI 在组织中创建 API 密钥,请运行以下命令:
atlas organizations apiKeys create [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas organizations apiKeys create。
为 API 密钥添加 API 访问列表条目
要使用 Atlas CLI 创建 API 密钥的 IP 访问列表条目,请运行以下命令:
atlas organizations apiKeys accessLists create [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas organizations apiKeys accessLists create。
授予对项目的编程访问权限
使用以下过程授予对项目的编程访问权限。如要了解更多信息,请参阅管理项目的编程访问权限。
必需的访问权限
要执行以下任何操作,您必须拥有对项目的 Project Owner
访问权限。
邀请组织 API 密钥加入项目
要使用 Atlas CLI 将 API 密钥分配给项目,请运行以下命令:
atlas projects apiKeys assign <ID> [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas项目 apiKeys 分配的 Atlas CLI 文档。
要使用 Atlas 用户界面邀请组织API密钥加入项目,请执行以下操作:
在 Atlas 中,转到Project Access Manager 页面。
如果尚未显示,请从导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
执行以下步骤之一:
从导航栏的Access Manager菜单中选择Project Access 。
在Projects菜单旁边,展开Options菜单,单击Project Settings ,然后单击侧边栏中的Access Manager 。
显示“项目访问管理器”页面。
将 API 密钥添加到项目中。
单击 Invite to Project(连接)。
在字段中键入公钥。
在Project Permissions 菜单中,为 API 密钥选择一个 或多个新角色 。
为项目创建 API 密钥
要使用 Atlas CLI 创建项目的 API 密钥,请运行以下命令:
atlas projects apiKeys create [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas projects apiKeys create。
为项目创建 API 密钥后,使用 Atlas 用户界面添加 API 访问列表条目。在设置 API 访问列表之前,您不能将 API 密钥用于项目。
注意
Atlas CLI 限制
您无法使用 Atlas CLI 编辑项目 API 密钥的 API 访问列表。
要使用 Atlas 用户界面添加API访问列表条目,请执行以下操作:
要使用 Atlas 用户界面为项目创建API密钥,请执行以下操作:
在 Atlas 中,转到Project Access Manager 页面。
如果尚未显示,请从导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
执行以下步骤之一:
从导航栏的Access Manager菜单中选择Project Access 。
在Projects菜单旁边,展开Options菜单,单击Project Settings ,然后单击侧边栏中的Access Manager 。
显示“项目访问管理器”页面。
输入API Key Information 。
在 Create API Key 页面中:
输入一个 Description。
在Project Permissions 菜单中,为 API 密钥选择一个 或多个新角色 。
发出 API 请求
Atlas Administration API 使用HTTP 摘要式身份验证来对请求进行身份验证。在构建HTTP请求时,您必须提供编程API公钥和相应的私钥作为用户名和密码。要了解如何为 Atlas 项目配置API访问权限,请参阅授予对 Atlas 的编程访问权限。
所有 Atlas Administration API 端点均有以下基本 URL:
https://cloud.mongodb.com/api/atlas/<version>
API 请求示例
您的请求应类似于以下示例,其中{PUBLIC-KEY}
是您的 API 公钥,{PRIVATE-KEY}
是相应的私钥。要通过 Atlas Administration API 探索可用端点,您可以使用 MongoDB 的 Postman 工作区。
以下示例GET
请求将返回组织中的所有项目:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" \ --header "Accept: application/vnd.atlas.2023-02-01+json" \ --include \ --request GET "https://cloud.mongodb.com/api/atlas/v2/groups"
以下示例 POST
请求采用请求正文并在您的组织中创建一个名为 MyProject
的项目:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" \ --header "Accept: application/vnd.atlas.2023-02-01+json" \ --include \ --request POST "https://cloud.mongodb.com/api/atlas/v2/groups" \ --data ' { "name": "MyProject", "orgId": "5a0a1e7e0f2912c554080adc" }'
或者,您可以使用任何支持 OpenAPI v3 规范 的工具来生成代码示例或模拟服务器。例如,可以将 Atlas Admin API 规范导入 Postman,生成 curl
命令。要使用 Postman 生成 curl
命令:
在 MongoDB Atlas Administration API 文档 中,右键单击“ 下载 ”按钮并复制链接。
后续步骤
要了解有关 Atlas Administration API 的更多信息,请参阅 Atlas Administration API 参考资料。
要管理对 Atlas Administration API 的编程访问,请参阅以下任一过程: