Az - API Management
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Basic Information
Azure API Management (APIM) to w pełni zarządzana usługa, która oferuje zunifikowaną platformę do publikowania, zabezpieczania, transformacji, zarządzania i monitorowania API. Umożliwia organizacjom centralizację strategii API i zapewnienie spójnego nadzoru, wydajności oraz bezpieczeństwa we wszystkich usługach. Działając jako warstwa abstrakcji między usługami backend a konsumentami API, APIM upraszcza integrację i zwiększa łatwość utrzymania, jednocześnie dostarczając istotne możliwości operacyjne i bezpieczeństwa.
Core Concepts
API Gateway pełni rolę pojedynczego punktu wejścia dla całego ruchu API, obsługując funkcje takie jak routowanie żądań do usług backend, egzekwowanie limitów szybkości, buforowanie odpowiedzi oraz zarządzanie uwierzytelnianiem i autoryzacją. Ta bramka jest w pełni hostowana i zarządzana przez Azure, co zapewnia wysoką dostępność i skalowalność.
Developer Portal zapewnia środowisko samoobsługowe, w którym konsumenci API mogą odkrywać dostępne API, czytać dokumentację i testować endpointy. Ułatwia proces onboardingu, oferując narzędzia interaktywne oraz dostęp do informacji o subskrypcjach.
Management Portal (Management Plane) służy administratorom do konfigurowania i utrzymania usługi APIM. Stąd użytkownicy mogą definiować API i operacje, konfigurować kontrolę dostępu, stosować policies, zarządzać użytkownikami oraz organizować API w produkty. Portal ten centralizuje administrację i zapewnia spójne zarządzanie API.
Authentication and Authorization
Azure API Management obsługuje kilka mechanizmów uwierzytelniania, aby zabezpieczyć dostęp do API. Należą do nich subscription keys, OAuth 2.0 tokens oraz client certificates. APIM integruje się również natywnie z Microsoft Entra ID, umożliwiając zarządzanie tożsamościami na poziomie przedsiębiorstwa oraz bezpieczny dostęp zarówno do API, jak i usług backend.
Policies
Policies w APIM pozwalają administratorom dostosowywać przetwarzanie żądań i odpowiedzi na różnych poziomach granularności, w tym na poziomie usługi, API, operacji lub produktu. Dzięki policies można egzekwować walidację tokenów JWT, transformować ładunki XML lub JSON, stosować ograniczenia przepustowości, ograniczać wywołania według adresu IP lub uwierzytelniać się wobec usług backend z użyciem managed identities. Policies są wyjątkowo elastyczne i stanowią jedną z kluczowych zalet platformy API Management, umożliwiając drobnoziarnistą kontrolę zachowania w czasie wykonywania bez modyfikowania kodu backend.
Named Values
Usługa oferuje mechanizm zwany Named Values, który pozwala przechowywać informacje konfiguracyjne takie jak secrety, API keys lub inne wartości wymagane przez policies.
Wartości te mogą być przechowywane bezpośrednio w APIM lub bezpiecznie odwoływane z Azure Key Vault. Named Values promują bezpieczne i scentralizowane zarządzanie danymi konfiguracyjnymi oraz upraszczają tworzenie policies poprzez umożliwienie wielokrotnego użycia referencji zamiast wklejania wartości na stałe.
Networking and Security Integration
Azure API Management integruje się bezproblemowo ze środowiskami sieci wirtualnych, umożliwiając prywatne i bezpieczne połączenia do systemów backend.
Po wdrożeniu wewnątrz Virtual Network (VNet), APIM może uzyskiwać dostęp do usług wewnętrznych bez ich publicznego udostępniania. Usługa pozwala również na konfigurację custom certificates w celu obsługi mutual TLS authentication z usługami backend, zwiększając bezpieczeństwo w scenariuszach wymagających silnej weryfikacji tożsamości.
Te funkcje sieciowe czynią APIM odpowiednim zarówno dla architektur cloud-native, jak i hybrydowych.
Enumerate
Aby enumerować usługę 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
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

