你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure CLI 以交互方式登录
Azure CLI 的默认登录身份验证方法是使用 Web 浏览器和访问令牌进行登录。
运行
az login
命令。az login
如果 Azure CLI 可以打开默认浏览器,则会启动授权代码流,并打开默认浏览器来加载 Azure 登录页面。
否则,它会启动设备代码流,并指示打开浏览器页面,于 https://aka.ms/devicelogin。 然后,输入终端中显示的代码。
如果没有可用的 Web 浏览器或 Web 浏览器无法打开,可通过 az login --use-device-code 强制使用设备代码流。
在浏览器中使用帐户凭据登录。
在命令行中使用凭据登录。
在命令行中提供 Azure 用户凭据。 仅将此身份验证方法用于学习 Azure CLI 命令。 生产级应用程序应使用服务主体或托管标识。
此方法不适用于 Microsoft 帐户或已启用双重身份验证的帐户。 收到 需要交互式身份验证 消息。
az login --user <username> --password <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
使用其他租户登录
可以使用 --tenant
参数选择用于登录的租户。 此参数的值可以是 .onmicrosoft.com
域或租户的 Azure 对象 ID。 交互式登录方法和命令行登录方法都可以配合 --tenant
来使用。
az login --tenant 00000000-0000-0000-0000-000000000000
登录后,如果要更改活动租户,请参阅 如何更改活动租户。
刷新令牌
使用用户帐户登录时,Azure CLI 会生成身份验证刷新令牌并将其存储下来。 由于访问令牌的有效期很短,因此在颁发访问令牌的同时也会颁发刷新令牌。 然后,客户端应用程序可以在需要时使用此刷新令牌交换新的访问令牌。 有关令牌生存期和过期时间的详细信息,请参阅在 Microsoft 标识平台中刷新令牌。
使用 az account get-access-token 命令检索访问令牌:
# get access token for the active subscription
az account get-access-token
# get access token for a specific subscription
az account get-access-token --subscription "<subscription ID or name>"
下面是有关访问令牌过期日期的一些附加信息:
- 过期日期以基于 MSAL 的 Azure CLI 支持的格式进行更新。
- 从 Azure CLI 2.54.0 开始,
az account get-access-token
返回expires_on
令牌过期时间的属性与expiresOn
属性。 - 该
expires_on
属性表示可移植操作系统接口 (POSIX) 时间戳,而expiresOn
该属性表示本地日期时间。 - 夏令时结束时,该
expiresOn
属性不表示“折叠”。 这可能会导致采用夏令时的国家/地区出现问题。 有关“折叠”的详细信息,请参阅 PEP 495 – 本地时间消除歧义。 - 我们建议下游应用程序使用该
expires_on
属性,因为它使用世界时代码(UTC)。
示例输出:
{
"accessToken": "...",
"expiresOn": "2023-10-31 21:59:10.000000",
"expires_on": 1698760750,
"subscription": "...",
"tenant": "...",
"tokenType": "Bearer"
}
疑难解答
当默认浏览器为 Microsoft Edge 时,如果尝试使用 az login
以交互方式登录到 Azure,则可能会遇到以下错误:“此站点的连接不安全。”若要解决此问题,请在 Microsoft Edge 中访问 edge://net-internals/#hsts。 在“ 删除域安全策略”下添加 localhost
,然后选择“删除”。
另请参阅
- Azure CLI 加入备忘单
- 使用 Azure CLI 管理 Azure 订阅
- 查找 Azure CLI 示例和已发布文档