【问题标题】:Azure AD Group- Authorization_RequestDenied - Insufficient privileges to complete the operationAzure AD 组 - Authorization_RequestDenied - 权限不足,无法完成操作
【发布时间】:2022-01-26 16:28:17
【问题描述】:

我正在尝试通过 Azure DevOps 使用以下 terraform 代码创建 Azure AD 组。

# Create Azure AD Group in Active Directory for AKS Admins
resource "azuread_group" "aks_administrators" {
  #name        = "${azurerm_resource_group.aks_rg.name}-administrators"
  display_name        = "${azurerm_resource_group.aks_rg.name}-${var.environment}-administrators"
  description = "Azure AKS Kubernetes administrators for the ${azurerm_resource_group.aks_rg.name}-${var.environment} cluster."
  security_enabled = true
}

我已按照这些步骤提供通过 Azure DevOps ARM 服务连接(服务原则)创建 Azure AD 组的权限。

• 为上一步中创建的服务连接提供权限以创建 Azure AD 组

• 转到 -> Azure DevOps -> 选择组织 -> 选择项目 terraform-azure-aks

• 转到项目设置 -> 管道 -> 服务连接

• 打开 terraform-aks-azurerm-svc-con

• 单击管理服务主体,将打开新选项卡

• 点击查看 API 权限

• 点击添加权限

• 选择 API:Microsoft API

• 常用 Microsoft API:支持的旧版 API:Azure Active Directory Graph-DEPRECATING 使用 Microsoft Graph

• 单击应用程序权限

• 检查 Directory.ReadWrite.All 并单击添加权限

• 单击授予默认目录的管理员同意

但我收到以下错误:

错误:创建组“xxxxxxxxxx-administrators” │ │ 与 azuread_group.aks_administrators, │ 在 06-aks-administrators-azure-ad.tf 第 2 行,在资源“azuread_group”“aks_administrators”中: │ 2:资源“azuread_group”“aks_administrators”{ │ │ graphrbac.GroupsClient#Create:响应请求失败: │ StatusCode=403 -- Original Error: autorest/azure: Service returned an │ 错误。状态=403 代码="未知" 消息="未知服务错误" │ Details=[{"odata.error":{"code":"Authorization_RequestDenied","date":"2022-01-25T04:06:31","message":{"lang":"en","值":"不足 │ 权限完成 │ 操作。"}}}]

【问题讨论】:

    标签: azure azure-devops azure-active-directory terraform-provider-azure


    【解决方案1】:

    请检查 Microsoft Graph 权限 Directory.ReadWrite.All 是否已提供给服务连接并已获得管理员同意.

    我在我向我的服务主体授予权限但未授予管理员同意的环境中进行了相同的测试,如下所示:

    在部署以下代码时,它给了我错误:

    provider "azuread" {}
    # Create Azure AD Group in Active Directory for AKS Admins
    resource "azuread_group" "aks_administrators" {
      #name        = "ans-aks-administrators"
      display_name        = "ans-aks-test-administrators"
      description = "Azure AKS Kubernetes administrators for the ans-aks-test cluster."
      security_enabled = true
    }
    

    在授予权限管理员同意后,它得到解决:


    如果问题仍然存在,请为服务连​​接服务主体添加一个新密钥并使用以下代码:

    provider "azuread" {
    client_id = "ClientID of the service principal"
    client_secret = "ClientSecret"
    tenant_id = "<TenantID>"
    }
    
    # Create Azure AD Group in Active Directory for AKS Admins
    resource "azuread_group" "aks_administrators" {
      #name        = "ans-aks-administrators"
      display_name        = "ans-aks-test-administrators"
      description = "Azure AKS Kubernetes administrators for the ans-aks-test cluster."
      security_enabled = true
    }
    

    【讨论】:

    • AnsumanBal,我仍然遇到同样的错误。
    • @Pradeep ,能否请您提供您提供的服务连接及其api权限的屏幕截图
    • 当我们无法通过该工作流程更改权限时该怎么办?我是我的订阅的所有者,但我上面有一个父组。 “授予管理员同意”显示为灰色,我无法编辑 MS Graph API 权限。我有哪些选择?我的上级组织如何配置我的订阅,所以这不是问题? “主人”不是我能到的高度吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多