Azure Blob 自定义角色

时间:2021-05-04 00:36:32

标签: azure azure-storage azure-storage-blobs rbac

我从 JSON 文件创建了一个自定义角色,角色名称为“Storage Blob Operations_Custom” 这个角色的目的是我想给我的 Azure 管理员所有的数据操作,除了查看相应容器中的 Blob 内容。 我的角色定义如下

{
    "name": "Storage Blob Operations_Custom",
    "IsCustom": true,
    "Description": "Return a container or list of containers + Perform Data Actions on a blob except reading the blob contents",
    "Actions": [
              "Microsoft.Storage/storageAccounts/blobServices/containers/read"
    ],
    "NotActions": [
              "Microsoft.Storage/storageAccounts/blobServices/containers/delete",
              "Microsoft.Storage/storageAccounts/blobServices/containers/write",
              "Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action"
  ],
    "DataActions": [
            "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete",
            "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write",
            "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action",
            "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action"
  ],
    "NotDataActions": [],
    "AssignableScopes": [
            "/subscriptions/<my subscription ID>"
    ]
  }

将此角色分配给特定用户后,当我使用该用户帐户登录时,我无法将任何 blob 上传到我拥有的容器,如果我单击任何 blob,也无法查看这些 blob集装箱的 即使我的数据操作有 blob/delete 和 blob/write,为什么我无法查看 blob 或上传任何 blob? 我如何确保我可以看到 blob(不包括内容)并对 blob 执行操作,例如删除、上传、移动和添加。 任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

<块引用>

我如何确保我可以看到 blob(不包括内容)和 对 blob 执行删除、上传、移动和添加等操作。

不幸的是你不能。原因是只有一个数据操作 (Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read) 用于列出 blob 和读取 blob 的内容。没有仅用于列出 blob 的数据操作。

enter image description here

您可以做的一件事是包含此权限,然后在您的应用程序中仅使用 Shared Access Signature (SAS) 权限使用 List