0Pricing
Azure Fundamentals · Aula

Autenticação e Rede do App Service

Habilite provedores de autenticação integrados (Entra ID, Google, GitHub) para sua aplicação web e restrinja o tráfego de entrada usando a integração com VNet e restrições de acesso.

Autenticação e Rede do App Service é uma aula grátis de Azure Fundamentals no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Azure Fundamentals, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Azure Fundamentals inclui 4 aulas no total.

Autenticação integrada no App Service

O Azure App Service fornece um módulo integrado de autenticação e autorização (às vezes chamado de EasyAuth) que gerencia fluxos de entrada, validação de tokens e gerenciamento de sessões sem exigir alterações no código da sua aplicação. Você pode habilitá-lo diretamente no portal do Azure e escolher entre vários provedores de identidade. Essa é uma solução ideal para adicionar rapidamente autenticação a uma API ou ferramenta interna sem implementar os fluxos OAuth por conta própria.

Provedores de identidade compatíveis

A autenticação do App Service oferece suporte integrado a vários provedores de identidade: Microsoft Entra ID (para entradas empresariais ou corporativas), Google, Facebook, Twitter/X, GitHub e qualquer provedor compatível com OpenID Connect. Você registra sua aplicação no provedor escolhido para obter um ID e um segredo de cliente e, em seguida, configura esses dados no App Service. Vários provedores podem ser habilitados simultaneamente, permitindo que os usuários escolham como entrar.

# Enable Microsoft Entra ID authentication via CLI
az webapp auth microsoft update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --client-id '<Entra-App-Client-ID>' \
  --client-secret '<Client-Secret>' \
  --issuer 'https://sts.windows.net/<TenantId>/'

# Set action when unauthenticated (redirect or 401)
az webapp auth update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --unauthenticated-client-action RedirectToLoginPage

Armazenamento de tokens e acesso às declarações do usuário

Quando a autenticação está habilitada, o App Service armazena os tokens validados no armazenamento de tokens — um armazenamento persistente por sessão de usuário. O código da sua aplicação pode acessar as declarações do usuário autenticado por meio de cabeçalhos especiais de solicitações HTTP inseridos pelo módulo EasyAuth: X-MS-CLIENT-PRINCIPAL-NAME (email/UPN), X-MS-CLIENT-PRINCIPAL-ID (ID do objeto) e X-MS-TOKEN-AAD-ACCESS-TOKEN para obter o token de acesso bruto.

// Node.js: read user identity from EasyAuth headers
app.get('/profile', (req, res) => {
  const userName = req.headers['x-ms-client-principal-name'];
  const userId = req.headers['x-ms-client-principal-id'];
  res.json({ name: userName, id: userId });
});

// Or decode the full claims JSON from the header
const principalHeader = req.headers['x-ms-client-principal'];
const claims = JSON.parse(Buffer.from(principalHeader, 'base64').toString());

Integração com VNet para tráfego de saída

A VNet Integration permite que uma aplicação do App Service faça chamadas de saída para recursos dentro de uma Rede Virtual do Azure, como VMs, bancos de dados SQL e APIs internas, sem expor esses recursos à internet pública. A aplicação recebe uma NIC virtual em uma sub-rede delegada da VNet e pode alcançar qualquer recurso que a VNet alcance, incluindo recursos locais por meio de VPN ou ExpressRoute. A VNet Integration está disponível a partir da camada Standard.

# Enable VNet Integration
az webapp vnet-integration add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --vnet MyVNet \
  --subnet AppServiceSubnet

# Route ALL traffic through the VNet (including internet)
az webapp config appsettings set \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --settings WEBSITE_VNET_ROUTE_ALL=1

Pontos de extremidade privados para tráfego de entrada

Enquanto a VNet Integration gerencia o tráfego de saída, um ponto de extremidade privado gerencia o tráfego de entrada, tornando o App Service acessível somente de dentro da sua VNet por meio de um endereço IP privado. O acesso externo à internet a azurewebsites.net é bloqueado quando um ponto de extremidade privado é o único método de acesso. Esse recurso é usado para APIs internas e portais de administração que nunca devem ser expostos à internet pública.

# Create a private endpoint for the web app
az network private-endpoint create \
  --name MyWebAppPE \
  --resource-group MyRG \
  --vnet-name MyVNet \
  --subnet PrivateEndpointSubnet \
  --private-connection-resource-id \
    '/subscriptions/.../providers/Microsoft.Web/sites/MyUniqueWebApp' \
  --group-id sites \
  --connection-name MyWebAppConnection

Restrições de acesso

As restrições de acesso no App Service permitem definir uma lista de permissões ou bloqueios de IP para o tráfego de entrada. As regras são avaliadas em ordem de prioridade (número menor = prioridade maior). Você pode restringir o acesso a intervalos de IP específicos (por exemplo, o IP de saída da VPN do seu escritório), marcas de serviço do Azure (por exemplo, AzureLoadBalancer) ou sub-redes específicas da VNet. Use as restrições de acesso para proteger seu slot de preparo, permitindo que somente o intervalo de IP da sua equipe o alcance.

# Allow only a specific IP range
az webapp config access-restriction add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --priority 100 \
  --action Allow \
  --ip-address 203.0.113.0/24 \
  --rule-name 'OfficeRange'

# Allow Azure Front Door service tag
az webapp config access-restriction add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --priority 200 \
  --action Allow \
  --service-tag AzureFrontDoor.Backend \
  --rule-name 'FrontDoor'

