Todos os produtos
Search
Central de documentação

Container Compute Service:Pull ACR images without a password

Última atualização: Jun 29, 2026

Container Compute Service (ACS) permite fazer pull de imagens do Container Registry (ACR) sem senha para aumentar a eficiência e a segurança. Este tópico descreve como fazer pull de imagens do ACR sem senha em um cluster ACS.

Informações básicas

O Container Registry (ACR) oferece hospedagem segura e distribuição eficiente de artefatos nativos da nuvem em várias edições, incluindo ACR Personal Edition e ACR Enterprise Edition. Para mais informações, consulte Introdução ao Container Registry (ACR). O ACS fornece um método de configuração unificado para fazer pull de imagens do ACR sem senha em todas as edições do ACR.

Ao configurar o acesso sem senha para um cluster ACS, o sistema injeta automaticamente as informações de autenticação das imagens do ACR durante a criação de instâncias. Isso simplifica o processo de criação de instâncias e reduz o risco de exposição de senhas, aumentando a segurança.

Nota

Imagens Docker, repositórios auto-hospedados e outras imagens fora do ACR não suportam pull sem senha.

Pré-requisitos

Antes de configurar o pull sem senha de imagens do ACR em um cluster ACS, conclua as seguintes tarefas:

  1. Crie um cluster ACS. Para mais informações, consulte Criar um cluster ACS.

  2. Crie uma instância do ACR e configure o repositório de imagens e as imagens.

  3. Se você utilizar uma instância do ACR Enterprise Edition, configure o método de acesso.

    Instâncias recém-criadas do ACR Enterprise Edition ficam desconectadas por padrão. Configure as políticas de ACL apropriadas antes de acessar a instância pela Internet ou por uma Virtual Private Cloud (VPC).

    • Acesso pela Internet: Após ativar o acesso à rede pública, acesse diretamente as imagens da instância do ACR Enterprise Edition usando o nome de domínio público (com suporte a domínios cruzados). Para mais informações, consulte Configurar controle de acesso à rede pública.

    • Acesso via VPC: Para acessar uma instância do ACR Enterprise Edition por meio de uma VPC, ative a autorização necessária. Para mais informações, consulte Configurar controle de acesso à VPC.

Como funciona

O componente sem senha faz pull de imagens privadas lendo sua configuração no console. Após a configuração, esse componente cria automaticamente um Secret no cluster e o associa ao ServiceAccount especificado. Qualquer pod que utilize esse ServiceAccount usa automaticamente o Secret gerado pelo componente sem senha para fazer pull de imagens, viabilizando o pull sem senha.

