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 login
ou ambos - Não é possível fazer login no registro e você recebe erro
unauthorized: authentication required
ouunauthorized: 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 erroCONNECTIVITY_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 login
o , 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 nome00000000-0000-0000-0000-000000000000
de 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:
- Visão geral da autenticação
- Login individual com ID do Microsoft Entra
- Login com a entidade de serviço
- Login com identidade gerenciada
- Login com token com escopo de repositório
- Login com conta de administrador
- Códigos de erro de autenticação e autorização do Microsoft Entra
- Referência de login AZ ACR
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 AcrPull
AcrPush
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:
- Funções e permissões do Azure - Azure Container Registry
- Login com token com escopo de repositório
- Adicionar ou remover atribuições de funções do Azure com o portal do Azure
- Use o portal para criar um aplicativo Microsoft Entra e uma entidade de serviço que possa acessar recursos
- Criar um novo segredo da aplicação
- Códigos de autenticação e autorização do Microsoft Entra
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:
- Redefinir credenciais da entidade de serviço
- Regenerar senhas de token
- Login individual com ID do Microsoft Entra
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:
- Logs para avaliação diagnóstica e auditoria
- Perguntas frequentes sobre o registro de contêiner
- Práticas recomendadas para o Registro de Contêiner do Azure
Próximos passos
Se não resolver o problema aqui, consulte as seguintes opções.
- Outros tópicos de solução de problemas do registro incluem:
- Opções de suporte da comunidade
- Microsoft Q&A
- Abra um tíquete de suporte - com base nas informações fornecidas, um diagnóstico rápido pode ser executado para falhas de autenticação em seu registro