Conexões híbridas

As Conexões híbridas (do BizTalk) permitem que o App Service alcance recursos locais sem exigir VNet Integration ou um gateway de VPN. Um agente de retransmissão leve, instalado no ambiente local, estabelece uma conexão de saída com o Azure Service Bus; sua aplicação se conecta por meio do agente de retransmissão. As Conexões híbridas funcionam no nível TCP e oferecem suporte a qualquer porta, sendo úteis para conectar bancos de dados ou APIs locais legados que não podem ser transferidos para o Azure.

# Add a Hybrid Connection to reach on-prem SQL
az webapp hybrid-connection add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --namespace myServiceBusNS \
  --hybrid-connection on-prem-sql-relay

# The Hybrid Connection Manager agent must be installed
# and configured on the on-premises server to complete the relay

Identidade gerenciada para o App Service

Atribua uma identidade gerenciada à sua aplicação do App Service para que ela possa se autenticar em outros serviços do Azure (Key Vault, Blob Storage e SQL Database) sem armazenar credenciais em nenhum lugar. O Azure gerencia automaticamente as credenciais da identidade. Use uma identidade atribuída pelo sistema (associada ao ciclo de vida da aplicação) ou uma identidade atribuída pelo usuário (compartilhada entre várias aplicações). Conceda funções de RBAC à identidade nos recursos de destino.

# Enable system-assigned managed identity
az webapp identity assign \
  --name MyUniqueWebApp \
  --resource-group MyRG

# Grant the identity access to Key Vault secrets
az keyvault set-policy \
  --name MyKeyVault \
  --object-id $(az webapp identity show \
      --name MyUniqueWebApp \
      --resource-group MyRG \
      --query principalId -o tsv) \
  --secret-permissions get list

Habilitando CORS

O Compartilhamento de recursos entre origens (CORS) controla quais domínios podem fazer chamadas de API baseadas em navegador para sua aplicação do App Service. Configure as origens permitidas nas configurações de CORS — não retorne um caractere curinga (*) em produção para APIs autenticadas. O suporte integrado a CORS do App Service adiciona automaticamente os cabeçalhos de resposta Access-Control-Allow-Origin, eliminando, em casos simples, a necessidade de um middleware de CORS no código da sua aplicação.

# Allow specific origin
az webapp cors add \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --allowed-origins https://www.contoso.com

# View current CORS settings
az webapp cors show \
  --name MyUniqueWebApp \
  --resource-group MyRG

# Remove a CORS origin
az webapp cors remove \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --allowed-origins https://old.contoso.com

Ambientes do App Service (ASE)

Um Ambiente do App Service (ASE) é uma implantação totalmente isolada e dedicada do App Service executada dentro da sua própria VNet. Ele oferece o mais alto nível de isolamento de rede, escalabilidade (até 200 instâncias) e alinhamento com requisitos de conformidade. O ASE v3 elimina a necessidade de um IP público dedicado e oferece suporte nativo a pontos de extremidade privados. A desvantagem é o custo significativamente maior: o ASE é destinado a cargas de trabalho empresariais com requisitos rigorosos de isolamento.

Resumo das práticas recomendadas de segurança

Para uma implantação segura do App Service: imponha o uso exclusivo de HTTPS, use restrições de acesso para limitar os IPs de entrada, habilite a identidade gerenciada para evitar segredos na configuração, armazene segredos no Key Vault usando referências do Key Vault, aplique a versão mínima do TLS 1.2, habilite o Defender for App Service para detecção de ameaças e revise regularmente as recomendações do Azure Security Center para o recurso da aplicação.

# Enforce HTTPS and minimum TLS version
az webapp update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --https-only true

az webapp config set \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --min-tls-version '1.2' \
  --ftps-state Disabled

Verificação rápida

Teste sua compreensão dos conceitos do Microsoft Azure Fundamentals (AZ-900) apresentados nesta lição.

Recapitulação da lição

Nesta lição, você aprendeu que a autenticação integrada (EasyAuth) adiciona a entrada por provedores de identidade sem alterações no código; a VNet Integration encaminha o tráfego de saída pela sua rede virtual, enquanto os pontos de extremidade privados restringem o tráfego de entrada; e a identidade gerenciada permite autenticação sem senha em outros serviços do Azure. A seguir, exploraremos o Azure Container Registry.

Perguntas Frequentes

A aula “Autenticação e Rede do App Service” é grátis?

Sim — o texto completo de “Autenticação e Rede do App Service” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Azure Fundamentals, atualize para CoddyKit PRO. O curso de Azure Fundamentals inclui 4 aulas no total.

O que vou aprender em “Autenticação e Rede do App Service”?

Habilite provedores de autenticação integrados (Entra ID, Google, GitHub) para sua aplicação web e restrinja o tráfego de entrada usando a integração com VNet e restrições de acesso. Você pratica Azure Fundamentals com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Azure Fundamentals?

Nenhuma experiência prévia é necessária. Azure Fundamentals no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Autenticação e Rede do App Service”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Azure Fundamentals?

Sim. Cada aula de Azure Fundamentals inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criando um Plano do App Service e uma Aplicação Web
  2. Slots de Implantação e Troca
  3. Escalonamento Automático e Domínios Personalizados
  4. Autenticação e Rede do App Service
← Voltar para Azure Fundamentals