通过存储uri获取Azure订阅ID

时间:2019-06-05 08:42:03

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

我需要检查提供的Blob是否已分配给由租户ID代表的组织。 提供的信息是: -存储URI -SAS令牌

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

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

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

使用azure CLI
az storage account show

有什么方法可以获取具有此类参数的订阅信息? 如果没有,您能建议我一些检查Blob归属的解决方案吗?

1 个答案:

答案 0 :(得分:0)

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

我的解决方法是在Java中调用REST API Subscriptions - List(似乎没有sdk列出订阅),在Java中调用其余的api,您可以参考此link

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

  

您能推荐我一些其他方法来确认Blob归属吗?也许我需要更多输入数据?如果是的话,什么样的数据?

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