【问题标题】:Assigning Azure service roles as a Service Principal将 Azure 服务角色分配为服务主体
【发布时间】:2022-01-29 01:50:10
【问题描述】:

我创建了一个具有以下访问权限的服务主体:

  • Contributor 订阅角色
  • Global administrator AAD 租户中的角色
  • 同意的 Microsoft Graph API 权限:
    • Group.Read.All
    • User.Read.All

在使用此 SP 进行身份验证时,我正在尝试将 Azure 服务角色分配给 AAD 组。例如:

resource "azurerm_role_assignment" "storage_account_admin" {
  scope                = azurerm_storage_account.my_storage.id
  role_definition_name = "Storage Blob Data Owner"
  principal_id         = data.azuread_group.my_group.object_id
}

尝试应用此功能时,Terraform 会从 Azure 引发授权错误:

对象 ID 为“...”的客户端“...”无权在范围“/subscriptions/...”上执行操作“Microsoft.Authorization/roleAssignments/write”或范围无效。如果最近授予访问权限,请刷新您的凭据。

我可以使用我的用户 Azure 帐户创建此资源,该帐户具有 Owner 角色。我是否需要将我的服务主体提升到Owner——这似乎有点危险——还是有更具体的解决方法?

【问题讨论】:

    标签: azure authentication azure-active-directory terraform


    【解决方案1】:

    您收到此错误的原因是因为Contributor 角色不包括与authorization 相关的权限,例如角色分配。

    要修复此错误,请将Owner 角色分配给您的服务主体或将User Access Administrator 角色添加给服务主体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-28
      • 2022-12-03
      • 2021-06-14
      • 2022-08-19
      • 2017-11-26
      • 2022-01-01
      • 1970-01-01
      • 2020-03-07
      相关资源
      最近更新 更多