已分配角色权限,访问Azure Image Analysis Client仍遇PermissionDenied错误
Azure Image Analysis Client权限拒绝问题排查
问题现状
已创建Azure应用并分配Cognitive Services Custom Vision Contributor角色,但调用ImageAnalysisClient时触发权限拒绝错误:
代码示例
tenant_id = tent_id client_id = app_client_id client_secret = secret_value credential = ClientSecretCredential( tenant_id=tenant_id, client_id=client_id, client_secret=client_secret ) end_point = 'https://azureaicomputervision.cognitiveservices.azure.com/' client = ImageAnalysisClient( endpoint=end_point, credential=credential, )
错误信息
azure.core.exceptions.ClientAuthenticationError: (PermissionDenied) Principal does not have access to API/Operation. Code: PermissionDenied Message: Principal does not have access to API/Operation.
核心原因及解决方法
- 角色分配错误:
Cognitive Services Custom Vision Contributor是针对Custom Vision服务的角色,不适用于Image Analysis(属于计算机视觉服务)。需替换为以下角色之一:Cognitive Services Contributor:适用于所有认知服务的通用权限Computer Vision Contributor:针对计算机视觉服务的细粒度权限- 操作路径:Azure门户→目标计算机视觉资源→访问控制(IAM)→添加角色分配→选择对应角色→选中你的应用注册→完成分配
- 等待权限生效:角色分配后通常需要5-15分钟才能同步到系统,不要立即测试
- 验证资源匹配:确认代码中的
end_point与你分配角色的计算机视觉资源端点完全一致,避免跨资源调用 - 检查Credential参数:核对
tenant_id、client_id、client_secret是否为应用注册的正确值,排除拼写错误
内容的提问来源于stack exchange,提问作者Tech_fusion
相关产品推荐
相关产品推荐

