Az - API Management

Tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Basic Information

Azure API Management (APIM) es un servicio totalmente gestionado que ofrece una plataforma unificada para publicar, asegurar, transformar, gestionar y monitorizar APIs. Permite a las organizaciones centralizar su estrategia de API y asegurar una gobernanza, rendimiento y seguridad consistentes en todos sus servicios. Al actuar como una capa de abstracci贸n entre los servicios backend y los consumidores de APIs, APIM simplifica la integraci贸n y mejora la mantenibilidad mientras proporciona capacidades operativas y de seguridad esenciales.

Core Concepts

The API Gateway sirve como el 煤nico punto de entrada para todo el tr谩fico de API, manejando funciones como enrutar solicitudes a los servicios backend, aplicar l铆mites de tasa, cachear respuestas y gestionar autenticaci贸n y autorizaci贸n. Este gateway est谩 completamente alojado y gestionado por Azure, asegurando alta disponibilidad y escalabilidad.

The Developer Portal ofrece un entorno de autoservicio donde los consumidores de APIs pueden descubrir las APIs disponibles, leer la documentaci贸n y probar endpoints. Ayuda a agilizar la incorporaci贸n ofreciendo herramientas interactivas y acceso a la informaci贸n de suscripciones.

The Management Portal (Management Plane) es utilizado por los administradores para configurar y mantener el servicio APIM. Desde aqu铆, los usuarios pueden definir APIs y operaciones, configurar control de acceso, aplicar policies, gestionar usuarios y organizar APIs en productos. Este portal centraliza la administraci贸n y asegura una gobernanza consistente de las APIs.

Authentication and Authorization

Azure API Management soporta varios mecanismos de autenticaci贸n para asegurar el acceso a las APIs. Estos incluyen subscription keys, OAuth 2.0 tokens, y client certificates. APIM tambi茅n se integra de forma nativa con Microsoft Entra ID, habilitando gesti贸n de identidad a nivel empresarial y acceso seguro tanto a las APIs como a los servicios backend.

Policies

Las policies en APIM permiten a los administradores personalizar el procesamiento de solicitudes y respuestas en varios niveles de granularidad, incluyendo el nivel de service, API, operation o product. A trav茅s de policies, es posible imponer validaci贸n de tokens JWT, transformar cargas XML o JSON, aplicar rate limiting, restringir llamadas por direcci贸n IP, o autenticar contra servicios backend usando managed identities. Las policies son altamente flexibles y constituyen una de las principales fortalezas de la plataforma API Management, permitiendo control fino sobre el comportamiento en tiempo de ejecuci贸n sin modificar el c贸digo backend.

Named Values

El servicio proporciona un mecanismo llamado Named Values, que permite almacenar informaci贸n de configuraci贸n como secretos, API keys, u otros valores requeridos por las policies.

Estos valores pueden almacenarse directamente dentro de APIM o referenciarse de forma segura desde Azure Key Vault. Named Values promueven la gesti贸n centralizada y segura de datos de configuraci贸n y simplifican la redacci贸n de policies permitiendo referencias reutilizables en lugar de valores hardcodeados.

Networking and Security Integration

Azure API Management se integra sin problemas con entornos de red virtual, habilitando conectividad privada y segura con sistemas backend.

Cuando se despliega dentro de una Virtual Network (VNet), APIM puede acceder a servicios internos sin exponerlos p煤blicamente. El servicio tambi茅n permite la configuraci贸n de certificados personalizados para soportar autenticaci贸n mutua TLS con servicios backend, mejorando la seguridad en escenarios donde se requiere una validaci贸n de identidad fuerte.

Estas caracter铆sticas de red hacen que APIM sea adecuado tanto para arquitecturas cloud-native como h铆bridas.

Enumerate

To enumerate the API management service:

# Lists all Named Values configured in the Azure API Management instance
az apim nv list --resource-group <resource-group> --service-name <service-name>

# Retrieves all policies applied at the API level in raw XML format
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/apis/<api-id>/policies/?api-version=2024-05-01&format=rawxml"

# Retrieves the effective policy for a specific API in raw XML format
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/apis/<api-id>/policies/policy?api-version=2024-05-01&format=rawxml"

# Gets the configuration details of the APIM service instance
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim>?api-version=2024-05-01"

# Lists all backend services registered in the APIM instance
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/backends?api-version=2024-05-01"

# Retrieves details of a specific backend service
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/backends/<backend-id>?api-version=2024-05-01"

# Gets general information about the APIM service
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=2024-05-01"

# Calls an exposed API endpoint through the APIM gateway
curl https://<apim>.azure-api.net/<api-path>

Tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks