Todos os produtos
Search
Central de documentação

Container Registry:Configurar credenciais de acesso

Última atualização: Aug 28, 2026

Antes de enviar ou baixar imagens do Container Registry (ACR) com Docker, containerd ou outros clientes, configure credenciais de acesso para autenticação. As credenciais incluem senhas permanentes e temporárias. Após a autenticação, você poderá enviar e baixar imagens de contêiner ou gráficos Helm.

Descrição das credenciais

Após a autenticação, o sistema autoriza operações com base na RAM access control policy e controla o escopo das ações permitidas.

As credenciais de acesso são independentes da sua conta Alibaba Cloud e da respectiva senha. A senha permanente do ACR não é a mesma usada para login no console da sua conta (conta Alibaba Cloud ou usuário do Resource Access Management (RAM)). Trata-se de uma senha dedicada ao Registry, definida na página Access Credential no console do ACR. Existem dois tipos de credenciais:

  • Senha permanente: esta senha não expira. Em caso de vazamento, ela permanece válida até que você a redefina ativamente. Para maior segurança, recomenda-se o uso de senha temporária. Caso perca a senha, redefina-a na página de credenciais de acesso.

  • Senha temporária: esta senha tem validade de 1 hora. Se solicitada por meio do Security Token Service (STS), sua duração será igual à do token do Security Token Service usado na solicitação.

As credenciais de acesso de uma conta Alibaba Cloud e de um usuário RAM são independentes entre si. Um usuário RAM não pode utilizar a senha permanente definida pela conta Alibaba Cloud. Cada usuário RAM deve fazer login no console do ACR com sua própria conta Alibaba Cloud e definir uma senha permanente dedicada.

Ao fazer login no ACR usando Docker ou outros clientes, o valor do parâmetro --username varia conforme o tipo de conta:

  • Conta Alibaba Cloud: o nome de usuário corresponde ao nome de login da conta Alibaba Cloud. Visualize o comando completo docker login e o nome de usuário correspondente na página Access Credentials no console do ACR. Esse nome de usuário difere do ID da conta Alibaba Cloud, que é uma string numérica. O uso do ID da conta como nome de usuário resultará em falha na autenticação.

  • Usuário RAM: o nome de usuário é o nome de login do usuário RAM, no formato <RAM-user-login-name>@<default-domain-of-alibaba-cloud-account>, por exemplo username@China-1234567890.onaliyun.com.

Antes de executar docker login, verifique o formato correto do nome de usuário na página Access Credentials no console do ACR para evitar o erro unauthorized: authentication required causado por um nome de usuário incorreto.

Usar uma senha permanente

Nota

O Container Registry (ACR) não oferece suporte a login baseado em funções. Faça login usando Use a temporary password.

Usuário RAM: para definir uma senha permanente como usuário RAM no console do ACR, a conta Alibaba Cloud deve habilitar previamente a permissão Console Login para esse usuário. Um usuário RAM sem acesso ao console habilitado não consegue fazer login no console do ACR nem configurar credenciais de acesso.

A conta Alibaba Cloud não pode definir ou gerenciar a senha permanente em nome de um usuário RAM. O próprio usuário RAM deve fazer login no console do ACR com sua conta e configurar as credenciais de acesso pessoalmente.
  1. Faça login no console do Container Registry.

  2. Na barra de navegação superior, selecione uma região.

  3. No painel de navegação à esquerda, clique em Instances.

  4. Na página Instances, clique na instância Enterprise Edition que deseja gerenciar.

  5. No painel de navegação à esquerda da página de gerenciamento da instância Enterprise, escolha Instances > Access Credentials.

  6. Na página Access Credentials, clique em Set Password.

  7. Na caixa de diálogo Set Password, insira a Password e a Confirm Password. Em seguida, clique em Confirm.

    A senha deve ter entre 8 e 32 caracteres e conter pelo menos dois dos seguintes tipos: letras, símbolos e dígitos. Evite senhas fracas conhecidas publicamente, como P@ssw0rd. O símbolo $ não é suportado.

    • Botão Confirm desativado sem mensagem de erro: se o botão Confirm ficar desativado após o clique e nenhuma mensagem de erro aparecer, provavelmente a senha não atende aos requisitos de segurança (por exemplo, contém caracteres proibidos como $ ou utiliza uma senha fraca comum). Verifique e ajuste a senha e tente novamente.

    • Falha no login do Docker devido a caracteres especiais: se a senha contiver caracteres especiais como @, a execução de docker login no terminal pode falhar devido ao escape do shell, resultando no erro unauthorized: authentication required. Nesse caso, redefina a senha na página Access Credentials e utilize uma senha sem caracteres especiais.

    • Senhas anteriores não podem ser recuperadas: após a definição de uma senha permanente, seu histórico não pode ser visualizado. Caso perca a senha, redefina-a na página Access Credentials.

Próximos passos

Faça login na instância Enterprise.

  1. Configure o controle de acesso para uma VPC ou para a Internet. Para mais informações, consulte Configure internet access control ou Configure VPC access control.

  2. No terminal, insira a credencial de acesso para fazer login na instância Enterprise. Use o seguinte comando de exemplo como referência:

    docker login <Enterprise-Edition-instance-name>-registry.<region-of-the-Enterprise-Edition-instance>.cr.aliyuncs.com

Usar uma senha temporária

Execute a operação GetAuthorizationToken diretamente no OpenAPI Explorer para obter o nome de usuário e a senha temporários de login da instância desejada.
  1. Utilize um par de AccessKey existente ou consulte Create an AccessKey para criar um novo. Anote o AccessKey ID e o AccessKey secret.

  2. Use o conteúdo a seguir para Using the script editor e Manage RAM user permissions.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:GetAuthorizationToken",
                    "cr:PullRepository",
                    "cr:PushRepository"
                ],
                "Resource": "*"
            }
        ]
    }
  3. Execute os comandos abaixo para obter a senha temporária.

    ACR_ENDPOINT="<acr service endpoint>" onde <acr service endpoint> é o Endpoints da região onde a instância do ACR está localizada.
    export ALIYUN_AK="<aliyun access key>"               # The AccessKey ID from Step 1.
    export ALIYUN_SK="<aliyun access key secret>"       # The AccessKey Secret from Step 1.
    export ACR_INSTANCE_ID="<id of acr instance>"       # The target ACR instance ID.
    export ACR_ENDPOINT="<acr service endpoint>"  
    aliyun cr GetAuthorizationToken --endpoint $ACR_ENDPOINT --InstanceId $ACR_INSTANCE_ID --access-key-id $ALIYUN_AK --access-key-secret $ALIYUN_SK | jq -r '.AuthorizationToken'

Referências