适用于:所有 API 管理层级
本文介绍在为 Azure API 管理服务添加自定义域时可能会遇到的“无法更新 API 管理服务主机名”错误。 本文提供有助于解决此问题的故障排除步骤。
症状
尝试使用 Azure Key Vault 中的证书为 API 管理服务添加自定义域时,出现以下错误消息:
- 无法更新 API 管理服务主机名。 对资源“https://vaultname.vault.azure.cn/secrets/secretname/?api-version=7.0”的请求失败,出现的 StatusCode 为:已禁止,RequestId:。 异常消息:操作返回了无效的状态代码“已禁止”。
原因
API 管理服务无权访问你尝试用于自定义域的密钥保管库。
解决方案
若要解决此问题,请执行以下步骤:
- 转到 Azure 门户,选择 API 管理实例,然后选择“托管标识”。 确保将“注册到 Microsoft Entra ID”选项设置为“是”。
- 在 Azure 门户中打开“密钥保管库”服务,选择尝试用于自定义域的密钥保管库。
- 选择“访问策略”,检查是否有服务主体与 API 管理服务实例的名称匹配。 如果有,请选择该服务主体,并确保它有“获取”权限列在“机密权限”下。
- 如果 API 管理服务未在列表中,请选择“添加访问策略”,然后创建以下访问策略:
- 从模板配置:无
- 选择主体:搜索 API 管理服务的名称,然后从列表中选择该服务
- 密钥权限:无
- 机密权限:获取
- 证书权限:无
- 选择“确定”以创建访问策略。
- 选择“保存”,保存更改。
检查是否解决了问题。 为此,请尝试使用 Key Vault 证书在 API 管理服务中创建自定义域。
后续步骤
详细了解 API 管理服务:
有关保护后端服务的其他方法,请参阅使用证书进行相互身份验证。