Para acessar e gerenciar imagens de contêiner no Alibaba Cloud Container Registry (ACR) com segurança, configure a autenticação em clientes como Docker e containerd. Após a autenticação e autorização bem-sucedidas, envie e baixe imagens de contêiner ou gráficos Helm.
Informações básicas
As credenciais de acesso autenticam clientes como Docker e containerd. Após a autenticação bem-sucedida, uma política de controle de acesso do RAM configurada determina a autorização para envio e download de imagens de contêiner ou gráficos Helm. Recomendamos definir uma senha exclusiva para o ACR, diferente da senha de login do console. Essa prática protege outros serviços caso a senha do cliente seja comprometida.
Há dois tipos de credenciais disponíveis:
Senha permanente: não expira. Mantenha-a segura. Se perder a senha, redefina-a.
Senha temporária: válida por uma hora. Se solicitada pelo Security Token Service (STS), o período de validade será igual ao do token STS.
As contas Alibaba Cloud e os usuários RAM são independentes. Um usuário RAM não pode usar a credencial de acesso de uma conta Alibaba Cloud; ele deve configurar sua própria credencial.
Usar uma senha permanente
O Container Registry (ACR) não oferece suporte a login baseado em função. Para fazer login com uma função, use uma senha temporária.
Procedimento
Faça login no console do Container Registry.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique na instância Enterprise Edition que deseja gerenciar.
No painel de navegação à esquerda, escolha .
Na página Access Credentials, clique em Set Password.
Na caixa de diálogo Set Password, insira uma senha nos campos Password e Confirm Password e clique em Confirm.
Próximas etapas
Faça login na instância Enterprise Edition.
Configure o controle de acesso pela Internet ou por uma VPC. Para mais informações, consulte Configurar controle de acesso pela Internet ou Configurar controle de acesso para uma VPC.
-
No terminal, use a credencial de acesso para fazer login na instância Enterprise Edition. Exemplo de comando:
docker login <instance-name>-registry.<region-id>.cr.aliyuncs.com
Usar uma senha temporária
Pré-requisitos
Instalação da Alibaba Cloud CLI e credenciais configuradas.
Instalação da ferramenta de linha de comando jq.
Criação de um usuário RAM.
Também é possível executar a operação GetAuthorizationToken no OpenAPI Explorer para obter um nome de usuário e uma senha temporários para a instância de destino.
Procedimento
Use um par de AccessKey existente ou crie um novo. Anote o AccessKey ID e o AccessKey secret. Para mais informações, consulte Criar um par de AccessKey.
-
Use o script a seguir para criar uma política personalizada e conceder permissões ao usuário RAM.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:PullRepository", "cr:PushRepository" ], "Resource": "*" } ] } -
Execute os comandos a seguir para obter um token temporário.
NotaEm
ACR_ENDPOINT="<acr service endpoint>", substitua<acr service endpoint>pelo endpoint de serviço da região da instância ACR.export ALIYUN_AK="<aliyun access key>" # Your AccessKey ID from Step 1. export ALIYUN_SK="<aliyun access key secret>" # Your AccessKey secret from Step 1. export ACR_INSTANCE_ID="<id of acr instance>" # Your 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'
Próximas etapas
Faça login na instância Enterprise Edition.
Configure o controle de acesso pela Internet ou por uma VPC. Para mais informações, consulte Configurar controle de acesso pela Internet ou Configurar controle de acesso para uma VPC.
-
No terminal, use a credencial de acesso para fazer login na instância Enterprise Edition. Exemplo de comando:
docker login --username=cr_temp_user <instance-name>-registry.<region-id>.cr.aliyuncs.com