Azure AD 组 - Authorization_RequestDenied - 权限不足,无法完成操作

Azure AD Group- Authorization_RequestDenied - Insufficient privileges to complete the operation

我正在尝试通过 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 -> Select 组织 -> Select 项目 terraform-azure-aks

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

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

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

• 单击查看 API 权限

• 点击添加权限

• Select API:Microsoft APIs

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

• 单击应用程序权限

• 勾选 Directory.ReadWrite.All 并点击添加权限

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

但我收到以下错误:

Error: Creating group "xxxxxxxxxx-administrators" │ │ with azuread_group.aks_administrators, │ on 06-aks-administrators-azure-ad.tf line 2, in resource "azuread_group" "aks_administrators": │ 2: resource "azuread_group" "aks_administrators" { │ │ graphrbac.GroupsClient#Create: Failure responding to request: │ StatusCode=403 -- Original Error: autorest/azure: Service returned an │ error. Status=403 Code="Unknown" Message="Unknown service error" │ Details=[{"odata.error":{"code":"Authorization_RequestDenied","date":"2022-01-25T04:06:31","message":{"lang":"en","value":"Insufficient │ privileges to complete the │ operation."}}}]

请检查 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
}