Azure 使用使用者名称和颁发者身份验证错误登录az acr

Azure 使用使用者名称和颁发者身份验证错误登录az acr,azure,azure-cli,azure-container-registry,azure-service-principal,Azure,Azure Cli,Azure Container Registry,Azure Service Principal,我正在尝试使用cli对Azure容器注册表进行身份验证。 我正在使用主体名称和颁发者身份验证,并使用服务主体对azure进行身份验证 这就是我登录azure所做的 az login --service-principal --use-cert-sn-issuer -u {app id} -p {certificate .pem file} --tenant {tenant id} 它可以工作,然后我尝试使用以下工具登录acr: az acr login --name {acr name}

我正在尝试使用cli对Azure容器注册表进行身份验证。 我正在使用主体名称和颁发者身份验证,并使用服务主体对azure进行身份验证

这就是我登录azure所做的

az login --service-principal --use-cert-sn-issuer -u {app id} -p {certificate .pem file} --tenant {tenant id}
它可以工作,然后我尝试使用以下工具登录acr:

 az acr login --name {acr name}
它失败于:

The command failed with an unexpected error. Here is the traceback:

Get Token request returned http error: 401 and server response: {"error":"invalid_client","error_description":"AADSTS700027: Client assertion contains an invalid signature. [Reason - The key was not found., Thumbprint of key used by client: {Thumbprint}, Please visit 'https://developer.microsoft.com/en-us/graph/graph-explorer' and query for 'https://graph.microsoft.com/beta/applications/{app id}' to see configured keys]\r\nTrace ID: 4546d682-75b6-4a8b-9c03-11f4821c5f00\r\nCorrelation ID: 02e4c324-25a9-47ff-a5ba-afdeec0ce5ec\r\nTimestamp: 2020-06-23 08:12:00Z","error_codes":[700027],"timestamp":"2020-06-23 08:12:00Z","trace_id":"4546d682-75b6-4a8b-9c03-11f4821c5f00","correlation_id":"02e4c324-25a9-47ff-a5ba-afdeec0ce5ec","error_uri":"https://login.microsoftonline.com/error?code=700027"}

可能是什么问题?

错误表明您的证书不太正确。在Github中也是如此,您可以按照以下步骤来解决它

或者,您可以使用CLI命令使用基于证书的身份验证创建服务主体:

az ad sp create-for-rbac --name ServicePrincipalName --create-cert
然后它会很好地为你工作。这些步骤包含更多细节。并注意以下事项:

使用PEM文件时,必须将证书附加到专用文件 在文件中键入


错误表明您的证书不是很正确。在Github中也是如此,您可以按照以下步骤来解决它

或者,您可以使用CLI命令使用基于证书的身份验证创建服务主体:

az ad sp create-for-rbac --name ServicePrincipalName --create-cert
然后它会很好地为你工作。这些步骤包含更多细节。并注意以下事项:

使用PEM文件时,必须将证书附加到专用文件 在文件中键入


我为它打开了一个问题,他们正在修复它@DanaShviro。答案也是修复它的一种方法。你试过了吗?我没有使用与我的服务原则直接相关的证书,我使用的是“主体名称和颁发者身份验证”,过去我使用的是与服务原则相关的证书,它是有效的。这是azure cli上的一个bug,将在下一个版本中解决。我为它打开了一个问题,他们正在@DanaShviro修复它。答案也是修复它的一种方法。你试过了吗?我没有使用与我的服务原则直接相关的证书,我使用的是“主体名称和颁发者身份验证”,过去我使用的是与服务原则相关的证书,它是有效的。这是azure cli上的一个bug,将在下一版本中解决