使用Python获取Azure容器注册表仓库列表时认证失败求助
解决Azure容器注册表(ACR)认证错误的建议
检查服务主体权限
确保Client ID对应的服务主体被赋予ACR的合适角色权限,仅列出仓库的话AcrPull角色足够。操作路径:Azure门户找到目标ACR → 访问控制(IAM)→ 添加角色分配 → 选择AcrPull角色 → 搜索并选中你的服务主体 → 完成分配。核对凭证准确性
确认app_id、secret、tenantid无拼写错误,包括大小写、特殊字符。同时检查客户端密钥是否过期:Azure门户→应用注册→目标应用→证书和密码,查看密钥有效期。修正ACR端点格式
当前代码的endpoint缺少https://前缀,会导致认证请求格式错误。修改客户端初始化代码:client = ContainerRegistryClient( endpoint=f"https://{registry_name}.azurecr.io", credential=credential )排查网络访问限制
若ACR配置了防火墙或虚拟网络规则,确认运行代码的机器IP在允许访问列表中。可临时关闭网络限制测试,或在Azure门户→ACR→网络→防火墙和虚拟网络中添加当前机器IP。确认租户一致性
确保服务主体所在租户ID与ACR所在租户ID一致,跨租户访问需额外配置信任关系。
内容的提问来源于stack exchange,提问作者Donnie ef soel
相关产品推荐
相关产品推荐

