客户端 xxx,对象id为xxx,没有权限在范围上执行动作'Microsoft.Resources/subscriptions/resourcegroups/write'。

8

我正在尝试使用Azure管理SDK动态创建资源组,以下是我的Azure配置详细信息:

subscription=<private-data>
client=<private-data>
key=<private-data>
tenant=<private-data>
managementURI=https://management.core.windows.net/
baseURL=https://management.azure.com/
authURL=https://login.windows.net/
graphURL=https://graph.windows.net/

这是创建资源的代码:

// Credentials
AzureCredentials credentials = new AzureCredentialsFactory()
    .FromFile("azureauth.properties");
string resourceName = GetRandomString();

// Create Azure Instance
var azure = Azure
        .Configure()
        .Authenticate(credentials)
        .WithDefaultSubscription();

// Create a Resource Group
azure.ResourceGroups
        .Define(resourceName)
        .WithRegion(Region.USWest)
        .Create();

我收到的错误信息是:
客户端“ae8bc2ea-9680-4f66-934c-ad40b82c30ac”(对象 ID:“ae8bc2ea-9680-4f66-934c-ad40b82c30ac”)无权在作用域“/subscriptions/e9d61100-a82a-48ca-b6f8-51b06a1eebe6/resourcegroups/5oxjhjic”上执行操作“Microsoft.Resources/subscriptions/resourcegroups/write”。
我已按照https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal上指定的步骤进行操作,同时我正在尝试使用我的全局管理员帐户。

你创建了一个服务主体,你给它什么权限了? - juunas
1个回答

12

显然不能使用全局管理员进行尝试。您需要前往您的订阅并授予对象ID“ae8bc2ea-9680-4f66-934c-ad40b82c30ac”贡献者权限(简单方式),或创建符合您需求的自定义角色(或查找预定义角色)。

您可以使用门户网站或Azure PowerShell完成这个操作:

New-AzRoleAssignment -ObjectId 'ae8bc2ea-9680-4f66-934c-ad40b82c30ac' -Scope '/subscriptions/e9d61100-a82a-48ca-b6f8-51b06a1eebe6' -RoleDefinitionName contributor

等效的 Azure CLI 命令为:

az role assignment create --assignee-object-id ae8bc2ea-9680-4f66-934c-ad40b82c30ac --scope subscriptions/e9d61100-a82a-48ca-b6f8-51b06a1eebe6 --role contributor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接