Partilhar via


Configurar regras para acessar um registro de contêiner do Azure atrás de um firewall

Este artigo explica como configurar regras no firewall para permitir o acesso a um registro de contêiner do Azure. Por exemplo, um dispositivo do Azure IoT Edge atrás de um firewall ou servidor proxy pode precisar acessar um registro de contêiner para extrair uma imagem de contêiner. Ou, um servidor bloqueado em uma rede local pode precisar de acesso para enviar uma imagem.

Se, em vez disso, você quiser configurar o acesso de rede de entrada a um registro de contêiner somente em uma rede virtual do Azure, consulte Configurar o Link Privado do Azure para um Registro de contêiner do Azure.

Sobre os pontos de extremidade do Registro

Para extrair ou enviar imagens ou outros artefatos para um registro de contêiner do Azure, um cliente, como um daemon do Docker, precisa interagir por HTTPS com dois pontos de extremidade distintos. Para clientes que acessam um registro por trás de um firewall, você precisa configurar regras de acesso para ambos os pontos de extremidade. Ambos os pontos finais são alcançados pela porta 443.

  • Ponto de extremidade da API REST do Registro - As operações de autenticação e gerenciamento do Registro são tratadas por meio do ponto de extremidade público da API REST do Registro. Este ponto de extremidade é o nome do servidor de login do Registro. Exemplo: myregistry.azurecr.io

    • Ponto de extremidade da API REST do Registro para certificados - o Registro de contêiner do Azure usa um certificado SSL curinga para todos os subdomínios. Ao se conectar ao registro de contêiner do Azure usando SSL, o cliente deve ser capaz de baixar o certificado para o handshake TLS. Nesses casos, azurecr.io também deve ser acessível.
  • Ponto de extremidade de armazenamento (dados) - O Azure aloca armazenamento de blob em contas de Armazenamento do Azure em nome de cada registro para gerenciar os dados para imagens de contêiner e outros artefatos. Quando um cliente acessa camadas de imagem em um registro de contêiner do Azure, ele faz solicitações usando um ponto de extremidade de conta de armazenamento fornecido pelo Registro.

Se o seu registro for replicado geograficamente, um cliente pode precisar interagir com o ponto de extremidade de dados em uma região específica ou em várias regiões replicadas.

Permitir acesso a REST e pontos de extremidade de dados

  • Ponto de extremidade REST - Permite acesso ao nome <registry-name>.azurecr.iodo servidor de login do Registro totalmente qualificado ou a um intervalo de endereços IP associado
  • Ponto de extremidade de armazenamento (dados) - Permita o acesso a todas as contas de armazenamento de blob do Azure usando o curinga *.blob.core.windows.netou um intervalo de endereços IP associado.

Nota

O Registro de Contêiner do Azure está introduzindo pontos de extremidade de dados dedicados, permitindo que você defina o escopo rigoroso das regras de firewall do cliente para seu armazenamento do Registro. Opcionalmente, habilite pontos de extremidade de dados em todas as regiões onde o registro está localizado ou replicado, usando o formulário <registry-name>.<region>.data.azurecr.io.

Sobre os FQDN's do Registro

O registro tem dois FQDN's, a url de login e o ponto de extremidade de dados.

  • Tanto a url de login quanto o ponto de extremidade de dados são acessíveis de dentro da rede virtual, usando IP privados habilitando um link privado.
  • Um registro que não usa pontos de extremidade de dados teria que acessar os dados de um ponto de extremidade do formulário *.blob.core.windows.net e não fornece o isolamento necessário ao configurar regras de firewall.
  • Um registro com um link privado habilitado obtém o ponto de extremidade de dados dedicado automaticamente.
  • Um ponto de extremidade de dados dedicado é criado por região para um registro.
  • O URL de login permanece o mesmo, independentemente de o ponto de extremidade de dados estar habilitado ou desativado.

Permitir acesso por intervalo de endereços IP

Se a sua organização tiver políticas para permitir o acesso apenas a endereços IP ou intervalos de endereços específicos, transfira Intervalos de IP do Azure e Etiquetas de Serviço – Public Cloud.

Para localizar os intervalos de IP do ponto de extremidade ACR REST para os quais você precisa permitir acesso, procure AzureContainerRegistry no arquivo JSON.

Importante

Os intervalos de endereços IP dos serviços do Azure podem ser alterados e as atualizações são publicadas semanalmente. Baixe o arquivo JSON regularmente e faça as atualizações necessárias em suas regras de acesso. Se o seu cenário envolver a configuração de regras de grupo de segurança de rede em uma rede virtual do Azure ou se você usar o Firewall do Azure, use a marca de serviço AzureContainerRegistry.

Endereços IP REST para todas as regiões

{
  "name": "AzureContainerRegistry",
  "id": "AzureContainerRegistry",
  "properties": {
    "changeNumber": 10,
    "region": "",
    "platform": "Azure",
    "systemService": "AzureContainerRegistry",
    "addressPrefixes": [
      "13.66.140.72/29",
    [...]

Endereços IP REST para uma região específica

Pesquise a região específica, como AzureContainerRegistry.AustraliaEast.

{
  "name": "AzureContainerRegistry.AustraliaEast",
  "id": "AzureContainerRegistry.AustraliaEast",
  "properties": {
    "changeNumber": 1,
    "region": "australiaeast",
    "platform": "Azure",
    "systemService": "AzureContainerRegistry",
    "addressPrefixes": [
      "13.70.72.136/29",
    [...]

Endereços IP de armazenamento para todas as regiões

{
  "name": "Storage",
  "id": "Storage",
  "properties": {
    "changeNumber": 19,
    "region": "",
    "platform": "Azure",
    "systemService": "AzureStorage",
    "addressPrefixes": [
      "13.65.107.32/28",
    [...]

Endereços IP de armazenamento para regiões específicas

Pesquise a região específica, como Storage.AustraliaCentral.

{
  "name": "Storage.AustraliaCentral",
  "id": "Storage.AustraliaCentral",
  "properties": {
    "changeNumber": 1,
    "region": "australiacentral",
    "platform": "Azure",
    "systemService": "AzureStorage",
    "addressPrefixes": [
      "52.239.216.0/23"
    [...]

Permitir acesso por etiqueta de serviço

Em uma rede virtual do Azure, use regras de segurança de rede para filtrar o tráfego de um recurso, como uma máquina virtual, para um registro de contêiner. Para simplificar a criação das regras de rede do Azure, use a marca de serviço AzureContainerRegistry. Uma marca de serviço representa um grupo de prefixos de endereço IP para acessar um serviço do Azure globalmente ou por região do Azure. A tag é atualizada automaticamente quando os endereços são alterados.

Por exemplo, crie uma regra de grupo de segurança de rede de saída com o destino AzureContainerRegistry para permitir o tráfego para um registro de contêiner do Azure. Para permitir o acesso à marca de serviço somente em uma região específica, especifique a região no seguinte formato: AzureContainerRegistry.[nome da região].

Habilitar pontos de extremidade de dados dedicados

Aviso

Se você configurou anteriormente o acesso do firewall do cliente aos pontos de extremidade existentes *.blob.core.windows.net , alternar para pontos de extremidade de dados dedicados afetará a conectividade do cliente, causando falhas de recebimento. Para garantir que os clientes tenham acesso consistente, adicione as novas regras de ponto de extremidade de dados às regras de firewall do cliente. Depois de concluído, habilite pontos de extremidade de dados dedicados para seus registros usando a CLI do Azure ou outras ferramentas.

Pontos de extremidade de dados dedicados são um recurso opcional da camada de serviço de registro de contêiner Premium . Para obter informações sobre camadas e limites de serviço do Registro, consulte Camadas de serviço do Registro de Contêiner do Azure.

Você pode habilitar pontos de extremidade de dados dedicados usando o portal do Azure ou a CLI do Azure. Os pontos finais de dados seguem um padrão regional, <registry-name>.<region>.data.azurecr.io. Em um registro replicado geograficamente, habilitar pontos de extremidade de dados habilita pontos de extremidade em todas as regiões de réplica.

Portal

Para habilitar pontos de extremidade de dados usando o portal:

  1. Navegue até o registro do contêiner.
  2. Selecione Acesso público de rede>.
  3. Marque a caixa de seleção Habilitar ponto de extremidade de dados dedicado.
  4. Selecione Guardar.

O ponto de extremidade ou pontos de extremidade de dados aparecem no portal.

Pontos finais de dados dedicados no portal

CLI do Azure

Para habilitar pontos de extremidade de dados usando a CLI do Azure, use a CLI do Azure versão 2.4.0 ou superior. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

O seguinte comando az acr update habilita pontos de extremidade de dados dedicados em um registro myregistry.

az acr update --name myregistry --data-endpoint-enabled

Para exibir os pontos de extremidade de dados, use o comando az acr show-endpoints :

az acr show-endpoints --name myregistry

A saída para fins de demonstração mostra dois pontos finais regionais

{
    "loginServer": "myregistry.azurecr.io",
    "dataEndpoints": [
        {
            "region": "eastus",
            "endpoint": "myregistry.eastus.data.azurecr.io",
        },
        {
            "region": "westus",
            "endpoint": "myregistry.westus.data.azurecr.io",
        }
    ]
}

Depois de configurar pontos de extremidade de dados dedicados para seu registro, você pode habilitar regras de acesso ao firewall do cliente para os pontos de extremidade de dados. Habilite as regras de acesso ao ponto de extremidade de dados para todas as regiões de registro necessárias.

Configurar regras de firewall do cliente para MCR

Se você precisar acessar o Microsoft Container Registry (MCR) por trás de um firewall, consulte as orientações para configurar regras de firewall do cliente MCR. MCR é o registro principal para todas as imagens docker publicadas pela Microsoft, como imagens do Windows Server.

Próximos passos