代码之家  ›  专栏  ›  技术社区  ›  randomsolutions

无法使用azure devops+terraform创建azure ad应用程序

  •  1
  • randomsolutions  · 技术社区  · 7 年前

    我正在尝试使用TerraForm和我们的AzureDevOps管道创建一个AzureAD应用程序,但我收到以下错误:

    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广告中没有适当的权限。

    这是有问题的terraform代码:

    resource "azuread_application" "cluster" {
      name = "some-application"
    }
    
    resource "azuread_service_principal" "cluster" {
      application_id = "${azuread_application.cluster.application_id}"
    }
    

    以下是terraform步骤的外观(我使用服务连接来提供服务主体)。

    Terraform Step

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

    Service Connection

    然后,我为它授予了Microsoft Graph和Microsoft azure活动目录的所有“必需权限”。我不认为我需要微软的图表,但做了,因为WindowsAAD不工作。

    Service Principal Configuration

    0 回复  |  直到 7 年前
        1
  •  1
  •   Tom Sun    7 年前

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

    我跟着地形走 guide document ,我们需要为应用程序分配腐蚀权限。

    注意:如果使用服务主体进行身份验证,则它必须同时具有对 读写所有应用程序 和S 登录并读取用户配置文件 在WindowsAzureActiveDirectoryAPI中

    在测试期间,我将以下权限分配给azure活动目录,有关详细信息,请参阅屏幕截图。

    enter image description here

    注释 请不要忘记点击 授予权限

    测试结果:

    enter image description here

    enter image description here

    推荐文章