【问题标题】:Get azure subscription id by storage uri通过存储 uri 获取 azure 订阅 id
【发布时间】:2019-10-20 18:12:59
【问题描述】:

我需要检查提供的 blob 是否已分配给租户 ID 表示的组织。 提供的资料是: - 存储 URI - SAS 令牌

我的解决方案是列出组织内的所有订阅,获取提供的 blob 的订阅并找到匹配项。

问题是,在 Azure SDK 中我找不到任何获取订阅信息的方法。

我可以列出有关我的存储帐户的属性的唯一方法是通过运行命令使用 azure CLI

az storage account show

有没有办法获取具有此类参数的订阅信息? 如果没有,您能否建议我一些检查 blob 归属的解决方案?

【问题讨论】:

  • 那么你的问题是使用tenant IDstorage URISAS token来知道存储帐户属于哪个订阅?
  • 输入数据为存储 URI 和 SAS 令牌。租户 ID 是已知的。我需要检查具有提供的存储 URI 和 SAS 令牌的存储帐户是否属于由租户 ID 表示的组织的任何订阅。
  • 你想通过 java sdk 做到这一点?
  • 没错。但首先,我想知道这是否可能。
  • 您是否拥有租户中所有订阅的角色?

标签: java azure azure-blob-storage azure-cli azure-sdk


【解决方案1】:

在您的情况下,您需要拥有租户中所有订阅的权限(例如,您是订阅的owners)。

我的解决方法是在java中调用REST APISubscriptions - List(好像没有sdk来列出订阅),在java中调用rest api,你可以参考这个link

然后在每个订阅中List resource groups,之后您可以List all storage accounts in a resource group。然后检查存储帐户是否存在。

您能否推荐一些其他解决方案来确认 blob 归属?也许我需要更多输入数据?如果有,是什么样的数据?

首先,您的目的是反向搜索,因此我们无法知道订阅、资源组。因此我们无法知道存储帐户的详细信息,例如存储帐户的资源 id,因为资源 id 包括订阅 id 和资源组名称。因此,即使您有其他与存储帐户没有直接关系的输入数据,我们也可以使用上述解决方法。

【讨论】:

    猜你喜欢
    • 2022-11-04
    • 2022-11-22
    • 2016-01-08
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 2018-06-05
    • 2018-03-28
    • 1970-01-01
    相关资源
    最近更新 更多