azure cli 无法使用命令行选项登录

azure cli 无法使用命令行选项登录

当我尝试使用 azure cli 通过提供用户名和密码登录时,出现错误

az login -u [email protected] -p plaintextpassword

用户名可能无效。如需交叉检查,请尝试使用“az login”通过浏览器进行身份验证。

当我使用浏览器身份验证方法并使用相同的用户名和密码时,我能够登录。使用此过程,我得到了“工作或学校帐户”或“个人帐户”选项。我选择“工作或学校帐户”并输入我的凭据。有没有办法使用命令行选项来选择这个?

答案1

当你的账户是微软账户(如:*@outlook.com,*@hotmail.com)时,你会收到这个错误日志。根本原因是微软账户不支持非交互式登录,直接用你的账户登录 Azure 也是不安全的。

如果您计划使用 Azure CLI 2.0 管理您的应用或服务,则应在 Azure Active Directory (AAD) 下运行它服务主体而不是您自己的凭据。请参考以下步骤创建服务主体。

1.登录Azure。

2.使用 az ad sp create-for-rbac 创建服务主体。

az ad sp create-for-rbac --name {appId} --password "{strong password}" 

例子

az ad sp create-for-rbac --name shuiexample --password "Password012!!" 

您可能会得到如下结果:

{
  "appId": "bca24913-026d-4020-b9f1-add600bf9045",
  "displayName": "shuiexample1234",
  "name": "http://shuiexample1234",
  "password": "*******",
  "tenant": "*******"
}

3. 使用以下方式使用服务主体登录:

$appID="bca24913-026d-4020-b9f1-add600bf9045"
$password="******"
$tenant="*******"
az login --service-principal -u $appID --password $password --tenant $tenant

有关此内容的更多信息,请参阅关联

答案2

您使用的帐户是 Microsoft 帐户还是需要多因素身份验证? 这两种方式都需要交互式登录

https://docs.microsoft.com/en-us/cli/azure/authenticate-azure-cli

相关内容