Azure 在 windows 11 下的 终端模式是如何操作?

使用 Azure CLI 登录

Azure CLI 不会存储任何登录信息。 身份验证刷新令牌由 Azure 生成并存储。 自 2018 年 8 月起,此令牌在不活动 90 天后将被撤销,但此值可由 Microsoft 或租户管理员更改。 令牌被撤销后,你会收到来自 CLI 的消息,指示你需要重新登录。

登录后,将针对默认订阅运行 CLI 命令。 如果你有多个订阅,可以更改默认订阅

 备注

租户可能具有限制你访问某些资源的条件访问策略,具体取决于你的登录方法。

以交互方式登录

Azure CLI 的默认登录身份验证方法是使用 Web 浏览器和访问令牌进行登录。

  1. 运行 login 命令。

    Azure CLI
    az login
    

    如果 CLI 可以打开默认浏览器,它将初始化授权代码流,并打开默认浏览器来加载 Azure 登录页面。

    否则,它将启动设备代码流,并指示你打开浏览器页面 (https://aka.ms/devicelogin),并输入终端中显示的代码。

    如果没有可用的 Web 浏览器或 Web 浏览器无法打开,可通过 az login --use-device-code 强制使用设备代码流。

  2. 在浏览器中使用帐户凭据登录。

在命令行中使用凭据登录。

在命令行中提供 Azure 用户凭据。

 备注

此方法不适用于 Microsoft 帐户或已启用双重身份验证的帐户。

Azure CLI
az login -u <username> -p <password>

 重要

如果想要避免在控制台中显示自己的密码并以交互方式使用 az login,请在 bash 下面使用 read -s 命令。

Bash
read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS

在 PowerShell 下,请使用 Get-Credential cmdlet。

PowerShell
$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 检索证书

Azure CLI
az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>

 重要

如果想要避免在控制台中显示自己的密码并以交互方式使用 az login,请在 bash 下面使用 read -s 命令。

Bash
read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>

在 PowerShell 下,请使用 Get-Credential cmdlet。

PowerShell
$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 来使用。

Azure CLI
az login --tenant <tenant>

使用托管标识登录

在已针对 Azure 资源托管标识进行了配置的资源上,可以使用托管标识进行登录。 使用资源的标识登录是通过 --identity 标志执行的。

Azure CLI
az login --identity

如果资源具有多个用户分配的托管标识,但没有系统分配的标识,则你必须使用 --username 指定用户分配的托管标识的客户端 ID、对象 ID 或资源 ID 来进行登录。

Azure CLI
az login --identity --username <client_id|object_id|resource_id>

若要了解有关 Azure 资源托管标识的详细信息,请参阅配置 Azure 资源的托管标识使用 Azure 资源的托管标识进行登录

posted @   danhill2010  阅读(188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示