无法使用Azure DevOps + Terraform创建Azure AD应用程序

问题描述 投票:1回答:1

我正在尝试使用terraform和Azure DevOps管道创建Azure AD应用程序,但是我收到以下错误:

1 error(s) occurred:

* module.cluster.module.cluster.azuread_application.cluster: 1 error(s) occurred:

* azuread_application.cluster: graphrbac.ApplicationsClient#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":"2019-02-19T23:22:23","message":{"lang":"en","value":"Insufficient privileges to complete the operation."},"requestId":"<SOME GUID>"}}]

我很确定这是因为管道的服务主体在我们的Azure AD中没有适当的权限。

这是违规的Terraform代码:

resource "azuread_application" "cluster" {
  name = "some-application"
}

resource "azuread_service_principal" "cluster" {
  application_id = "${azuread_application.cluster.application_id}"
}

以下是Terraform Step的样子(我正在使用服务连接来提供服务主体)。

Terraform Step

要配置服务主体,我为服务连接选择“管理服务主体”。

Service Connection

然后,我已经为Microsoft Graph和Windows Azure Active Directory提供了所有“必需的权限”。我不认为我需要Microsoft Graph,但是因为Windows AAD无法正常工作。

Service Principal Configuration

azure-devops terraform-provider-azure
1个回答
3
投票

根据错误信息,它表明您无权这样做。

我按照terraform qazxsw poi,我们需要分配对应于应用程序的权限。

注意:如果您使用服务主体进行身份验证,则它必须具有读取和写入所有应用程序的权限,并且必须具有Windows Azure Active Directory API中的登录和读取用户配置文件的权限

在测试期间,我将以下权限分配给Azure Active Directory,有关详细信息,请参阅屏幕截图。

guide document

注意:请不要忘记单击授予权限

测试结果:

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.