请求令牌时如何在 Azure 存储 Blob 中为 REST 请求指定范围? [AZURE-BLOB][REST API]

问题描述

谁能确认我们必须向 Azure 存储发出 REST 请求

  1. 创建应用注册获取client IDclient secret
  2. 转到 API permissions -> Add permission -> Azure storage添加 user_impersonation 作为 API 权限,允许应用程序代表登录者访问存储帐户用户
  3. 转到 Access control IAM -> Add role -> 分配给定的 signed-in user (email) 任何您喜欢的角色。
  4. 接下来,您现在可以访问令牌以发出请求。

在此逻辑中,我必须在第 3 步中授予 read/write/complete-storage-account 对角色的访问权限,然后将该行为模拟为创建的应用程序。

但是假设我想在令牌请求时授予这些访问级别。如图所示:

enter image description here

我可以这样做吗?我在访问令牌时获得了这些读/写/所有者类型的不同权限。 如果不是,那么我如何管理不同的访问级别?

  • 我应该使用多个用户
  • 我应该使用多个应用程序吗

解决方法

您不需要多个应用程序,但需要多个用户,当您使用 Delegated permission user_impersonation of Azure Storage API ie https://storage.azure.com/user_impersonationscope,应用会在用户登录后获取用户在存储账户中的所有权限。此外,我注意到您使用了 https://myaccount.blob.core.windows.net/user_impersonation,它仅适用于特定存储帐户,请确保它满足您的要求。