Configurar restrições de entrada de IP em Aplicativos de Contêiner do Azure

O Azure Container Apps permite-lhe limitar o tráfego de entrada para a sua aplicação contentor configurando restrições de entrada por IP.

Existem dois tipos de restrições:

  • Permitir: permita o tráfego de entrada somente dos intervalos de endereços especificados nas regras de permissão.
  • Negar: Negar todo o tráfego de entrada nos intervalos de endereços que especificas nas regras de recusa.

Quando defines regras de não restrição de IP, todo o tráfego de entrada é permitido.

As regras de restrições de IP contêm as seguintes propriedades:

Propriedade valor Descrição
nome cadeia (de caracteres) O nome da regra.
descrição cadeia (de caracteres) Uma descrição da regra.
ipAddressRange Intervalo de endereços IP no formato CIDR O intervalo de endereços IP na notação CIDR.
ação Permitir ou Negar A ação a ser tomada pela regra.

O ipAddressRange parâmetro aceita endereços IPv4. Defina cada bloco de endereço IPv4 na notação CIDR (Roteamento entre Domínios sem Classe).

Nota

Todas as regras devem ser do mesmo tipo. Não podes combinar regras de permissão e de negação.

Gerenciar restrições de entrada de IP

Você pode gerenciar regras de restrições de acesso IP por meio do portal do Azure ou da CLI do Azure.

Adicionar regras

  1. No portal do Azure, aceda à sua aplicação de contentor.

  2. No menu à esquerda, selecione Rede>Ingress.

  3. Em Restrições de IP, pode optar por permitir ou negar tráfego dos intervalos de endereços IP especificados. Neste exemplo, selecione Permitir tráfego de IPs configurados abaixo e negue todo o restante tráfego.

  4. Para criar a regra, selecione Adicionar.

    Captura de ecrã das definições de restrição de IP na página de entrada da aplicação de contentores.

  5. Insira valores nos seguintes campos:

    Campo Descrição
    Endereço ou intervalo IPv4 Insira o endereço IP ou o intervalo de endereços IP na notação CIDR. Por exemplo, para permitir o acesso a partir de um único endereço IP, use o seguinte formato: 10.200.10.2/32.
    Nome Insira um nome para a regra.
    Descrição Insira uma descrição para a regra.
  6. Selecione Adicionar.

  7. Repita as etapas 4 a 6 para adicionar mais regras.

  8. Quando terminares de adicionar regras, seleciona Guardar.

Atualizar uma regra

  1. No portal do Azure, vá para seu aplicativo de contêiner.
  2. No menu à esquerda, selecione Rede>Ingress.
  3. Selecione a regra que deseja atualizar.
  4. Altere as configurações da regra.
  5. Selecione Salvar para salvar as atualizações.
  6. Na página de Entrada , selecione Guardar para guardar as regras atualizadas.

Eliminar uma regra

  1. No portal do Azure, vá para seu aplicativo de contêiner.
  2. No menu à esquerda, selecione Rede>Ingress.
  3. Selecione o ícone de exclusão ao lado da regra que você deseja excluir.
  4. Selecione Guardar.

Você pode gerenciar restrições de acesso IP usando o grupo de az containerapp ingress access-restriction comandos. Este grupo de comandos tem as opções para:

  • set: Criar ou atualizar uma regra.
  • remove: Excluir uma regra.
  • list: Liste todas as regras.

Criar ou atualizar regras

Você pode criar ou atualizar restrições de IP usando o az containerapp ingress access-restriction set comando.

O az containerapp ingress access-restriction set grupo de comandos usa os seguintes parâmetros.

Argumento Valores Descrição
--rule-name (obrigatório) String Especifica o nome da regra de restrição de acesso.
--description String Especifica uma descrição para a regra de restrição de acesso.
--action (obrigatório) Permitir, Negar Especifica se o acesso deve ser permitido ou negado a partir do intervalo de endereços IP especificado.
--ip-address (obrigatório) Endereço IP ou intervalo de endereços IP na notação CIDR Especifica o intervalo de endereços IP a ser permitido ou negado.

Adicione mais regras repetindo o comando com valores diferentes para --rule-name e ---ip-address.

Criar regras de permissão

O comando de exemplo az containerapp access-restriction set a seguir cria uma regra para restringir o acesso de entrada a um intervalo de endereços IP. Você deve excluir todas as regras de negação existentes antes de poder adicionar quaisquer regras de permissão.

Substitua os valores no exemplo a seguir por seus próprios valores.

az containerapp ingress access-restriction set \
   --name <CONTAINER_APP_NAME> \
   --resource-group <RESOURCE_GROUP> \
   --rule-name "my allow rule" \
   --description "example of rule allowing access" \
   --ip-address 192.168.0.1/28 \
   --action Allow

Pode adicionar regras de permissão repetindo o comando com valores --ip-address e --rule-name diferentes.

Criar regras de negação

O exemplo seguinte do comando az containerapp access-restriction set cria uma regra de acesso para negar tráfego de entrada de um intervalo de endereços IP especificado. Você deve excluir todas as regras de permissão existentes antes de poder adicionar regras de negação.

Substitua os espaços reservados no exemplo a seguir por seus próprios valores.

az containerapp ingress access-restriction set \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --rule-name "my deny rule" \
  --description "example of rule denying access" \
  --ip-address 192.168.0.100/28 \
  --action Deny

Você pode adicionar às regras de negação repetindo o comando com valores --ip-address e --rule-name diferentes. Se você usar um nome de regra que já existe, a regra existente será atualizada.

Atualizar uma regra

Você pode atualizar uma regra usando o az containerapp ingress access-restriction set comando. Você pode alterar o intervalo de endereços IP e a descrição da regra, mas não o nome ou a ação da regra.

O --action parâmetro é necessário, mas não é possível alterar a ação de Permitir para Negar ou vice-versa. Se você omitir o --description parâmetro, a descrição será excluída.

O exemplo a seguir atualiza o intervalo de endereços IP.

az containerapp ingress access-restriction set \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --rule-name "my deny rule" \
  --ip-address 192.168.0.1/24 \
  --description "example of rule denying access" \
  --action Deny

Remover restrições de acesso

O comando de exemplo az containerapp ingress access-restriction remove a seguir remove uma regra.

az containerapp ingress access-restriction remove \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --rule-name "<your rule name>"

Listar restrições de acesso

O comando de exemplo az containerapp ingress access-restriction list a seguir lista as regras de restrição de IP para o aplicativo contêiner.

az containerapp ingress access-restriction list \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP>

Solução de problemas

Use a seguinte informação para o ajudar a resolver problemas relacionados com IP na sua aplicação container.

Acesso negado

Uma mensagem RBAC: Access Denied devolvida ao cliente indica que o cliente está bloqueado por restrições de IP da aplicação container. Para resolver este problema, certifique-se de que o endereço IP do cliente que solicita acesso é permitido com base nas regras de permitir ou recusar .

Se estiver a usar um intervalo de endereços, certifique-se de que o IP bloqueado está dentro de um intervalo permitido.

Passo seguinte