本文介绍了如何集成 Amazon API 网关,以使网关的 API 在你的 API 中心清单中始终保持最新状态。
关于集成 Amazon API 网关
将 Amazon API 网关集成为你的 API 中心的 API 源,可以实现连续同步,从而使 API 清单保持最新状态。 Azure API 中心还可以从包括 Azure API 管理在内的源同步 API。
当你将 Amazon API 网关集成为 API 源时,会发生以下情况:
- API 网关中的 API(以及可选的 API 定义(规范))会添加到 API 中心清单中。
- 你在 API 中心中配置一个类型为“Amazon API 网关”的环境。
- 为每个同步的 API 定义创建关联的部署。
同步是从 Amazon API 网关到你的 Azure API 中心的单向同步,这意味着 API 中心中的 API 更新不会同步回 Amazon API 网关。
注意
- Amazon API 网关的集成目前处于预览阶段。
- 集成 API 源的数量有限制。
- Amazon API 网关中的 API 每小时与你的 API 中心同步一次。 仅同步 REST API。
- 如果你在集成期间选择了包含 API 定义的选项,那么 API 定义也会同步到 API 中心。 只有已部署 API 的定义才会同步。
从 Amazon API 网关同步的实体
你可以在 API 中心中为同步的 API 添加或更新元数据属性和文档,以帮助利益干系人发现、了解和使用这些 API。 详细了解 Azure API 中心的内置和自定义元数据属性。
下表显示了可以在 Azure API 中心中修改的实体属性,以及根据 API 源中的值设置的属性。
实体 | 可在 API 中心配置的属性 | 在集成 API 源中确定的属性 |
---|---|---|
API(应用程序编程接口) | 摘要 生命周期阶段 服务条款 许可证 外部文档 customProperties |
title 描述 kind |
API 版本 | 生命周期阶段 | title 定义(如果已同步) |
环境 | title 描述 kind server.managementPortalUri 加入 customProperties |
服务器.类型 |
部署 | title 描述 服务器 州 customProperties |
server.runtimeUri |
注意
同步到 Azure API 中心的实体的资源 ID 和系统 ID 是自动生成的,无法更改。
先决条件
Azure 订阅中的 API 中心。 如果尚未创建 API 中心,请参阅快速入门:创建 API 中心。
Azure 密钥保管库。 如果需要创建密钥保管库,请参阅快速入门:使用 Azure 门户创建密钥保管库。 要在密钥保管库中添加或管理机密,至少需要“密钥保管库机密管理员”角色或等效权限。
对于 Azure CLI:
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅 使用 Azure CLI 向 Azure 进行身份验证。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展的详细信息,请参阅 使用和管理 Azure CLI 中的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
注意
az apic
命令需要 Azure CLI 扩展apic-extension
。 如果尚未使用az apic
命令,则可以在运行第一个az apic
命令时动态安装扩展,也可以手动安装扩展。 详细了解 Azure CLI 扩展。请参阅最新更改的发行说明和
apic-extension
中的更新。 某些功能可能需要预览版或特定版本的扩展。注意
本文中的 Azure CLI 命令示例可以在 PowerShell 或 bash shell 中运行。 由于不同的变量语法,需要为两个 shell 提供单独的命令示例。
创建 IAM 用户访问密钥
要对 Amazon API 网关进行 API 中心的身份验证,你需要 AWS IAM 用户的访问密钥。
要使用 AWS 管理控制台生成所需的访问密钥 ID 和机密密钥,请参阅 AWS 文档中的为自己创建访问密钥。
将访问密钥保存在安全的位置。 你将在后续步骤中将它们存储在 Azure Key Vault 中。
注意
访问密钥是长期凭据,应像管理密码一样妥善保管它们。 详细了解如何保护访问密钥
在 Azure Key Vault 中存储 IAM 用户访问密钥
使用下表中推荐的配置,手动上传并安全地将两个 IAM 用户访问密钥存储在 Azure Key Vault 中。 有关详细信息,请参阅快速入门:使用 Azure 门户在 Azure Key Vault 中设置和检索机密。
AWS 机密 | 上传选项 | 名称 | 密码值 |
---|---|---|---|
访问密钥 | 手动 | aws-access-key | 从 AWS 检索到的访问密钥 ID |
机密访问密钥 | 手动 | aws-secret-access-key | 从 AWS 检索到的机密访问密钥 |
记下每个机密的机密标识符,它是一个类似于 的 URI。https://<key-vault-name>.vault.azure.net/secrets/<secret-name>
后续步骤中将使用这些标识符。
在 API 中心中启用托管标识
对于此场景,你的 API 中心使用托管标识来访问 Azure 资源。 根据你的需要,启用一个系统分配的托管标识或一个或多个用户分配的托管标识。
下面的示例展示了如何使用 Azure 门户或 Azure CLI 启用系统分配的托管标识。 概括而言,配置步骤与用户分配的托管标识类似。
为托管标识分配“密钥保管库机密用户”角色
如果要允许导入 API,可在你的 Azure Key Vault 中为你的 API 中心的托管标识分配“密钥保管库机密用户”角色。 可以使用门户或 Azure CLI。
- 在门户中导航到你的密钥保管库。
- 在左侧菜单中,选择“访问控制(IAM)”。
- 选择“+ 添加角色分配”。
- 在“添加角色分配”页面上,按如下所示设置值:
- 在“角色”选项卡上,选择“密钥保管库机密用户”。
- 在“成员”页上的“访问权限分配对象”中,选择“托管标识”>“+ 选择成员”。
- 在“选择托管标识”页上,选择你在上一部分中添加的 API 中心的系统分配托管标识。 单击“选择”。
- 选择“查看 + 分配”。
集成 Amazon API 网关
可以使用门户或 Azure CLI 集成 Amazon API 网关。
- 在门户中,导航到你的 API 中心。
- 在 “平台”下,选择 “集成”。
- 从 Amazon API 网关选择“+ 新建集成>”。
- 在 “集成 Amazon API 网关服务 ”页中:
- 对于 AWS 访问密钥 和 AWS 机密访问密钥,请单击 “选择” 并选择存储的订阅、密钥保管库和机密。
- 选择部署 Amazon API 网关的 AWS 区域 。
- 在 集成详细信息中,输入标识符。
- 在“环境详细信息”中,输入“环境标题”(名称)、“环境类型”和“说明”(可选)。
- 在“API 详细信息”中:
- 为同步的 API 选择“生命周期”。 (将 API 添加到 API 中心后,可以更新 API 的该值。)
- (可选)选择是否使用同步的 API 包含 API 定义。
- 选择 创建。
该环境已添加到 API 中心。 Amazon API 网关 API 被导入到 API 中心清单中。
删除集成
在集成 API 源期间,你无法从 API 中心删除已同步的 API。 可以根据需要删除集成。 删除集成时:
- API 中心清单中同步的 API 会被删除
- 与 API 源关联的环境和部署会被删除
可以使用门户或 Azure CLI 删除集成。