Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Ao configurar restrições de acesso, você pode definir uma lista de permissão/negação ordenada por prioridade que controla o acesso à rede ao seu aplicativo. A lista pode incluir endereços IP ou sub-redes da Rede Virtual do Azure. Quando há uma ou mais entradas, existe uma negação implícita negar tudo no final da lista. Para obter mais informações, consulte Restrições de acesso do Serviço de Aplicativo do Azure.
A capacidade de restrição de acesso funciona com todas as cargas de trabalho alojadas no Serviço de Aplicações do Azure. As cargas de trabalho podem incluir aplicativos Web, aplicativos de API, aplicativos Linux, contêineres personalizados do Linux e aplicativos do Azure Functions.
Quando alguém faz uma solicitação ao seu aplicativo, o FROM
endereço é avaliado em relação às regras da sua lista de restrições de acesso. Se o endereço FROM
estiver numa sub-rede configurada com endpoints de serviço para Microsoft.Web
, a sub-rede de origem será comparada com as regras de rede virtual na sua lista de restrições de acesso. Se não for permitido acesso ao endereço com base nas regras da lista, o serviço responde com um código de estado HTTP 403.
O recurso de restrição de acesso é implementado nas funções front-end do Serviço de Aplicativo, que estão a montante dos hosts de trabalho onde seu código é executado. Portanto, as restrições de acesso são efetivamente listas de controle de acesso à rede.
A capacidade de restringir o acesso ao seu aplicativo Web a partir de uma rede virtual do Azure usa pontos de extremidade de serviço. Com os endpoints de serviço, pode restringir o acesso a um serviço multitenant a partir de sub-redes específicas. Esta abordagem não funciona para restringir o tráfego para aplicações alojadas num Ambiente do Serviço de Aplicações. Se estiver num Ambiente de Serviço de Aplicações, pode controlar o acesso à sua aplicação aplicando regras de endereçamento IP.
Nota
Os pontos de extremidade de serviço devem ser habilitados tanto do lado da rede quanto para o serviço Azure com o qual são habilitados. Para obter uma lista de serviços do Azure que dão suporte a pontos de extremidade de serviço, consulte Pontos de extremidade de serviço de Rede Virtual.
Gerenciar regras de restrição de acesso no portal
Para adicionar uma regra de restrição de acesso ao seu aplicativo:
Inicie sessão no portal do Azure.
Selecione a aplicação à qual pretende adicionar restrições de acesso.
No menu à esquerda, selecione Configurações>de rede.
No painel Rede , em Configuração de tráfego de entrada, selecione a configuração Acesso à rede pública .
No painel Restrições de Acesso , revise a lista de regras de restrição de acesso definidas para seu aplicativo.
A lista exibe as restrições atualmente aplicadas ao aplicativo. Se tiver uma restrição de rede virtual na sua aplicação, a tabela mostrará se os pontos de extremidade de serviço estão ativados para
Microsoft.Web
. Se nenhuma restrição for definida na sua aplicação e a sua regra sem correspondência não estiver definida como Negar, a aplicação poderá ser acedida de qualquer lugar.
Permissões
Você deve ter as seguintes permissões de controle de acesso baseadas em função na sub-rede ou em um nível superior para configurar restrições de acesso por meio do portal do Azure, CLI ou quando definir as site config
propriedades diretamente:
Ação | Descrição |
---|---|
Microsoft.Web/sites/config/read |
Obtém as definições de configuração do aplicativo Web. |
Microsoft.Web/sites/config/write |
Atualiza as definições de configuração do aplicativo Web. |
Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action * |
Associa recursos como conta de armazenamento ou banco de dados SQL a uma sub-rede. |
Microsoft.Web/sites/write ** |
Atualiza as configurações do aplicativo Web. |
*Necessário apenas ao adicionar uma regra de rede virtual (ponto de extremidade de serviço)
**Necessário apenas se estiver a atualizar restrições de acesso através do portal do Azure
Se adicionar uma regra baseada em ponto de extremidade de serviço e a rede virtual estiver numa assinatura diferente da do aplicativo, certifique-se de que a assinatura com a rede virtual está registada para o fornecedor de recursos Microsoft.Web
. Você pode registrar explicitamente o provedor, mas ele também é registrado automaticamente quando você cria o primeiro aplicativo Web em uma assinatura. Para obter mais informações, consulte Registar fornecedor de recursos.
Adicionar uma regra de restrição de acesso
Para adicionar uma regra de restrição de acesso ao seu aplicativo, no painel Restrições de Acesso , selecione Adicionar. A regra só entra em vigor depois de a guardar.
As regras são aplicadas em ordem de prioridade, a partir do número mais baixo na coluna Prioridade . Se você não configurar uma regra sem correspondência, uma negação total implícita entra em efeito quando você adiciona uma regra.
No painel Adicionar Restrição de Acesso, ao criar uma regra, faça o seguinte:
- Em Ação, selecione Permitir ou Negar.
- Insira um nome e uma descrição da regra (opcional).
- Na caixa Prioridade, insira um valor de prioridade.
- Na lista pendente Tipo, selecione o tipo de regra. Os diferentes tipos de regras são descritos nas seções a seguir.
- Digite a entrada específica da regra. Selecione Adicionar regra para adicionar a regra à lista.
- Selecione Salvar no painel Restrições de acesso .
Nota
Há um limite de 512 regras de restrição de acesso. Se você precisar de mais de 512 regras de restrição de acesso, sugerimos que considere um produto de segurança independente. Considere o Azure Front Door, o Azure Application Gateway ou um firewall de aplicativo Web (WAF) diferente.
Definir uma regra baseada em endereço IP
Siga o procedimento descrito na secção anterior, mas com o seguinte aditamento:
- Para a etapa 4, na lista suspensa Tipo , selecione IPv4 ou IPv6.
Especifique o Bloco de Endereço IP na notação CIDR (Roteamento de Inter-Domain sem classe) para os endereços IPv4 e IPv6. Para especificar um endereço, você pode usar algo como 1.2.3.4/32
, onde os quatro primeiros octetos representam seu endereço IP e /32
é a máscara. A notação CIDR IPv4 para todos os endereços é 0.0.0.0/0
.
Nota
As regras de restrição de acesso baseadas em IP só lidam com intervalos de endereços de rede virtual quando seu aplicativo está em um Ambiente do Serviço de Aplicativo. Se a sua aplicação estiver no serviço multicliente, precisará usar pontos de extremidade de serviço para restringir o tráfego a sub-redes selecionadas na sua rede virtual.
Definir uma regra baseada em endpoint de serviço
Para a etapa 4, na lista suspensa Tipo, selecione Rede Virtual.
Especifique as listas suspensas Assinatura, Rede Virtual e Sub-rede , correspondentes ao que você deseja restringir o acesso.
Usando endpoints de serviço, é possível restringir o acesso a sub-redes selecionadas da rede virtual Azure. Se os pontos de extremidade de serviço ainda não estiverem habilitados para Microsoft.Web
a sub-rede selecionada, eles serão habilitados automaticamente, a menos que você selecione Ignorar pontos de extremidade de serviço Microsoft.Web ausentes. Se desejas habilitar os endereços de serviço na aplicação, mas não na sub-rede, isso depende de teres as permissões necessárias para os habilitar na sub-rede.
Se você precisar de outra pessoa para habilitar pontos de extremidade de serviço na sub-rede, selecione Ignorar pontos de extremidade de serviço Microsoft.Web ausentes. A sua aplicação está configurada para endpoints de serviço. Eles podem ser ativados posteriormente na sub-rede.
Não é possível usar pontos de extremidade de serviço para restringir o acesso a aplicações executadas num Ambiente de Serviço de Aplicações. Quando seu aplicativo está em um Ambiente do Serviço de Aplicativo, você pode controlar o acesso a ele aplicando regras de acesso IP.
Com pontos de extremidade de serviço, é possível configurar a sua aplicação usando gateways de aplicação ou outros dispositivos WAF (firewall de aplicações web). Você também pode configurar aplicativos de várias camadas com back-ends seguros. Para obter mais informações, consulte Recursos de rede do Serviço de Aplicativo e Integração do Application Gateway.
Nota
Os endpoints de serviço não são suportados para aplicações web que utilizam bindings TLS/SSL baseados em IP com um IP virtual.
Definir uma regra baseada em etiqueta de serviço
Para a etapa 4, na lista suspensa Tipo , selecione Etiqueta de serviço.
Todas as tags de serviço disponíveis publicamente são suportadas nas regras de restrição de acesso. Cada marca de serviço representa uma lista de intervalos de IP dos serviços do Azure. Pode encontrar uma lista destes serviços e ligações para os intervalos específicos na documentação da etiqueta de serviço. Use modelos ou scripts do Azure Resource Manager para configurar regras mais avançadas, como regras de escopo regional.
Nota
Quando cria regras baseadas em etiquetas de serviço através do portal do Azure ou da CLI do Azure, precisa de acesso de leitura ao nível da subscrição para obter a lista completa de etiquetas de serviço para seleção/validação. Além disso, o Microsoft.Network
provedor de recursos precisa estar registrado na assinatura.
Editar uma regra
Para editar uma regra de restrição de acesso existente, vá para o painel Restrições de Acesso e selecione a regra que deseja editar.
No painel Editar Restrição de Acesso , faça as alterações e selecione Atualizar regra.
Selecione Guardar para guardar as alterações.
Nota
Quando você edita uma regra, não pode alternar entre tipos de regra.
Eliminar uma regra
Para eliminar uma regra, no painel Restrições de Acesso , selecione a regra ou regras que pretende eliminar e, em seguida, selecione Eliminar.
Selecione Guardar para guardar as alterações.
Cenários avançados de restrição de acesso
As seções a seguir descrevem o uso de restrições de acesso em cenários avançados.
Filtrar por cabeçalho HTTP
Você pode adicionar filtros de cabeçalho HTTP a qualquer regra. Os seguintes nomes de cabeçalho HTTP são suportados:
X-Forwarded-For
X-Forwarded-Host
X-Azure-FDID
X-FD-HealthProbe
++ Para obter mais informações sobre o X-FD-HealthProbe, consulte Filtragem de cabeçalho HTTP para regras de restrição de acesso ao site.
Para cada nome de cabeçalho, você pode adicionar até oito valores separados por vírgulas. Os filtros de cabeçalho HTTP são avaliados após a própria regra e ambas as condições devem ser verdadeiras para que a regra seja aplicada.
Regras de múltiplas fontes
As regras de várias fontes permitem combinar até oito intervalos de IP ou oito tags de serviço em uma única regra. Use regras de várias fontes se tiver mais de 512 intervalos de IP ou se quiser criar regras lógicas. Por exemplo: uma regra lógica pode incluir vários intervalos de IP combinados com um único filtro de cabeçalho HTTP.
As regras de várias fontes são definidas da mesma forma que as regras de fonte única, mas cada intervalo é separado com uma vírgula.
Exemplo do PowerShell:
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Multi-source rule" -IpAddress "192.168.1.0/24,192.168.10.0/24,192.168.100.0/24" `
-Priority 100 -Action Allow
Bloquear um único endereço IP
Se quiser bloquear explicitamente um único endereço IP ou um bloco de endereços IP, mas permitir o acesso a todo o resto, pode adicionar uma regra Negar para o endereço IP específico. Em seguida, configure a ação de regra não correspondida como Permitir.
Restringir o acesso a um site do SCM
Além de poder controlar o acesso ao seu aplicativo, você pode restringir o acesso ao site de ferramentas avançadas de gerenciamento de controle do código-fonte (SCM) usado pelo seu aplicativo. O site do SCM é o ponto de extremidade de implantação web e o console do Kudu. Você pode atribuir restrições de acesso ao site do SCM a partir do aplicativo separadamente ou usar o mesmo conjunto de restrições para o aplicativo e o site do SCM. Quando você seleciona Usar regras do site principal, a lista de regras fica oculta. O site do SCM usa as regras do site principal. Se você desmarcar a caixa de seleção, as configurações do site do SCM aparecerão novamente.
Restringir o acesso a uma instância específica do Azure Front Door
O tráfego do Azure Front Door para seu aplicativo é originado de um conjunto bem conhecido de intervalos de IP definidos na AzureFrontDoor.Backend
tag de serviço. Usando uma regra de restrição de tag de serviço, pode restringir o tráfego para que se origine apenas do Azure Front Door. Para garantir que o tráfego se origine apenas de sua instância específica, você precisa filtrar ainda mais as solicitações de entrada com base no cabeçalho HTTP exclusivo que o Azure Front Door envia.
Exemplo do PowerShell:
$afd = Get-AzFrontDoor -Name "MyFrontDoorInstanceName"
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Front Door example rule" -Priority 100 -Action Allow -ServiceTag AzureFrontDoor.Backend `
-HttpHeader @{'x-azure-fdid' = $afd.FrontDoorId}
Gerenciar a restrição de acesso programaticamente
Você também pode gerenciar a restrição de acesso programaticamente. Os exemplos a seguir mostram como adicionar regras a restrições de acesso e como alterar a ação para regras não correspondentes para ambos site principal e site de ferramentas avançadas.
Adicionar regras de restrições de acesso para o site principal
Você pode adicionar regras de restrições de acesso para o site principal programaticamente escolhendo uma das seguintes opções:
Você pode executar o seguinte comando no Azure Cloud Shell. Para obter mais informações sobre o comando, consulte az webapp config access-restriction
.
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name "Azure Front Door example" --action Allow --priority 200 --service-tag AzureFrontDoor.Backend \
--http-header x-azure-fdid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Adicionar regras de restrições de acesso para site de ferramentas avançadas
Você pode adicionar regras de restrições de acesso para o site de ferramentas avançadas programaticamente. Escolha uma das seguintes opções:
Você pode executar o seguinte comando no Cloud Shell. Para obter mais informações sobre o comando, consulte az webapp config access-restriction
.
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100 --scm-site true
Alterar ação de regra não correspondida para o site principal
Você pode alterar a ação de regra não correspondida para o site principal programaticamente, escolhendo uma das seguintes opções:
Você pode executar o seguinte comando no Cloud Shell. Para obter mais informações sobre o comando, consulte az resource
. Os valores aceitos para ipSecurityRestrictionsDefaultAction
são Allow
ou Deny
.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.ipSecurityRestrictionsDefaultAction=Allow
Alterar ação de regra não correspondida para plataforma de ferramentas avançadas
Você pode alterar a ação de regra não correspondida em do site de ferramentas avançadas programaticamente, escolhendo uma das seguintes opções:
Você pode executar o seguinte comando no Cloud Shell. Para obter mais informações sobre o comando, consulte az resource
. Os valores aceitos para scmIpSecurityRestrictionsDefaultAction
são Allow
ou Deny
.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.scmIpSecurityRestrictionsDefaultAction=Allow
Configurar restrições de acesso do Azure Functions
As restrições de acesso também estão disponíveis para aplicativos funcionais com a mesma funcionalidade dos planos do Serviço de Aplicativo. Ao habilitar restrições de acesso, você também desabilita o editor de código do portal do Azure para quaisquer IPs não permitidos.