Permitir que os serviços confiáveis acessem com segurança um registro de contêiner restrito à rede

Registro de Contêiner do Azure pode permitir que os serviços confiáveis do Azure selecionem para acessar um registro configurado com regras de acesso à rede. Quando serviços confiáveis são permitidos, uma instância de serviço confiável pode ignorar com segurança as regras de rede do Registro e executar operações como imagens pull ou push. Este artigo explica como habilitar e usar serviços confiáveis com um registro de contêiner do Azure restrito à rede.

Use o Azure Cloud Shell ou uma instalação local da CLI do Azure para executar os exemplos de comando neste arquivo. Para usá-lo localmente, é necessária a versão 2.18 ou posterior. Execute az --version para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.

Limitações

Sobre os serviços confiáveis

Registro de Contêiner do Azure tem um modelo de segurança em camadas, dando suporte a várias configurações de rede que restringem o acesso a um registro, incluindo:

  • Ponto de extremidade privado com o link privado do Azure. Quando configurado, o ponto de extremidade privado de um Registro é acessível somente aos recursos dentro da rede virtual, usando endereços IP privados.
  • Regras de firewall do Registro, que permitem o acesso ao ponto de extremidade público do Registro somente de endereços IP públicos específicos ou intervalos de endereços. Você também pode configurar o firewall para bloquear todo o acesso por meio do ponto de extremidade público ao usar pontos de extremidades privados.

Quando implantado em uma rede virtual ou configurado com regras de firewall, um registro nega acesso a usuários ou serviços de fora dessas fontes.

Vários serviços multi-locatário do Azure operam de redes que não podem ser incluídas nessas configurações de rede do Registro, impedindo que eles executem operações como efetuar pull ou enviar imagens por push para o Registro. Ao designar determinadas instâncias de serviço como "confiáveis", um proprietário do registro pode permitir a seleção de recursos do Azure para ignorar com segurança as configurações de rede do registro para executar operações de registro.

Serviços confiáveis

As instâncias dos serviços a seguir podem acessar um registro de contêiner de rede restrita se a configuração permitir serviços confiáveis do registro estiver habilitada (o padrão). Mais serviços serão adicionados ao longo do tempo.

Quando indicado, o acesso pelo serviço confiável requer configuração adicional de uma identidade gerenciada em uma instância de serviço, atribuição de uma função RBAC e autenticação com o registro. Para ver as etapas de exemplo, consulte Fluxo de trabalho de serviços confiáveis, mais adiante neste artigo.

Serviço confiável Cenários de uso compatíveis Configurar a identidade gerenciada com a função RBAC
Instâncias de Contêiner do Azure Implantar nas Instâncias de Contêiner do Azure por meio do Registro de Contêiner do Azure usando uma identidade gerenciada Sim, uma identidade atribuída tanto pelo sistema quanto pelo usuário
Microsoft Defender para Nuvem Verificação de vulnerabilidade através do Microsoft Defender para registros de contêiner Não
Tarefas do ACR Acessar o registro pai ou um registro diferente de uma tarefa ACR Sim
Machine Learning Implantar ou treinar um modelo em um espaço de trabalho Machine Learning usando uma imagem de contêiner personalizada do Docker Sim
Registro de Contêiner do Azure Importar imagens de ou para um registro de contêiner do Azure restrito à rede Não

Observação

No momento, habilitar a configuração "Permitir serviços confiáveis" não se aplica ao Serviço de Aplicativo.

Permitir serviços confiáveis - CLI

Por padrão, a configuração permitir serviços confiáveis está habilitada em um novo registro de contêiner do Azure. Desabilite ou habilite a configuração executando o comando az acr update.

Para desabilitar:

az acr update --name myregistry --allow-trusted-services false

Para habilitar a configuração em um registro existente ou em um registro em que ele já está desabilitado:

az acr update --name myregistry --allow-trusted-services true

Permitir serviços confiáveis - Portal

Por padrão, a configuração permitir serviços confiáveis está habilitada em um novo registro de contêiner do Azure.

Para desabilitar ou reabilitar a configuração no Portal:

  1. No portal, navegue até o registro de contêiner.
  2. Em Configurações, selecione Rede.
  3. Em Permitir acesso à rede pública, selecione Redes selecionadas ou Desabilitada.
  4. Realize um dos seguintes procedimentos:
    • Para desabilitar o acesso por serviços confiáveis, em Exceção de firewall, desmarque Permitir que os serviços confiáveis da Microsoft acessem este registro de contêiner.
    • Para permitir o acesso por serviços confiáveis, em Exceção de firewall, marque Permitir que os serviços confiáveis da Microsoft acessem este registro de contêiner.
  5. Selecione Salvar.

Fluxo de trabalho de serviços confiáveis

Aqui está um fluxo de trabalho típico para permitir que uma instância de um serviço confiável acesse um registro de contêiner de rede restrita. Esse fluxo de trabalho é necessário quando a identidade gerenciada de uma instância de serviço é usada para ignorar as regras de rede do registro.

  1. Habilite uma identidade gerenciada em uma instância de um dos serviços confiáveis para o Registro de Contêiner do Azure.
  2. Atribua à identidade uma função do Azure ao registro. Por exemplo, atribua a função ACRPull para pull de imagens de contêiner.
  3. No registro restrito à rede, configure a configuração para permitir o acesso por serviços confiáveis.
  4. Use as credenciais da identidade para autenticar com o registro restrito à rede.
  5. Efetuar pull de imagens do Registro ou executar outras operações permitidas pela função.

Exemplo: Tarefas do ACR

O exemplo a seguir demonstra o uso Tarefas do ACR como um serviço confiável. Para obter detalhes, confira Autenticação entre Registros em uma tarefa do ACR usando uma identidade gerenciada do Azure.

  1. Criar ou atualizar um registro de contêiner do Azure. Criar uma tarefa de ACR.
    • Habilita uma identidade gerenciada atribuída pelo sistema ao criar a tarefa.
    • Desabilite o modo de autenticação padrão (--auth-mode None) da tarefa.
  2. Atribua à identidade da tarefa uma função do Azure para acessar o registro. Por exemplo, atribua a função AcrPush, que tem permissões para efetuar pull e push de imagens.
  3. Adicione credenciais de identidade gerenciada para o registro à tarefa.
  4. Para confirmar que a tarefa ignora as restrições de rede, desabilite o acesso público no registro.
  5. Execute a tarefa. Se o registro e a tarefa estão configurados corretamente, a tarefa é executado com êxito, porque o registro permite o acesso.

Para testar a desabilitação do acesso por serviços confiáveis:

  1. Desabilite a configuração para permitir o acesso por serviços confiáveis.
  2. Execute a tarefa novamente. Nesse caso, a tarefa de executar falha, porque o registro não permite mais o acesso pela tarefa.

Próximas etapas