使用 Bicep 在 Azure Blob 存储容器上添加 RBAC 角色

2024-02-26

我正在使用 bicep 部署 azure data Lake gen2 存储帐户。 我想在带有二头肌的容器上分配角色(组)(参见下面的代码)。但我不断收到错误。有人能帮我吗 ?


targetScope = 'resourceGroup' 

param location string =resourceGroup().location
param storageAccountName string

resource stg 'Microsoft.Storage/storageAccounts@2021-04-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    isHnsEnabled: true
  }
}

resource bs 'Microsoft.Storage/storageAccounts/blobServices@2021-08-01' = {
  name: 'default'
  parent: stg
}


resource container 'Microsoft.Storage/storageAccounts/blobServices/containers@2021-08-01' = {
  name: 'help'
  parent: bs
}

resource rbac  'Microsoft.Authorization/roleAssignments@2020-10-01-preview' = {
  name: guid(container.id,'xxx')
  scope: container
  properties: {
    principalId: 'xxx'
    principalType: 'Group'
    roleDefinitionId: '2a2b9908-6ea1-4ae2-8e65-a410df84e7d1'
  }
}

Error:

{"status":"Failed","error":{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"BadRequest","message":"{\r\n  \"error\": {\r\n    \"code\": \"BadRequestFormat\",\r\n    \"message\": \"The request was incorrectly formatted.\"\r\n  }\r\n}"}]}}

根据document https://learn.microsoft.com/en-us/azure/templates/microsoft.authorization/roleassignments?tabs=bicep您应该添加一个条件,但这也不起作用。

condition: '@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase \'help\''

The roleDefinitionIdproperty 是角色的资源标识符。它也是订阅级资源,因此您可以在二头肌文件中定义它,如下所示:

roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '2a2b9908-6ea1-4ae2-8e65-a410df84e7d1')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Bicep 在 Azure Blob 存储容器上添加 RBAC 角色 的相关文章

  • 无法使用 Git 部署从多项目解决方案部署正确的网站到 Azure

    我有一个解决方案 它有一个 mvc 网站 WebApplication1 该网站依赖于解决方案中的另一个项目 WebAppCore 源代码托管在 Visual Studio Online 上的 git 中 我配置了持续集成 一切都构建得很好
  • cosmosdb 模拟器没有给出任何结果

    我不知道为什么在查询宇宙数据库时会发生这种情况 它不会显示任何文档 即使是 SELECT FROM c 但显示了 RU 但它与文档选项卡中的文档选项卡配合得很好 如果我使用任何过滤器 那么它也可以工作 但它不适用于 SQL 查询 我已经添加
  • 如果警告数量超过一定限制,AzureDevOps 构建管道将失败

    我热衷于不让项目质量失控 我知道在某些情况下警告可能有意义 但我担心警告的数量会随着时间的推移而增加 我有一个 Azure DevOps 构建 门控提交 管道 我只想允许 10 个警告 以便在某些时候开发人员必须解决他们的警告 有没有办法对
  • Azure 时区和 javascriptserializer 对象

    我有一个基于预测的应用程序 位于 Windows Azure 上 http ipredikt com http ipredikt com 据我所知 Azure 的时钟已与 GMT 时区同步 这是我遇到的一个问题 假设我有一个名为 Creat
  • 在 Azure 数据工厂中执行 python 脚本

    我将数据存储在 blob 中 并且编写了一个 python 脚本来执行一些计算并创建另一个 csv 如何在 Azure 数据工厂中执行此操作 你可以使用Azure 数据工厂 V2 自定义活动 https learn microsoft co
  • azure函数或azure逻辑应用程序中是否有Azure文件共享的触发器?

    我在 azure 存储帐户中创建了文件共享 然后使用 Windows 电脑安装了文件共享 接下来 我将文件上传到文件共享驱动器 例如 Z 但每当我将文件上传到 OnPremise 文件共享驱动器时 我想自动触发逻辑应用程序或 azure 功
  • Azure Runbook 输出到电子邮件

    我正在尝试将 VM 状态的输出从 Azure 自动化 Runbook 发送到电子邮件中 我使用以下代码 function Send EMail Param Parameter Mandatory true String EmailTo Pa
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 容器中的 WordPress - 加载某些图像时出现 502

    我已使用容器将 WordPress 部署在 Azure AppService 中 使用 Azure 容器注册表 使用的图像来自 docker hub gt wordpress latest 我还启用了 settings WEBSITES E
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 将 Azure 网站迁移到 Azure 云服务

    我有一个项目 我计划将 Web 应用程序作为 Azure 网站启动 然后将其迁移到 Azure 云服务 也称为托管服务 如果需要作为扩展策略 做出这个决定是因为我了解到 Azure 网站的开发更加简单 快速 几乎不需要特定于 Azure 的
  • 基于生产的 Azure SQL 数据库沙箱

    我有一个大型 Azure Sql 数据库 我需要向团队提供一个沙箱 它是数据库的副本 但允许他们创建 sql 对象 沙箱中的数据需要与生产保持同步 我使用了弹性查询 但是性能并不理想 我查看了数据同步 但公司要求 AD 身份验证 定期恢复生
  • 为什么 Azure IoT 中心中有主键和辅助键?

    在 Azure IoT 中心创建共享访问策略或注册设备时 将生成主密钥和辅助密钥对 我注意到我可以使用主键或辅助键将设备连接到 IoT 中心 那么 拥有主键 辅助键的目的是什么 我应该如何设计这两个键的使用 主键和辅助键的目标有两个 首先
  • 如何从 Azure Web 应用程序中删除过多的响应标头信息?

    我有一个部署在 Azure Web 应用上的 MVC 项目 我正在尝试删除过多的标头信息 我尝试删除此信息的原因是因为这是标准的安全实践 参考 http www troyhunt com 2012 02 shhh dont let your
  • Azure 媒体服务播放器

    我觉得这是一个非常愚蠢的问题 但我的研究告诉我我必须创建自己的播放器 真的吗 我有一个来自 Azure 媒体服务的链接 发布 URL 如下所示 http streamvideotest streaming mediaservices win
  • 如何在 AZURE 中安排存储过程

    我有一个存储过程 我希望它在每个午夜运行 但我的数据库在 aZure 中 如何使用 sql 代理安排任务 Azure 自动化 云中的 SQL 代理 https azure microsoft com en us blog azure aut
  • 如何仅将 dist 文件夹部署到 azure 网站?

    我的 azure 网站项目中有 src 文件和 dist 文件夹 project src dist 默认行为上传项目内的所有文件 即 src 和 dist website src dist 我想保持网站干净 只包含 dist 文件 webs
  • 如何在 Azure DevOps 发布管道中保存测试结果

    在发布管道期间 我将启动 Selenium 测试 如果这些测试失败 则会进行屏幕截图 我正在寻找一种上传它们的方法 以便我可以查看它们并检查出了什么问题 我设法将它们压缩 但不幸的是 所有上传方法都不适用于发布管道 有没有办法在发布管道期间
  • C# Application Insight 失败:TrackEvent 未发送到 Azure Application Insight

    我对 Azure Application Insight 完全陌生 并尝试通过我的本地计算机发送 TrackEvent 但Azure Application Insight似乎没有收到任何信息 这是我的要求 规格 我安装了 applicat
  • 从命令行发布 Azure 项目

    我有一个 Azure Web 角色项目 我可以使用 Visual Studio 的内置向导成功发布它 但我们希望自动化该过程 如何使用 MSbuild 或任何其他命令行工具发布 Azure WebRole 您可能还想创建一个控制台应用程序

随机推荐