0Pricing
Azure Fundamentals · Lección

Autenticación y redes de App Service

Habilite proveedores de autenticación integrados (Entra ID, Google, GitHub) para su aplicación web y restrinja el tráfico entrante mediante la integración con VNet y las restricciones de acceso.

Autenticación y redes de App Service es una lección gratuita de Azure Fundamentals en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Azure Fundamentals, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Azure Fundamentals incluye 4 lecciones en total.

Autenticación integrada en App Service

Azure App Service proporciona un módulo integrado de autenticación y autorización (a veces denominado EasyAuth) que gestiona los flujos de inicio de sesión, la validación de tokens y la administración de sesiones sin cambios en el código de la aplicación. Puede habilitarlo directamente en Azure Portal y elegir entre varios proveedores de identidad. Es ideal para agregar rápidamente autenticación a una API o herramienta interna sin tener que implementar usted mismo los flujos de OAuth.

Proveedores de identidad compatibles

La autenticación de App Service admite de forma nativa varios proveedores de identidad: Microsoft Entra ID (para inicios de sesión empresariales o corporativos), Google, Facebook, Twitter/X, GitHub y cualquier proveedor compatible con OpenID Connect. Registre la aplicación con el proveedor elegido para obtener un identificador de cliente y un secreto, y configúrelos después en App Service. Puede habilitar varios proveedores simultáneamente, de modo que los usuarios elijan cómo iniciar sesión.

# 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

Almacén de tokens y acceso a las notificaciones del usuario

Cuando la autenticación está habilitada, App Service almacena los tokens validados en el almacén de tokens, un almacén persistente por sesión de usuario. El código de la aplicación puede acceder a las notificaciones del usuario autenticado mediante encabezados de solicitud HTTP especiales que inyecta el módulo EasyAuth: X-MS-CLIENT-PRINCIPAL-NAME (correo electrónico/UPN), X-MS-CLIENT-PRINCIPAL-ID (identificador de objeto) y X-MS-TOKEN-AAD-ACCESS-TOKEN para obtener el token de acceso sin procesar.

// 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());

Integración con VNet para el tráfico saliente

VNet Integration permite que una aplicación de App Service realice llamadas salientes a recursos dentro de una red virtual de Azure, como máquinas virtuales, bases de datos SQL y API internas, sin exponer esos recursos a Internet público. La aplicación obtiene una NIC virtual en una subred delegada de la VNet y puede acceder a cualquier recurso al que la VNet tenga acceso, incluidos los recursos locales mediante VPN o ExpressRoute. VNet Integration está disponible a partir del nivel 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

Puntos de conexión privados para el tráfico entrante

Mientras que VNet Integration gestiona el tráfico saliente, un punto de conexión privado gestiona el tráfico entrante: hace que su App Service sea accesible únicamente desde dentro de su VNet mediante una dirección IP privada. El acceso externo a Internet a azurewebsites.net se bloquea cuando un punto de conexión privado es el único método de acceso. Esto se utiliza para API internas y portales de administración que nunca deben exponerse a Internet público.

# 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

Restricciones de acceso

Las restricciones de acceso de App Service permiten definir una lista de direcciones IP permitidas o bloqueadas para el tráfico entrante. Las reglas se evalúan en orden de prioridad (un número menor equivale a una prioridad mayor). Puede restringir el acceso a intervalos de IP específicos (por ejemplo, la IP de salida de la VPN de su oficina), etiquetas de servicio de Azure (por ejemplo, AzureLoadBalancer) o subredes de VNet específicas. Use las restricciones de acceso para proteger el slot de ensayo, de modo que solo el intervalo de IP de su equipo pueda acceder a él.

# 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'

Conexiones híbridas