Instale e configure o componente sem senha

  1. Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, clique em Add-ons.

  3. Na página Add-ons, selecione a aba Security. Localize aliyun-acr-credential-helper e clique em Install.

  4. Na caixa de diálogo Parameters, clique em Add ao lado de AcrInstanceInfo para adicionar várias entradas de instância do ACR. Use o exemplo abaixo para configuração e clique em OK.

    1. Adicione AcrInstanceInfo.

      Nota

      O cenário padrão é configurado da seguinte forma:

      • Para sincronizar uma instância do ACR Personal Edition, use a configuração padrão de AcrInstanceInfo.

      • Para sincronizar uma instância do ACR Enterprise Edition, insira o instanceID e mantenha os outros campos com seus valores padrão.

      Chave do parâmetro

      Descrição da chave do item de configuração

      Valor

      instanceID

      ID da instância do ACR.

      Encontre sua instância no Container Registry.

      • Enterprise Edition: Em Instance , localize o Instance ID. O valor é uma string que começa com cri-.

      • Personal Edition: Deixe este campo vazio para ativar o pull sem senha para a Personal Edition.

      Valor padrão: vazio (configura a instância Personal Edition na região atual).

      regionID

      ID da região da instância do ACR.

      ID da região onde reside sua instância do ACR. Por exemplo, o ID da região de Hangzhou é cn-hangzhou.

      Valor padrão: a região do seu cluster ACS. Deixe vazio se a instância do ACR estiver na mesma região.

      domains

      Nomes de domínio usados para acessar a instância do ACR.

      Nomes de domínio para fazer pull de imagens. Separe vários domínios com vírgulas (,).

      Valor padrão: todos os domínios associados à instância do ACR especificada por instanceID (domínio público registry., domínio VPC registry-vpc., domínio interno registry-internal.*).

      assumeRoleARN

      (Opcional) O ARN da função RAM do proprietário do repositório de imagens obtido na etapa 4 de Configurar pull de imagens entre contas. Deixe vazio se não for fazer pull entre contas.

      Exemplo: acs:ram::123456789012****:test-rrsa-acr

      Valor padrão: vazio.

      expireDuration

      (Opcional) Período de validade das credenciais temporárias em cenários entre contas. Deixe vazio se não for fazer pull entre contas.

      Importante

      O valor de expireDuration deve ser menor ou igual à Max Session Duration definida para a função do proprietário do repositório de imagens na etapa 4 de Configurar pull de imagens entre contas.

      Valor padrão: 3600.

      rrsaRoleARN

      (Opcional) O ARN da função RAM do cluster ACS obtido na etapa 3 de Configurar pull de imagens entre contas. Deixe vazio se não for fazer pull entre contas.

      Exemplo: acs:ram::987654321012****:demo-role-for-rrsa

      Valor padrão: vazio.

      rrsaOIDCProviderRoleARN

      (Opcional) O ARN do provider OIDC RRSA do cluster ACS obtido na etapa 2 de Configurar pull de imagens entre contas. Deixe vazio se não for fazer pull entre contas.

      Exemplo: acs:ram::987654321012:oidc-provider/ack-rrsa-abcd1234

      Valor padrão: vazio.

    2. Configure os demais parâmetros.

      Chave do parâmetro

      Descrição da chave do item de configuração

      Valor do item de configuração

      Enable RRSA

      Selecione para ativar o RRSA (requer a conclusão das configurações relacionadas ao RRSA).

      Não selecionado por padrão. Após configurar os parâmetros do RRSA e selecionar esta opção, você pode fazer pull de imagens entre contas.

      watchNamespace

      Namespaces onde o pull de imagens sem senha está ativado.

      O valor padrão é default. Quando definido como all, indica que todos os namespaces devem suportar pulls de imagens sem senha. Para configurar múltiplos namespaces, separe-os com vírgulas (,).

      Nota

      Recomendamos especificar apenas os namespaces de suas aplicações. Evite definir como all ou usar namespaces de componentes do sistema para prevenir falhas no pull de imagens de componentes do sistema.

      serviceAccount

      Aplicar o componente sem senha à conta de serviço especificada.

      Valor padrão: default.

      Nota

      Para especificar múltiplos ServiceAccounts, separe-os com vírgulas (,). Use * para aplicar a todos os ServiceAccounts nos namespaces especificados.

      expiringThreshold

      Limiar de expiração para credenciais armazenadas em cache localmente.

      Valor padrão: 15m.

      Nota

      Recomendamos usar 15m, que atualiza as credenciais 15 minutos antes de expirarem.

      notifyEmail

      Rótulo de e-mail no Secret gerado pelo componente sem senha.

      Valor padrão: xxx@aliyun.com.

Configure o pull de imagens entre contas

Usar RRSA para pull entre contas

RAM Roles for Service Accounts (RRSA) permite o isolamento de permissões no nível de pod em clusters ACS. Ao ativar o RRSA para seu cluster ACS e compartilhar o ARN da função autorizada com os proprietários do repositório de imagens, o componente sem senha pode fazer pull de imagens do ACR entre contas.

Atualmente, o RRSA suporta pull de imagens apenas de instâncias do ACR Enterprise Edition (Basic, Standard e Pro).

