Todos os produtos
Search
Central de documentação

Elastic Container Instance:Pull de imagens ACR sem secrets

Última atualização: Jun 28, 2026

O Elastic Container Instance (ECI) permite baixar imagens do Container Registry (ACR) sem secrets, o que aumenta a eficiência e a segurança. Este tópico descreve como ativar esse acesso sem secrets.

Informações básicas

O Alibaba Cloud Container Registry (ACR) está disponível nas edições Personal e Enterprise. A Enterprise Edition é uma plataforma de nível empresarial para gerenciar artefatos de aplicações cloud-native. Ela oferece gerenciamento de ciclo de vida para imagens de contêiner, Helm Chart e artefatos compatíveis com OCI. Essa edição é adequada para implantações de negócios em grande escala e ajuda as empresas a reduzir a complexidade de entrega. Para obter mais informações, consulte Introdução ao Container Registry (ACR).

Ao criar uma instância do ECI ou um cache de imagem usando uma imagem do ACR, configure o acesso sem secrets. Isso simplifica o processo, melhora a eficiência e aumenta a segurança ao evitar vazamento de credenciais.

Nota

O pull sem secrets não é suportado para imagens fora do ACR, como imagens Docker.

Pré-requisitos

Antes de baixar imagens ACR sem secrets, conclua as seguintes tarefas:

  1. Crie uma instância do ACR e configure seus repositórios e imagens.

  2. Se você usar uma instância do ACR Enterprise Edition, configure os controles de acesso à rede.

    Por padrão, novas instâncias do ACR Enterprise Edition ficam desconectadas de todas as redes. Configure uma lista de controle de acesso (ACL) para permitir o acesso pela internet ou por uma Virtual Private Cloud (VPC).

Configuração

O suporte ao pull de imagens sem secrets varia conforme o tipo de instância do ACR e se a instância e o recurso ECI pertencem à mesma conta Alibaba Cloud.

Cenário de conta

Tipo de ACR

Suporte

Mesma conta

  • Personal Edition

  • Enterprise Edition (nome de domínio padrão)

Ativado por padrão. Configure uma função RAM para restringir o escopo do acesso sem secrets.

Mesma conta

Enterprise Edition (nome de domínio personalizado)

Desativado por padrão. Especifique a instância do ACR para ativar o acesso sem secrets.

Contas diferentes

  • Personal Edition

  • Enterprise Edition

Desativado por padrão. Configure uma função RAM para ativar o acesso sem secrets.

Escolha a configuração correspondente à sua conta e à configuração da instância do ACR.

Restringir acesso com uma função RAM

Quando uma instância do ACR e um recurso ECI estão na mesma conta Alibaba Cloud, o acesso sem secrets é ativado por padrão para instâncias da Personal Edition e para instâncias da Enterprise Edition que usam um nome de domínio padrão. Opcionalmente, configure uma função do Resource Access Management (RAM) para restringir esse acesso, por exemplo, para permitir pulls apenas de uma instância específica do ACR.

Nota

Por padrão, o ECI usa a função vinculada ao serviço AliyunServiceRoleForECI para acessar outros serviços em nuvem ao criar recursos ECI. Essa função inclui permissões para baixar imagens de todas as instâncias do ACR Personal Edition e das instâncias do ACR Enterprise Edition que usam um nome de domínio padrão dentro da mesma conta, mas não permite controle refinado.

Essa configuração consiste em duas etapas.

Etapa 1: Criar e autorizar uma função RAM

  1. Crie uma função RAM para um serviço confiável da Alibaba Cloud. Para obter mais informações, consulte Criar uma função RAM para um serviço confiável da Alibaba Cloud.

    Observe os seguintes parâmetros:

    • Tipo de principal: Cloud Service

    • Nome do principal: Elastic Container Instance

    • Nome da função: acr-test (exemplo)

  2. Crie uma política de permissão personalizada. Para obter mais informações, consulte Criar uma política de permissão personalizada.

    A política a seguir permite o pull de imagens apenas da instância do ACR especificada. Para obter mais informações sobre como escrever uma política de permissão, consulte Elementos de política.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:Get*",
                    "cr:List*"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "cr:Pull*"
                ],
                "Resource": [
                    "acs:cr:cn-hangzhou:1609982529******:instance/cri-nwj395hgf6f3****"
                ]
            }
        ]
    }
  3. Anexe a política de permissão personalizada à função RAM. Para obter mais informações, consulte Conceder permissões a uma função RAM.

  4. Localize a nova função acr-test e clique em seu nome para abrir a página de detalhes. Verifique as permissões e obtenha o ARN.

    Na seção Basic Information, localize o campo ARN (formatado como acs:ram::<AccountID>:role/acr-test) e clique no botão de cópia ao lado dele. Na aba Permissions, verifique se a política personalizada acr está anexada.

Etapa 2: Especificar a função RAM

Ao chamar a operação CreateContainerGroup para criar uma instância do ECI ou a operação CreateImageCache para criar um cache de imagem, defina o parâmetro AcrRegistryInfo.N.ArnService para especificar a função RAM a ser usada na criação do recurso. A tabela a seguir descreve esse parâmetro. Para obter mais informações, consulte CreateContainerGroup e CreateImageCache.

Parâmetro

Tipo

Exemplo

Descrição

AcrRegistryInfo.N.ArnService

string

acs:ram::1609982529:role/acr-test

O ARN da função RAM na conta Alibaba Cloud proprietária do recurso ECI.

O exemplo a seguir mostra como passar parâmetros via OpenAPI para criar uma instância do ECI:

ContainerGroupName=test-acr
#Container
Container.1.Name=test
Container.1.Image=test****-registry.cn-hangzhou.cr.aliyuncs.com/eci_test/nginx:1.0
#AcrRegistryInfo
AcrRegistryInfo.1.ArnService=acs:ram::1609982529******:role/acr-test

Especificar uma instância do ACR Enterprise

Se uma instância do ACR Enterprise Edition usar um nome de domínio personalizado e pertencer à mesma conta Alibaba Cloud do recurso ECI, especifique a instância do ACR para ativar o acesso sem secrets.

API

Ao chamar a API CreateContainerGroup para criar uma instância do ECI ou a API CreateImageCache para criar um cache de imagem, defina parâmetros relacionados a AcrRegistryInfo para especificar uma instância do ACR. A tabela a seguir descreve esses parâmetros. Para obter mais informações, consulte CreateContainerGroup e CreateImageCache.

Parâmetro

Tipo

Exemplo

Descrição

AcrRegistryInfo.N.RegionId

string

cn-beijing

A região da instância do ACR Enterprise Edition.

Este parâmetro é obrigatório se a instância do ACR Enterprise Edition e o recurso ECI estiverem em regiões diferentes.

AcrRegistryInfo.N.InstanceId

string

cri-nwj395hgf6f3****

O ID da instância do ACR Enterprise Edition.

Este parâmetro é obrigatório se a instância do ACR Enterprise Edition usar um nome de domínio personalizado.

AcrRegistryInfo.N.Domain.N

array

test****-registry.example.com

O nome de domínio da instância do ACR Enterprise Edition.

AcrRegistryInfo.N.InstanceName

string

test****

O nome da instância do ACR Enterprise Edition.

Os exemplos a seguir mostram como passar parâmetros via OpenAPI para criar uma instância do ECI:

  • Exemplo 1: Especificar apenas o ID da instância do ACR

    ContainerGroupName=test
    #Container
    Container.1.Name=c1
    Container.1.Image=test****-registry.example.com/eci_test/nginx:1.0
    #AcrRegistryInfo
    AcrRegistryInfo.1.InstanceId=cri-nwj395hg********
  • Exemplo 2: Especificar a região e o ID da instância do ACR

    ContainerGroupName=test
    #Container
    Container.1.Name=c1
    Container.1.Image=test****-registry.example.com/eci_test/nginx:1.0
    Container.2.Name=c2
    Container.2.Image=test****-registry.example.com/eci_test/busybox:1.0
    Container.2.Command=sleep
    Container.2.Arg=3600
    #AcrRegistryInfo
    AcrRegistryInfo.1.RegionId=cn-beijing
    AcrRegistryInfo.1.InstanceId=cri-nwj395hg********

Console

Ao criar uma instância do ECI na página de compra do ECI, acesse a seção Container Configuration. Em seguida, selecione uma imagem para um contêiner e use a aba Enterprise Image para especificar uma imagem de uma instância do ACR Enterprise Edition.

Na caixa de diálogo Enterprise Image, configure as informações da instância do Container Registry (CRI), incluindo Region e Instance Name. Depois, selecione o Image Repository e o Domain Name e clique em OK.

Nota

Não é possível especificar uma imagem de uma instância do ACR Enterprise Edition ao criar um cache de imagem no console.

Acesso entre contas com funções RAM

Se a instância do ACR e o recurso ECI pertencerem a contas Alibaba Cloud diferentes, configure e autorize funções RAM em ambas as contas para ativar o acesso sem secrets.

Etapa 1: Criar e autorizar funções RAM

  1. Na Conta A, proprietária do recurso ECI, crie e autorize uma função RAM.

    1. Crie uma função RAM para um serviço confiável da Alibaba Cloud. Para obter mais informações, consulte Criar uma função RAM para um serviço confiável da Alibaba Cloud.

      Observe os seguintes parâmetros:

      • Tipo de principal: Cloud Service

      • Nome do principal: Elastic Container Instance

      • Nome da função: role-assume (exemplo)

    2. Conceda à função role-assume permissões para chamar a operação AssumeRole do Security Token Service (STS). Para obter mais informações, consulte Conceder permissões a uma função RAM.

      Anexe a política de sistema AliyunSTSAssumeRoleAccess.

    3. Localize a função role-assume recém-criada, clique em seu nome para acessar a página de detalhes e, em seguida, verifique as permissões e a política de confiança e obtenha o ARN.

      • Permissões e ARN

        O ARN da função RAM é acs:ram::<AccountID>:role/role-assume. A função recebeu a política de sistema AliyunSTSAssumeRoleAccess, que permite chamar a operação AssumeRole do STS.

      • Política de confiança

        {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "eci.aliyuncs.com"
                ]
              }
            }
          ],
          "Version": "1"
        }
  2. Na Conta B, proprietária da instância do ACR, crie e autorize uma função RAM.

    1. Crie uma função RAM para uma conta confiável da Alibaba Cloud. Para obter mais informações, consulte Criar uma função RAM para uma conta confiável da Alibaba Cloud.

      Observe os seguintes parâmetros:

      • Tipo de principal: Alibaba Cloud Account

      • Nome do principal: Other Alibaba Cloud Account. Insira o ID da Conta A, proprietária do recurso ECI.

      • Nome da função: role-acr (exemplo)

    2. Conceda à função role-acr permissões para baixar imagens do ACR. Para obter mais informações, consulte Conceder permissões a uma função RAM.

      Anexe a política de sistema AliyunContainerRegistryFullAccess.

    3. Modifique a política de confiança para permitir que a função role-assume assuma a função role-acr. Para obter mais informações, consulte Modificar a política de confiança de uma função RAM.

      Por padrão, qualquer usuário RAM ou função RAM autorizada na Conta A pode assumir a função role-acr. Recomendamos modificar a política de confiança para uma autorização precisa.

      Na seção Principal, altere o valor do campo RAM para o ARN da função role-assume. Isso garante que apenas a função role-assume possa assumir a função role-acr. Exemplo:

      "Principal": {
      	"RAM": [
      		"acs:ram::1609982529******:role/role-assume"
      	]
      }
    4. Verifique as permissões e a política de confiança e obtenha o ARN.

      • Permissões e ARN

        O ARN da função role-acr é acs:ram::<AccountID>:role/role-acr. Clique no botão de cópia para copiar o valor. Na aba Permissions, verifique se a política de sistema AliyunContainerRegistryFullAccess está anexada e se o escopo do recurso está no nível da conta.

      • Política de confiança

        {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "RAM": ["acs:ram::10051309xxxx:role/role-assume"]
              }
            }
          ],
          "Version": "1"
        }

Etapa 2: Especificar as funções RAM

Ao chamar a operação CreateContainerGroup ou CreateImageCache, defina os parâmetros AcrRegistryInfo para especificar uma instância do ACR de outra conta Alibaba Cloud. Observe o seguinte:

  • Se a instância do ACR pertencer a outra conta Alibaba Cloud, defina os parâmetros ArnService e ArnUser para especificar as funções RAM para configuração de permissões.

  • Se a instância do ACR Enterprise Edition usar um nome de domínio personalizado, também defina o parâmetro InstanceId.

Para obter mais informações, consulte CreateContainerGroup e CreateImageCache.

Parâmetro

Tipo

Exemplo

Descrição

AcrRegistryInfo.N.ArnService

string

acs:ram::1609982529:role/role-assume

O ARN da função RAM na conta proprietária do recurso ECI.

AcrRegistryInfo.N.ArnUser

string

acs:ram::1298452580:role/role-acr

O ARN da função RAM na conta proprietária da instância do ACR.

AcrRegistryInfo.N.RegionId

string

cn-beijing

A região da instância do ACR Enterprise Edition.

Este parâmetro é obrigatório se a instância do ACR Enterprise Edition e o recurso ECI estiverem em regiões diferentes.

AcrRegistryInfo.N.InstanceId

string

cri-nwj395hgf6f3****

O ID da instância do ACR Enterprise Edition.

Este parâmetro é obrigatório se a instância do ACR Enterprise Edition usar um nome de domínio personalizado.

O exemplo a seguir mostra como passar parâmetros via OpenAPI para criar uma instância do ECI:

ContainerGroupName=test-acr
#Container
Container.1.Name=test
Container.1.Image=test****-registry.cn-hangzhou.cr.aliyuncs.com/eci_test/nginx:1.0
#AcrRegistryInfo
AcrRegistryInfo.1.ArnService=acs:ram::1609982529******:role/role-assume
AcrRegistryInfo.1.ArnUser=acs:ram::1298452580******:role/role-acr