Azure APIM使用用户分配托管身份拉取KeyVault证书配置自定义域名异常
遗漏的配置项排查清单
- 未在APIM自定义域名配置中显式指定使用的用户分配托管身份(UAI)
Azure APIM默认优先使用系统分配托管身份访问KeyVault拉取证书,即使你已经绑定了UAI,也需要在添加自定义域名的证书配置环节,手动选择你绑定的UAI作为身份验证凭据,否则后台会用不存在的系统分配身份发起请求,自然触发权限报错。 - KeyVault权限模型不匹配
如果你当前KeyVault使用的是Azure RBAC 权限模型而非传统访问策略模型,之前配置的访问策略不会生效,需要给UAI授予Key Vault 证书用户、Key Vault 机密用户两个数据平面RBAC角色,仅配置Reader角色(控制平面权限)不足以读取证书内容。 - KeyVault防火墙未放行APIM访问
你使用的是内部VNet部署的APIM,如果KeyVault开启了网络限制,需要完成以下任意一项配置:- 将APIM所在VNet子网加入KeyVault的虚拟网络允许列表
- 开启KeyVault的
允许受信任的Azure服务绕过防火墙配置
- 身份绑定同步未完成
APIM绑定UAI后存在最长5分钟的身份同步延迟,绑定完成后立即操作会出现身份未识别的权限报错。
操作修正方案
不要点击门户弹出的权限授予按钮,该按钮仅支持为系统分配托管身份赋权,你未开启系统分配托管身份时点击必然报错。手动配置完成上述遗漏项后,重新添加自定义域名即可。
内容的提问来源于stack exchange,提问作者djflocko
相关产品推荐
相关产品推荐

