繁体   English   中英

无法使用系统分配的托管标识 ID 登录到 Azure

[英]Cannot login to Azure with system assigned managed identity ID

我正在编写一个登录到 Azure 的脚本,但我不想明确使用我的密码。 因此,我打开了系统分配的托管身份:

在此处输入图像描述

现在在 shell 脚本中我这样做:

az login --identity --username xxx

'xxx' 是 Object(主体)ID,在屏幕截图上

当我执行命令时,我得到了这个(用“xxx”替换了 ip 和 ID):

Failed to connect to MSI. Please make sure MSI is configured correctly and check the network connection.

Error detail: HTTPConnectionPool(host='XXX.XXX.XXX.XXX', port=XX): Max retries exceeded with url: /metadata/identity/oauth2/token?resource=https%3A%2F%2Fmanagement.core.windows.net%2F&api-version=2018-02-01&client_id=xxx (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x04B7DB08>: 

Failed to establish a new connection: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond'))

编辑:很好,当我在 Azure 门户上的 Cloud-Shell 中运行此命令时。

为什么我不能登录? 我错过了什么吗?

系统分配的托管标识不能用于登录。 它与您为其创建它的服务明确相关,并不意味着可以重复使用。

系统分配的 某些 Azure 服务允许您直接在服务实例上启用托管标识。 启用系统分配的托管标识时,将在 Azure AD 中创建一个标识。 身份与该服务实例的生命周期相关联。 删除资源时,Azure自动为您删除身份。 按照设计,只有 Azure 资源可以使用此身份从 Azure AD 请求令牌。

这句话最重要的部分是最后一句话:

按照设计,只有 Azure 资源可以使用此身份从 Azure AD 请求令牌。

更多信息: Azure 资源的托管标识是什么? .

还:

无法共享。
它只能与单个 Azure 资源相关联。

编辑:
根据您的问题和下面的评论,您可能正在寻找Service Principal 系统分配或用户分配的托管标识用于 Azure 资源。

托管身份为应用程序提供身份,以便在连接到支持 Azure AD 身份验证的资源时使用。

Azure 服务主体是为与应用程序、托管服务和自动化工具一起使用而创建的身份,用于访问 Azure 资源。

有关服务主体的更多信息,请参阅使用 Azure CLI 创建 Azure 服务主体

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM