Solucionar problemas de login do registro

Este artigo ajuda você a solucionar problemas que você pode encontrar ao fazer logon em um registro de contêiner do Azure.

Sintomas

Pode incluir um ou mais dos seguintes elementos:

  • Não é possível fazer login no registro usando docker login, az acr loginou ambos
  • Não é possível fazer login no registro e você recebe erro unauthorized: authentication required ou unauthorized: Application not registered with AAD
  • Não é possível fazer logon no registro e você recebe o erro da CLI do Azure Could not connect to the registry login server
  • Não é possível enviar ou puxar imagens e você recebe um erro do Docker unauthorized: authentication required
  • Não é possível acessar um registro usando az acr login e você recebe erro CONNECTIVITY_REFRESH_TOKEN_ERROR. Access to registry was denied. Response code: 403. Unable to get admin user credentials with message: Admin user is disabled. Unable to authenticate using AAD or admin login credentials.
  • Não é possível acessar o registro do Serviço Kubernetes do Azure, Azure DevOps ou outro serviço do Azure
  • Não é possível acessar o registro e você recebe um erro Error response from daemon: login attempt failed with status: 403 Forbidden - Consulte Solucionar problemas de rede com o registro
  • Não é possível acessar ou exibir configurações do Registro no portal do Azure ou gerenciar o Registro usando a CLI do Azure

Causas

  • O Docker não está configurado corretamente em seu ambiente - solução
  • O registro não existe ou o nome está incorreto - solução
  • As credenciais do Registro não são válidas - solução
  • O acesso público do registo está desativado. As regras de acesso à rede pública no registo impedem o acesso - solução
  • As credenciais não estão autorizadas para operações push, pull ou Azure Resource Manager - solução
  • As credenciais expiraram - solução

Diagnóstico adicional

Execute o comando az acr check-health para obter mais informações sobre a integridade do ambiente do Registro e, opcionalmente, acessar um Registro de destino. Por exemplo, diagnostique erros de configuração do Docker ou problemas de login do Microsoft Entra.

Consulte Verificar a integridade de um registro de contêiner do Azure para obter exemplos de comando. Se forem reportados erros, reveja a referência de erro e as secções seguintes para obter as soluções recomendadas.

Siga as instruções do documento de suporte do AKS se não conseguir extrair imagens do ACR para o cluster do AKS.

Nota

Alguns erros de autenticação ou autorização também podem ocorrer se houver configurações de firewall ou de rede que impeçam o acesso ao Registro. Consulte Solucionar problemas de rede com o Registro.

Soluções potenciais

Verificar a configuração do Docker

A maioria dos fluxos de autenticação do Registro de Contêiner do Azure requer uma instalação local do Docker para que você possa autenticar com seu Registro para operações como envio e extração de imagens. Confirme se o cliente e o daemon da CLI do Docker (Docker Engine) estão em execução em seu ambiente. Você precisa do cliente Docker versão 18.03 ou posterior.

Ligações úteis:

Especifique o nome correto do Registro

Ao usar docker logino , forneça o nome completo do servidor de login do Registro, como myregistry.azurecr.io. Certifique-se de usar apenas letras minúsculas. Exemplo:

docker login myregistry.azurecr.io

Ao usar o logon az acr com uma identidade do Microsoft Entra, primeiro entre na CLI do Azure e especifique o nome do recurso do Azure do Registro. O nome do recurso é o nome fornecido quando o registro foi criado, como myregistry (sem um sufixo de domínio). Exemplo:

az acr login --name myregistry

Ligações úteis:

Confirmar credenciais para aceder ao registo

Verifique a validade das credenciais que você usa para seu cenário ou foram fornecidas a você por um proprietário do registro. Alguns problemas possíveis:

  • Se estiver usando uma entidade de serviço do Ative Directory, certifique-se de usar as credenciais corretas no locatário do Ative Directory:
    • Nome de usuário - ID do aplicativo principal do serviço (também chamado de ID do cliente)
    • Senha - senha da entidade de serviço (também chamada de segredo do cliente)
  • Se estiver usando um serviço do Azure, como o Serviço Kubernetes do Azure ou o Azure DevOps, para acessar o Registro, confirme a configuração do Registro para seu serviço.
  • Se você executou az acr login com a opção, que permite o --expose-token login do registro sem usar o daemon do Docker, certifique-se de autenticar com o nome 00000000-0000-0000-0000-000000000000de usuário .
  • Se o seu registro estiver configurado para acesso pull anônimo, as credenciais existentes do Docker armazenadas de um login anterior do Docker podem impedir o acesso anônimo. Execute docker logout antes de tentar uma operação de pull anônima no registro.

Ligações úteis:

Confirmar se as credenciais estão autorizadas para aceder ao registo

Confirme as permissões do Registro associadas às credenciais, como a função do Azure para extrair imagens do Registro ou a AcrPullAcrPush função para enviar imagens por push.

O acesso a um registro no portal ou gerenciamento do Registro usando a CLI do Azure requer pelo menos a Reader função ou permissões equivalentes para executar operações do Azure Resource Manager.

Se as suas permissões foram alteradas recentemente para permitir o acesso ao registo através do portal, poderá ter de experimentar uma sessão anónima ou privada no seu browser para evitar qualquer cache ou cookies obsoletos do navegador.

Você ou um proprietário do Registro deve ter privilégios suficientes na assinatura para adicionar ou remover atribuições de função.

Ligações úteis:

Verifique se as credenciais não expiraram

Tokens e credenciais do Ative Directory podem expirar após períodos definidos, impedindo o acesso ao Registro. Para habilitar o acesso, as credenciais podem precisar ser redefinidas ou regeneradas.

  • Se estiver a utilizar uma identidade individual do AD, uma identidade gerida ou uma entidade de serviço para o início de sessão do registo, o token do AD expira após 3 horas. Inicie sessão novamente no registo.
  • Se estiver usando uma entidade de serviço do AD com um segredo de cliente expirado, o proprietário da assinatura ou o administrador da conta precisará redefinir as credenciais ou gerar uma nova entidade de serviço.
  • Se estiver usando um token com escopo de repositório, o proprietário do registro pode precisar redefinir uma senha ou gerar um novo token.

Ligações úteis:

Resolução de problemas avançados

Se a coleção de logs de recursos estiver habilitada no Registro, revise o log ContainerRegistryLoginEvents. Esse log armazena eventos e status de autenticação, incluindo a identidade de entrada e o endereço IP. Consulte o log em busca de falhas de autenticação do Registro.

Ligações úteis:

Próximos passos

Se não resolver o problema aqui, consulte as seguintes opções.