【问题标题】:Terraform Azure DevOps release pipeline Infrastructure + B2C tenant - 403 Insufficient PrivilegesTerraform Azure DevOps 发布管道基础设施 + B2C 租户 - 403 Insufficient Privileges
【发布时间】:2022-11-14 16:31:46
【问题描述】:

我一直在从我的桌面上为我正在处理的项目部署更改,因为它是一个启动并且我从头开始构建所有东西(大量的试验和错误/不断地做 terraform 应用等),但现在我们的开发环境已经构建,我们正在构建我们的 CI/CD,我正在构建一个用于 terraform 更改的管道,以便我们可以自动创建新资源并将我作为中间人移除。

问题我们遇到的是,似乎 Terraform 在 azure devops 中没有足够的权限来创建/更新/读取子 B2C 租户帐户中的信息。它与我们所有其他基础设施所在的主帐户相关联,所以我原以为权限会级联到 terraform,但似乎情况并非如此。

我的问题是,当我的 terraform 配置包含 B2C 租户帐户时,如何使用 Azure DevOps 执行 terraform plan / terraform apply?我有足够的权限在本地执行此操作,所以我知道这一定是可能的。我一直在环顾四周,但还没有发现任何有用的东西。如果有人甚至可以为我指出解决此问题的一些资源的正确方向,我将不胜感激。

这是我在 TF 开始从子帐户读取信息时遇到的错误:

Error: Retrieving group with object ID: "<id>"

with module.user_management.azuread_group.contributors,
on user_management\main.tf line 9, in resource "azuread_group" "contributors":
9: resource "azuread_group" "contributors"
GroupsClient.BaseClient.Get(): unexpected status 403 with OData error:
Authorization_RequestDenied: Insufficient privileges to complete the
operation.

解决方案是获取 az cli 并实际以用户身份登录吗?这样做感觉不对,但我认为它应该可以工作,因为它可以在本地工作。我只是觉得这将是一个不好的做法。

【问题讨论】:

    标签: azure-devops permissions terraform azure-ad-b2c http-status-code-403


    【解决方案1】:

    我找到了解决方案。您需要做的是为 azuread 提供程序创建一个别名,然后为您的主帐户传递您通过设置客户端 ID 和客户端密码值创建的具有用户管理访问权限的应用程序的凭据,然后为b2c 帐户您做同样的事情,使用 b2c 租户帐户中的应用程序设置客户端 ID/秘密。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多