首页 > 解决方案 > 使用服务主体的 Azure 登录失败并出现 401 - 提供的客户端密码无效

问题描述

我在 Azure 门户中创建了一个新的应用程序注册,如下所示:

Home -> Azure Active Directory -> App registrations -> New Registration -> myApp. 

我还为应用程序创建了 3 个不同的秘密。现在,我正在尝试使用这样的秘密之一通过命令行登录:

az login --service-principal -u <Application (client) ID> -p <secret> --tenant <Directory (tenant) ID>

我收到以下错误消息:(仅错误的关键部分)

Get Token request returned http error: 401 and server response: {"error":"invalid_client","error_description":"AADSTS7000215: Invalid client secret is provided."error_codes":[7000215],"timestamp":"2021-06-01 20:59:28Z","error_uri":"https://login.microsoftonline.com/error?code=7000215"}

应用程序(客户端)ID 和租户 ID 值取自应用程序注册的“概述”部分。

请查看下面的屏幕截图。

在此处输入图像描述

如果你能告诉我我在哪里误入歧途......我会很感激的。谢谢!

标签: azureazure-cli

解决方案


进行了新的应用注册,这对我有用:az login --service-principal -u client-id-here -p "client-secret-here" --tenant tenant-id-here.

创建客户端密码时,您需要使用它为您提供的值。然后,您可能会收到错误消息,因为该应用无权访问任何 Azure 资源。--allow-no-subscriptions如果您需要使用 Az CLI 进行 Azure AD 管理,您可以解决这个问题。


推荐阅读