首页 文章

添加写入权限以创建资源组到Azure Active Directory应用程序

提问于
浏览
4

我有一个C#应用程序,它将创建资源组 . 我正在使用ResourceManagementClient来创建资源组(我假设它只是REST API的包装器) . 我正在使用Azure AD应用程序的客户端ID和客户端密钥进行身份验证 .

我收到这个错误:

{“具有对象标识'xxxx'的客户端'xxxx'没有授权在范围'/ subscriptions / xxxx / resourcegroups / test-resource-group'上执行'Microsoft.Resources / subscriptions / resourcegroups / write' . ” }

有没有办法可以在订阅级别将此权限授予Azure AD应用程序?

2 回答

  • 5

    您还可以使用Azure CLI,它允许您自动执行创建服务主体的任务 . 我做了以下(来自here):

    • Install for your platform

    • 运行 az login 以使用您想要的帐户登录Azure

    • 运行 az ad sp create-for-rbac 创建Azure Active Directory应用程序,可以访问当前Azure订阅的Azure Resource Manager

    • 您可以使用以下命令获取创建服务主体的订阅ID: az account list --query "[?isDefault].id" -o tsv

    I wrote this code in a gist for macOS here

  • 0

    配置它的步骤是:

    • 在Azure AD中注册应用程序(听起来您已经这样做了)

    • 为您的应用程序创建相应的服务主体(这可能是您注册申请时自动完成的,也可能没有 - 这取决于您用于注册的方法)

    • 为订阅分配服务主体RBAC访问权限 .

    这些步骤详细描述here .

    我相信您需要为您的服务主体分配Contributor角色以启用资源组创建 .

相关问题