【问题标题】:How to assign custom role to the application in Bicep如何在 Bicep 中为应用程序分配自定义角色
【发布时间】:2022-12-13 10:03:31
【问题描述】:

没有权限将 Azure 角色添加到帐户消息。

我正在尝试将 Azure 角色分配添加到存储帐户。我正在 bicep 中创建一个函数应用程序,之后的下一步是,我想为该应用程序添加“存储 Blob 数据所有者”角色。

这是通过带有 bicep 脚本的 github 操作在 Github 中执行的。

类型为“Microsoft.Authorization/roleAssignments”的模板资源“guid”授权失败。对象 ID 为“客户端 ID”的客户端“客户端 ID”无权在范围“/subscriptions/”执行操作“Microsoft.Authorization/roleAssignments/write”/resourceGroups/rg-

所以解决方案是添加创建一个具有写入权限的自定义角色,但是我如何将该自定义角色添加到 bicep 中的函数应用程序

资源 roleAssignmentStorage 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = { 名称:guid(订阅()。id,principalId,roleDefinitionResourceId) 特性: { roleDefinitionId:roleDefinitionResourceId principalId: 主体Id principalType: 'ServicePrincipal' } }

我不知道如何分配我创建的自定义 RBAC 角色

【问题讨论】:

    标签: azure azure-bicep azure-rbac


    【解决方案1】:

    错误不是来自执行此 Bicep 模板的任何用户/应用程序都没有设置 RBAC 权限的权利吗? 要在 Bicep 模板中分配 RBAC 权限,执行模板的主体需要对资源/资源组/订阅具有用户访问管理员角色或所有者角色。

    【讨论】:

    • az ad sp create-for-rbac --name <nameofprinciapal> --role contributor --scopes /subscriptions/subcriptionId --sdk-auth ...我用这个命令创建了一个服务主体,并保存我取回的凭据保存为 github 秘密。所以这是用于在 github 中执行 bicep 脚本的服务主体。如何向此服务主体添加自定义角色
    • 该链接是我试图遵循的解决方案,我不知道如何将创建的角色分配给服务主体...就像我在门户或 cli 中的哪个位置那样做
    • 您可以在门户或 CLI 中执行此操作。通过资源/资源组/订阅的访问控制 (IAM) 选项卡添加角色分配。分配角色时搜索应用程序。
    • 但这是从 github repo 运行的,所以这里没有应用程序。服务主体需要该访问权限。虽然找到了解决方案。其实现在我明白那个链接解释了什么
    【解决方案2】:

    https://learn.microsoft.com/en-us/answers/questions/287573/authorization-failed-when-when-writing-a-roleassig.html

    这是我一直在寻找的答案。创建自定义角色后,如链接中所述,您需要使用新的服务主体创建新的凭据。喜欢 : az ad sp create-for-rbac --name newServicePrincipal --role 'custom contributor' --scopes /subscriptions/id --sdk-auth

    此输出需要在 Github Repo 中保存为新的 Azure 凭据,这就是运行 github 操作的服务主体如何链接到自定义贡献者。我错过了那部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-03
      • 2011-02-10
      • 2021-08-19
      • 1970-01-01
      • 2016-01-30
      • 1970-01-01
      • 2020-11-20
      • 2022-01-17
      相关资源
      最近更新 更多