无法更新 API 管理服务主机名

本文介绍在为 Azure API 管理服务添加自定义域时可能会遇到的“无法更新 API 管理服务主机名”错误。 本文提供有助于解决此问题的故障排除步骤。

症状

尝试使用 Azure Key Vault 中的证书为 API 管理服务添加自定义域时,出现以下错误消息:

  • 无法更新 API 管理服务主机名。 对资源“https://vaultname.vault.azure.cn/secrets/secretname/?api-version=7.0”的请求失败,出现的 StatusCode 为:已禁止,RequestId:。 异常消息:操作返回了无效的状态代码“已禁止”。

原因

API 管理服务无权访问你尝试用于自定义域的密钥保管库。

解决方案

若要解决此问题,请执行以下步骤:

  1. 转到 Azure 门户,选择 API 管理实例,然后选择“托管标识”。 确保将“注册到 Microsoft Entra ID”选项设置为“是”。 Registering with Azure Active Director
  2. 在 Azure 门户中打开“密钥保管库”服务,选择尝试用于自定义域的密钥保管库。
  3. 选择“访问策略”,检查是否有服务主体与 API 管理服务实例的名称匹配。 如果有,请选择该服务主体,并确保它有“获取”权限列在“机密权限”下。
    Adding access policy for service principal
  4. 如果 API 管理服务未在列表中,请选择“添加访问策略”,然后创建以下访问策略:
    • 从模板配置:无
    • 选择主体:搜索 API 管理服务的名称,然后从列表中选择该服务
    • 密钥权限:无
    • 机密权限:获取
    • 证书权限:无
  5. 选择“确定”以创建访问策略。
  6. 选择“保存”,保存更改。

检查是否解决了问题。 为此,请尝试使用 Key Vault 证书在 API 管理服务中创建自定义域。

后续步骤

详细了解 API 管理服务: