Azure CLI - 如何从帐户密钥中找到可用的“端点”?
Posted
技术标签:
【中文标题】Azure CLI - 如何从帐户密钥中找到可用的“端点”?【英文标题】:Azure CLI - How to find available 'endpoints' from an account key? 【发布时间】:2021-09-10 20:38:31 【问题描述】:我有一个帐户密钥和相应的帐户名称。如何找到它的存储选项?
使用: az 存储帐户列表 检索我的订阅有权访问的帐户,并获得访问点:
"primaryEndpoints":
"blob": "https://MYACCOUNT.blob.core.windows.net/",
"dfs": "https://MYACCOUNT.dfs.core.windows.net/",
"file": "https://MYACCOUNT.file.core.windows.net/",
"internetEndpoints": null,
"microsoftEndpoints": null,
"queue": "https://MYACCOUNT.queue.core.windows.net/",
"table": "https://MYACCOUNT.table.core.windows.net/",
"web": "https://MYACCOUNT.z6.web.core.windows.net/"
我想为拥有帐户密钥的帐户获取类似的端点,该怎么做?
然后,如果有一个“blob”接入点,我知道我可以调用:
az storage fs list --account-name "MYACCOUNT" --account-key "MYKEY"
获取 blob 容器列表。
额外问题:如何知道密钥是用于 Gen1 还是 Gen2 类型的帐户?
【问题讨论】:
您要查看的帐户不在您的订阅中?你只有它的凭据?顺便说一句,对于任何 azure 存储帐户,端点 URL 的结构都相同,例如对于 blob 端点<account_name>.blob.core.windows.net
,因此如果您有凭据,您就知道它的 url。
正确,它不在我的订阅中,我刚刚获得了一个帐户密钥和一个帐户名。也许是我的理解不够深入 - 我可以假设如果我有一个密钥和一个名称,那么它就是一个“Gen2”帐户类型?
如果它不在您的订阅中,az cli
将无法帮助您,因为它使用在执行 az login
时存储的凭据与 Azure 进行交互。因此,您只能与您在 Azure 订阅中拥有权限的资源进行交互。如果存储是最近创建的,我猜它是 Gen2 帐户(因为 Gen1 将在几年内被弃用)。我不确定是否有办法确定它是 Gen1 还是 Gen2(我只使用过 Gen2)。如果您有 gui,您可以使用带有凭据的“azure storage explorer”并查看存储帐户信息(本地和链接帐户>(右键单击)存储帐户)。
我可以通过 CLI 访问该帐户:列出 blob 存储(如我的问题“az storage fs list”中)并列出每个 blob 存储中包含的文件(“az storage blob list”)使用帐户密钥和名称。下载和上传也一样。我正在寻找概括并找出我所拥有的密钥有哪些选项。
【参考方案1】:
如果您使用的是 cli,则需要连接到存储帐户所在的订阅并运行以下命令以显示存储选项列表/访问端点和该特定存储的属性,而无需使用帐户密钥。我有一个帐户密钥和相应的帐户名称。如何找到它的存储选项? (用户提问)
az login
az account set --subscription
az storage account show --Name "accountname" --resource-group "resource-groupname"
根据文档,cmdlet“az storage fs”用于管理 azure data Lake Storage gen2 帐户中的文件系统。
Azure 没有任何机制来识别使用访问密钥生成的存储帐户通常当您创建存储帐户时,Azure 会生成两个 512 位存储帐户访问密钥。这些密钥可用于授权通过共享密钥授权访问您的存储帐户中的数据。
或者,您可以使用 Azure 存储资源管理器(门户/桌面版本)检查存储选项和存储帐户类型,如下图所示,如果存储帐户的 HNS 值为 true,则它是 ADLS gen2账号。
【讨论】:
以上是关于Azure CLI - 如何从帐户密钥中找到可用的“端点”?的主要内容,如果未能解决你的问题,请参考以下文章
ARM - 如何从存储帐户获取访问密钥,以便稍后在模板中的 AppSettings 中使用?
如何在 Azure CLI 或 Bash 脚本中获取天蓝色存储帐户的大小?