首页 > 解决方案 > 无需登录即可使用 Azure API(使用角色)

问题描述

我正在尝试从 azure 中的另一个虚拟机内部列出 azure 中的虚拟机。我的意思是,我想做的是从前端列出后端成员。但我不想在前端使用凭据,我想使用角色。

例如,在 AWS 中,您可以将角色 (EC2::DescribeInstance) 分配给实例并使用以下命令:

aws ec2 describe-instances --query 'Reservations[].Instances[].[PrivateIpAddress]' --output text --filters Name=instance-state-name,Values=running Name=tag:myapp-member,Values=myapp-backend

我可以运行该命令而无需在任何地方公开我的凭据。

如果我在 Azure 上运行这样的东西

az vm list

它说我需要先登录。

而且我找不到如何为实例分配角色。

非常感谢

干杯

标签: azurerolesazure-cli

解决方案


出于您的目的,您可以使用 VM 托管标识登录 Azure CLI,这种方式不会在 VM 中存储任何凭据。但首先,您需要将角色分配给您的虚拟机。要分配角色,可以使用 Azure CLI 命令az role assignment create和使用 Azure CLI分配对资源的托管标识访问权限中的步骤。或者只是在 Azure 门户中,您可以按照使用 Azure 门户分配对资源的托管标识访问权限中的步骤进行操作。PowerShell 命令也可用。

创建角色后,您可以使用 Azure CLI 命令az login --identity在没有凭据的情况下登录。

注意:您需要先在 VM 中安装 Azure CLI。


推荐阅读