Hybrid Connections (de BizTalk) permite que App Service acceda a recursos locales sin requerir VNet Integration ni una puerta de enlace VPN. Un agente de retransmisión ligero instalado en el entorno local establece una conexión saliente con Azure Service Bus; la aplicación se conecta a través de la retransmisión. Hybrid Connections funciona en el nivel TCP y admite cualquier puerto, por lo que resulta útil para conectarse a bases de datos o API locales heredadas que no se pueden trasladar a 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

Identidad administrada para App Service

Asigne una identidad administrada a su aplicación de App Service para que pueda autenticarse en otros servicios de Azure (Key Vault, Blob Storage y SQL Database) sin almacenar credenciales en ningún lugar. Azure administra automáticamente las credenciales de la identidad. Use una identidad asignada por el sistema (vinculada al ciclo de vida de la aplicación) o una identidad asignada por el usuario (compartida entre varias aplicaciones). Asigne roles de RBAC a la identidad en los 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

Habilitación de CORS

Cross-Origin Resource Sharing (CORS) controla qué dominios pueden realizar llamadas a la API de su aplicación de App Service desde un navegador. Configure los orígenes permitidos en la configuración de CORS; en producción, no devuelva un comodín (*) para las API autenticadas. La compatibilidad integrada con CORS de App Service agrega automáticamente los encabezados de respuesta Access-Control-Allow-Origin, por lo que en casos sencillos no necesita middleware de CORS en el código de la aplicación.

# 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

Entornos de App Service (ASE)

Un App Service Environment (ASE) es una implementación de App Service totalmente aislada y dedicada que se ejecuta dentro de su propia VNet. Proporciona el mayor nivel de aislamiento de red, escalabilidad (hasta 200 instancias) y alineación con los requisitos de cumplimiento. ASE v3 elimina la necesidad de una IP pública dedicada y admite puntos de conexión privados de forma nativa. La desventaja es su coste considerablemente mayor: ASE está destinado a cargas de trabajo empresariales con requisitos estrictos de aislamiento.

Resumen de prácticas recomendadas de seguridad

Para realizar una implementación segura de App Service: imponga el uso exclusivo de HTTPS, use restricciones de acceso para limitar las IP entrantes, habilite la identidad administrada para evitar secretos en la configuración, almacene los secretos en Key Vault mediante referencias de Key Vault, aplique la versión mínima de TLS 1.2, habilite Defender for App Service para detectar amenazas y revise periódicamente las recomendaciones de Azure Security Center para el recurso de la aplicación.

# 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

Comprobación rápida

Compruebe su comprensión de los conceptos de Microsoft Azure Fundamentals (AZ-900) tratados en esta lección.

Resumen de la lección

En esta lección ha aprendido que la autenticación integrada (EasyAuth) agrega el inicio de sesión mediante proveedores de identidad sin cambios en el código; VNet Integration dirige el tráfico saliente a través de la red virtual, mientras que los puntos de conexión privados restringen el tráfico entrante; y la identidad administrada permite autenticarse sin contraseñas en otros servicios de Azure. A continuación, exploraremos Azure Container Registry.

Preguntas frecuentes

¿La lección «Autenticación y redes de App Service» es gratis?

Sí — el texto completo de «Autenticación y redes de App Service» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Azure Fundamentals, actualiza a CoddyKit PRO. El curso de Azure Fundamentals incluye 4 lecciones en total.

¿Qué aprenderé en «Autenticación y redes de App Service»?

Habilite proveedores de autenticación integrados (Entra ID, Google, GitHub) para su aplicación web y restrinja el tráfico entrante mediante la integración con VNet y las restricciones de acceso. Practicas Azure Fundamentals con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Azure Fundamentals?

No se requiere experiencia previa. Azure Fundamentals en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Autenticación y redes de App Service»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Azure Fundamentals?

Sí. Cada lección de Azure Fundamentals incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Creación de un plan de App Service y una aplicación web
  2. Ranuras de implementación e intercambio
  3. Escalado automático y dominios personalizados
  4. Autenticación y redes de App Service
← Volver a Azure Fundamentals