使用 Azure CLI 登录
Azure 命令行接口 (CLI) 又几种身份验证类型,那么如何登录? 最简单的入门方法是使用 Azure Cloud Shell,这样可以自动登录。 在本地,可以通过浏览器使用 az login 命令以交互方式登录。 编写脚本时,建议的方法是使用服务主体。 通过授予服务主体所需的最低适当权限,可以确保自动化的安全性。
Azure CLI 不会存储任何登录信息。 身份验证刷新令牌由 Azure 生成并存储。 自 2018 年 8 月起,此令牌在不活动 90 天后将被撤销,但此值可由 Microsoft 或租户管理员更改。 令牌被撤销后,你会收到来自 CLI 的消息,指示你需要重新登录。
登录后,将针对默认订阅运行 CLI 命令。 如果你有多个订阅,可以更改默认订阅。
备注
租户可能具有限制你访问某些资源的条件访问策略,具体取决于你的登录方法。
以交互方式登录
Azure CLI 的默认登录身份验证方法是使用 Web 浏览器和访问令牌进行登录。
-
运行
Azure CLIlogin
命令。az login
如果 CLI 可以打开默认浏览器,它将初始化授权代码流,并打开默认浏览器来加载 Azure 登录页面。
否则,它将启动设备代码流,并指示你打开浏览器页面 (https://aka.ms/devicelogin),并输入终端中显示的代码。
如果没有可用的 Web 浏览器或 Web 浏览器无法打开,可通过 az login --use-device-code 强制使用设备代码流。
-
在浏览器中使用帐户凭据登录。
在命令行中使用凭据登录。
在命令行中提供 Azure 用户凭据。
备注
此方法不适用于 Microsoft 帐户或已启用双重身份验证的帐户。
Azure CLIaz login -u <username> -p <password>
重要
如果想要避免在控制台中显示自己的密码并以交互方式使用 az login
,请在 bash
下面使用 read -s
命令。
read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS
在 PowerShell 下,请使用 Get-Credential
cmdlet。
$AzCred = Get-Credential -UserName <username>
az login -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password
使用服务主体进行登录
服务主体是未绑定到任何特定用户的帐户,这些帐户具有通过预定义角色分配的权限。 使用服务主体进行身份验证是编写安全脚本或程序的最佳方法,因为这样可以同时应用权限限制和本地存储的静态凭据信息。 若要了解有关服务主体的详细信息,请参阅使用 Azure CLI 创建 Azure 服务主体。
若要使用服务主体登录,需要:
- 与该服务主体关联的 URL 或名称
- 该服务主体的密码,或用于创建该服务主体的 X509 证书(PEM 格式)
- 与该服务主体关联的租户(
.onmicrosoft.com
域或 Azure 对象 ID)
备注
必须将证书追加到 PEM 文件中的私钥之后。 如需 PEM 文件格式的示例,请参阅基于证书的身份验证。
重要
如果服务主体使用 Key Vault 中存储的证书,则该证书的私钥必须在未登录到 Azure 的情况下可用。 如果要为 az login
检索证书,请参阅从 Key Vault 检索证书。
az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>
重要
如果想要避免在控制台中显示自己的密码并以交互方式使用 az login
,请在 bash
下面使用 read -s
命令。
read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>
在 PowerShell 下,请使用 Get-Credential
cmdlet。
$AzCred = Get-Credential -UserName <app-id>
az login --service-principal -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password --tenant <tenant>
使用其他租户登录
可以使用 --tenant
参数选择用于登录的租户。 此参数的值可以是 .onmicrosoft.com
域或租户的 Azure 对象 ID。 交互式登录方法和命令行登录方法都可以配合 --tenant
来使用。
az login --tenant <tenant>
使用托管标识登录
在已针对 Azure 资源托管标识进行了配置的资源上,可以使用托管标识进行登录。 使用资源的标识登录是通过 --identity
标志执行的。
az login --identity
如果资源具有多个用户分配的托管标识,但没有系统分配的标识,则你必须使用 --username
指定用户分配的托管标识的客户端 ID、对象 ID 或资源 ID 来进行登录。
az login --identity --username <client_id|object_id|resource_id>
若要了解有关 Azure 资源托管标识的详细信息,请参阅配置 Azure 资源的托管标识和使用 Azure 资源的托管标识进行登录。
标签:11,CLI,登录,windows,--,Azure,login,az From: https://www.cnblogs.com/danhill2010/p/17135611.html