Microsoft Azure身份验证错误

时间:2017-06-23 08:01:42

标签: python python-3.x azure autoscaling

我正在学习Microsoft Azure并使用python3。我收到了以下错误代码:

C:\Python\python.exe D:/Phyton/Restapi/a.py
Cannot find resource group sgelastic. Check connection/authorization.
{
  "error": {
    "code": "AuthorizationFailed",
    "message": "The client '22273c48-3d9d-4f31-9316-210135595353' with object id '22273c48-3d9d-4f31-9316-210135595353' does not have authorization to perform action 'Microsoft.Resources/subscriptions/resourceGroups/read' over scope '/subscriptions/0f3e0eec-****-****-b9f9-************resourceGroups/sgelastic'."
  }
}

Process finished with exit code 0

该怎么办?我应该创建新的订阅或其他什么? 谢谢。

2 个答案:

答案 0 :(得分:1)

您使用的凭据没有读取资源组“sgelastic”的必要权限。 您可以根据需要为这些凭据添加“贡献者”角色,或者为此特定资源组添加更精确的权限。

您应该在Azure上阅读有关RBAC的文档,目前有: https://docs.microsoft.com/azure/active-directory/role-based-access-control-what-is

可用操作列表(以及拥有它的内置角色的名称)如下: https://docs.microsoft.com/azure/active-directory/role-based-access-built-in-roles

答案 1 :(得分:0)

正如@Laurent Mazuel所说,尝试按照下图中的步骤添加必要的权限。

enter image description here

  1. 单击Azure门户上的Subscription选项卡。
  2. 选择相关资源组的订阅。
  3. 转到Access control (IAM)标签。
  4. 点击+ Add按钮。
  5. Contributor对话框中选择Add permission之类的角色。
  6. 搜索您的用户或应用程序的名称,然后选择您在搜索结果列表中使用的名称。
  7. 保存。
  8. 或者您可以使用Azure CLI 2.0创建服务主体来执行此操作。

    az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName"
    

    希望它有所帮助。