【发布时间】:2021-12-23 22:38:00
【问题描述】:
我有一个愚蠢的问题。 我正在尝试使用 terraform 部署一个 azure web 应用程序。我的任务是构建代码并将其作为人工制品丢弃,这很好用。所以我转到发布过程如下
我的代码有一个后端配置,我在其中保存了我的terraform.tfstate 以便能够访问它我创建了一个azure resource manager 服务原则
现在这对我的所有阶段都非常有效。我能够创建资源组和 Web 应用程序,并且 terraform.tfstate 保存在 azure resource manager 下的容器中
但这是我的问题。如果我在本地更新我的代码并将其推送到 GitHub,则管道会构建工件和发布触发器,但在 plan 阶段它会失败并出现以下错误。
reading resource group: resources.GroupsClient#Get: Failure responding to request: StatusCode=403 -- Original Error: autorest/azure: Service returned an error. Status=403 Code="AuthorizationFailed" Message="The client 'XXXX' with object id 'XXX' does not have authorization to perform action 'Microsoft.Resources/subscriptions/resourcegroups/read' over scope '/subscriptions/XXXX/resourcegroups/rg-hri-stg-eur-configurations' or the scope is invalid. If access was recently granted, please refresh your credentials."[0m
我明白,一旦资源组存在,我无权对其执行任何操作,例如plan、apply 或Destroy。
我想知道如何为这些管道设置一个 azure 资源管理器,以便在创建此特定资源组后访问它?
非常感谢您为我提供的任何建议或帮助。
【问题讨论】:
-
您好@NaydenVan,错误中为客户端分配了哪些角色?我猜客户需要订阅范围内的贡献者访问权限,这样每当创建新的资源组时,新创建的资源组的角色也会自动继承。
标签: azure terraform-provider-azure