Az - API Management
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
基本信息
Azure API Management (APIM) 是一项完全托管的服务,提供一个用于发布、保护、转换、管理和监控 API 的统一平台。它使组织能够集中其 API策略,确保其所有服务在治理、性能和安全方面的一致性。通过在后端服务和 API 消费者之间充当抽象层,APIM 简化了集成并增强了可维护性,同时提供关键的运维和安全能力。
核心概念
The API Gateway 作为所有 API 流量的单一入口点,负责将请求路由到后端服务、执行速率限制、缓存响应以及管理身份验证和授权等功能。该网关由 Azure 完全托管,确保高可用性和可扩展性。
The Developer Portal 提供了一个自助服务环境,API 消费者可以在此发现可用 API、阅读文档并测试端点。它通过提供交互式工具和订阅信息访问来简化入门流程。
The Management Portal (Management Plane) 由管理员用于配置和维护 APIM 服务。在这里,用户可以定义 APIs 和操作、配置访问控制、应用策略、管理用户并将 APIs 组织到产品中。该门户集中管理,确保一致的 API 治理。
身份验证和授权
Azure API Management 支持多种身份验证机制以保护 API 访问,包括 subscription keys、OAuth 2.0 tokens 和 client certificates。APIM 还原生集成 Microsoft Entra ID,实现企业级身份管理并为 API 及后端服务提供安全访问。
策略
APIM 中的策略允许管理员在不同粒度上自定义请求和响应处理,包括 service、API、operation 或 product 级别。通过策略,可以强制执行 JWT token validation、转换 XML 或 JSON 有效负载、应用速率限制、按 IP address 限制调用,或使用 managed identities 对后端服务进行身份验证。策略高度灵活,是 API Management 平台的核心优势之一,使得在不修改后端代码的情况下实现对运行时行为的细粒度控制成为可能。
Named Values
服务提供了一个称为 Named Values 的机制,用于存储诸如 secrets、API keys 或策略所需的其他配置信息。
这些值可以直接存储在 APIM 中,或安全地从 Azure Key Vault 引用。Named Values 提倡对配置数据进行集中且安全的管理,并通过允许可重用的引用来简化策略编写,避免硬编码值。
网络与安全集成
Azure API Management 与 virtual network 环境无缝集成,支持与后端系统的私有且安全的连接。
当部署在 Virtual Network (VNet) 内时,APIM 可以访问内部服务而无需公开暴露它们。该服务还允许配置 custom certificates 以支持与后端服务的 mutual TLS authentication,在需要强身份校验的场景下提升安全性。
这些网络功能使得 APIM 适用于 cloud-native 和 hybrid architectures 两类架构。
枚举
要枚举 API Management 服务:
# 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
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

