我第一次尝试使用Azure和github操作创建ARM模板。我遵循了创建服务主体和分配github贡献者角色的所有步骤。
我创建了我的第一个模板,目标是登录到Azure(成功)并创建一个存储帐户,但由于执行授权失败错误而失败。这是我得到的警告:
警告:错误:***“code”:“AuthorizationFailed”,“message”:“对象ID为'3b 1f 7136 - 28 ea-48 bf-8 cde-9417317 fa 987'的客户端'3b 1f 7136 - 28 ea-48 bf-8 cde-9417317 fa 987'无权在作用域'/订阅/***'上执行操作'Microsoft.Resources/deployments/validate/action',或者作用域无效。如果最近授予了访问权限,请刷新凭据。"***
失败的原因是显而易见的,但是,不明显的是要修复它。Github角色当前被分配给资源组;是否也需要将其分配给订阅?如果是,如何将其分配给订阅级别?
尝试找出如何将角色分配给订阅的方法
1条答案
按热度按时间wfsdck301#
我使用Service Principal和Github操作部署了Azure存储帐户,如下所示:-
我的git仓库:-
我使用此链接中的以下命令-Deploy Resource Manager templates by using GitHub Actions - Azure Resource Manager | Microsoft Learn创建了一个在订阅级别分配了RBAC Contributor角色的服务主体:-
命令:-
输出:-
复制了我的Github Actions Secrets中的json输出,如下所示:-
我使用下面的ARM模板创建了一个存储帐户:
azuredeploy.json
以上代码参考:-
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
我的github action YML脚本:-
将资源组名称替换为要在其中创建存储帐户的现有资源组。
main.yml
Github操作成功运行,如下所示:-
在Azure门户中创建了存储帐户:-
参考文献:-
Exercise - Deploy ARM templates as part of your CI/CD efforts with GitHub Actions - Training | Microsoft Learn