Importante
  • Após ativar o RRSA, as credenciais geradas pelo componente não podem fazer pull de imagens privadas da Personal Edition nem usar outros métodos de autenticação descritos neste tópico.

  • Para ativar o RRSA no plug-in sem senha, primeiro ative o RRSA e depois configure os parâmetros relacionados ao RRSA para o plug-in. Se você inverter essa ordem, exclua o pod do plug-in sem senha após a configuração para que o RRSA tenha efeito.

  1. Ative o RRSA para seu cluster ACS. Para mais informações, consulte Ativar RRSA.

  2. O ACS cria automaticamente um provider OIDC RRSA para o cluster. No console do cluster, acesse Basic Information > Security and Audit > RRSA > OIDC para visualizar a Provider URL e o Provider ARN.

  3. O proprietário do cluster configura uma função RAM usando o provider OIDC e concede permissões de assunção de função.

    1. Crie uma função RAM usando o provider OIDC ou associe uma função RAM existente ao provider OIDC para que o componente sem senha possa usar a função para acessar a OpenAPI.

      Crie uma função RAM usando o provider OIDC

      1. Faça login no console do Resource Access Management (RAM) com sua conta Alibaba Cloud.

      2. No painel de navegação à esquerda, escolha Identities > Roles. Na página Roles, clique em Create Role.

      3. Na página Create Role, clique em Switch to Policy Editor. Defina Principal como Identity Provider. Configure a função conforme abaixo e clique em OK.

      4. Use o exemplo de configuração a seguir.

        Item de configuração

        Descrição

        IdP Type

        OIDC.

        Select IdP

        acs-rrsa-<cluster_id>. Substitua <cluster_id> pelo ID do seu cluster.

        Condition

        • oidc:iss: Mantenha o valor padrão.

        • oidc:aud: Mantenha o valor padrão.

        • oidc:sub: Defina o operador de condição como StringEquals. Use o formato system:serviceaccount:<namespace>:<serviceAccountName>.

          • <namespace>: Namespace da sua aplicação.

          • <serviceAccountName>: Nome da conta de serviço.

          Para o plug-in sem senha, você deve usar system:serviceaccount:kube-system:aliyun-acr-credential-helper.

      5. Na caixa de diálogo Create Role, defina Role Name como demo-role-for-rrsa. Clique em OK.

      Associe uma função RAM existente ao provider OIDC

      1. Faça login no console do Resource Access Management (RAM) com sua conta Alibaba Cloud.

      2. No painel de navegação à esquerda, escolha Identities > Roles. Clique no nome da função RAM desejada.

      3. Na aba Trust Policy, clique em Edit Trust Policy. Para mais informações, consulte Modifique a política de confiança de uma função RAM.

      4. Adicione a seguinte entrada de exemplo à lista Statement na política de confiança.

        {
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "oidc:aud": "sts.aliyuncs.com",
                    "oidc:iss": "<oidc_issuer_url>",
                    "oidc:sub": "system:serviceaccount:kube-system:aliyun-acr-credential-helper"
                }
            },
            "Effect": "Allow",
            "Principal": {
                "Federated": [
                    "<oidc_provider_arn>"
                ]
            }
        }
        Importante

        Substitua <oidc_issuer_url> e <oidc_provider_arn> pela Provider URL e pelo Provider ARN obtidos na etapa 2.

    2. Anexe a política de permissão AliyunSTSAssumeRoleAccess à função RAM para que o componente sem senha possa assumir a função. Para mais informações, consulte Gerencie permissões de uma função RAM.

    3. Na página Basic Information > ARN, visualize o ARN da função RAM.

  4. Configure uma função RAM para o proprietário do repositório de imagens, confie na função RAM do proprietário do cluster e conceda permissões de pull de imagens.

    1. Crie uma função RAM. Para mais informações, consulte Criar uma função RAM com conta Alibaba Cloud como entidade confiável.

    2. Confie na função RAM do cluster ACS para permitir que ela assuma a função do proprietário do repositório. Para mais informações, consulte Modifique a política de confiança de uma função RAM. Use o seguinte documento de política de exemplo:

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "RAM": [
                          "<acs_role_arn>"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
      Importante

      Substitua <acs_role_arn> pelo ARN da função RAM do cluster ACS obtido na etapa 3.

    3. Conceda permissões de pull de imagens à função RAM.

      1. Crie uma política personalizada no modo de edição de script. O conteúdo do documento de política é o seguinte. Recomendamos nomear a política como Name AliyunACRBasicAccess. Para mais informações, consulte Criar uma política personalizada.

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "cr:GetAuthorizationToken",
                        "cr:ListInstanceEndpoint",
                        "cr:PullRepository"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
      2. Conceda a permissão AliyunACRBasicAccess à função RAM. Para mais informações, consulte Gerencie permissões de uma função RAM.

    4. [Opcional] Defina a Max Session Duration para a função RAM. Os valores válidos variam de 3600 a 43200 segundos. Se você definir a Max Session Duration, defina também o parâmetro expireDuration ao configurar AcrInstanceInfo na etapa 5.

    5. Na página Basic Information > ARN, visualize o ARN da função RAM.

  5. Na configuração do componente sem senha, selecione Enable RRSA e configure AcrInstanceInfo.

    Modifique AcrInstanceInfo conforme abaixo.

    Chave do parâmetro

    Descrição

    Valor do item de configuração

    Enable RRSA

    Selecione para ativar o RRSA (requer a conclusão das configurações relacionadas ao RRSA).

    Selecionado

    rrsaRoleARN

    ARN da função RAM do cluster ACS obtido na etapa 3.

    <acs_role_arn>

    rrsaOIDCProviderRoleARN

    ARN do provider OIDC RRSA do cluster ACS obtido na etapa 2.

    oidc_provider_arn

    assumeRoleARN

    ARN da função RAM do proprietário do repositório de imagens obtido na etapa 4.

    <acr_role_arn>

    expireDuration

    Período de validade das credenciais temporárias geradas pelo componente sem senha.

    Importante

    O valor de expireDuration deve ser menor ou igual à Max Session Duration definida para a função do proprietário do repositório de imagens na etapa 4.

    Padrão: 3600. Intervalo válido: [3600, 43200]. Unidade: segundos.

Referências