Az - API Management

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Basiese Inligting

Azure API Management (APIM) is ’n volledig bestuurde diens wat ’n eenheidlike platform bied vir die publisering, beveiliging, transformasie, bestuur en monitering van APIs. Dit stel organisasies in staat om hul API-strategie te sentraliseer en te verseker dat bestuur, prestasie en sekuriteit konsekwent oor al hul dienste toegepas word. Deur as ’n abstraksielaag tussen backend-dienste en API-konsumente te dien, vereenvoudig APIM integrasie en verbeter dit instandhouding, terwyl dit noodsaaklike operasionele en sekuriteitsfunksies verskaf.

Kernkonsepte

The API Gateway dien as die enkele toegangspunt vir alle API-verkeer en hanteer take soos die routering van versoeke na backend-dienste, afdwing van rate limits, kaslegging van antwoorde, en bestuur van verifikasie en magtiging. Hierdie gateway word volledig deur Azure aangebied en bestuur, wat hoë beskikbaarheid en skaalbaarheid verseker.

The Developer Portal bied ’n selfdiens-omgewing waar API-konsumente beskikbare APIs kan ontdek, dokumentasie kan lees en eindpunte kan toets. Dit help om aan boord koms te stroomlyn deur interaktiewe gereedskap en toegang tot intekeninginligting te bied.

The Management Portal (Management Plane) word deur administrateurs gebruik om die APIM-diens te konfigureer en in stand te hou. Van hier af kan gebruikers APIs en operasies definieer, toegangskontrole konfigureer, beleide toepas, gebruikers bestuur en APIs in produkte organiseer. Hierdie portaal sentrumiseer administrasie en verseker konsekwente API-governance.

Verifikasie en Magtiging

Azure API Management ondersteun verskeie authenticatie-meganismes om API-toegang te beveilig. Dit sluit in subscription keys, OAuth 2.0 tokens, en client certificates. APIM integreer ook inheemse met Microsoft Entra ID, wat enterprise-level identity management en secure access tot beide APIs en backend-dienste moontlik maak.

Beleide

Beleide in APIM laat administrateurs toe om versoek- en antwoordverwerking op verskeie granulariteite aan te pas, insluitend vlakke soos die service, API, operation, of product. Deur beleide is dit moontlik om JWT token validation af te dwing, XML of JSON payloads te transformeer, rate limiting toe te pas, oproepe te beperk volgens IP-adres, of teen backend-dienste te verifieer met behulp van managed identities. Beleide is uiters buigsaam en vorm een van die kernsterktes van die API Management-platform, wat fynkorrelbeheer oor runtime-gedrag moontlik maak sonder om backend-kode te verander.

Named Values

Die diens bied ’n meganisme genaamd Named Values, wat toelaat om konfigurasie-inligting soos geheime, API keys, of ander waardes wat deur beleide benodig word, te stoor.

Hierdie waardes kan direk binne APIM gestoor word of veilig vanaf Azure Key Vault verwys word. Named Values bevorder veilige en gesentraliseerde bestuur van konfigurasiedata en vereenvoudig beleidsskryf deur herbruikbare verwysings in plaas van hardgekodeerde waardes toe te laat.

Netwerk- en Sekuriteitsintegrasie

Azure API Management integreer naatloos met virtual network environments, wat privaat en veilige konnektiwiteit na backend-stelsels moontlik maak.

Wanneer dit binne ’n Virtual Network (VNet) ontplooi is, kan APIM interne dienste bereik sonder om dit publiek bloot te stel. Die diens maak dit ook moontlik om custom certificates te konfigureer om mutual TLS authentication met backend-dienste te ondersteun, wat sekuriteit verbeter in scenario’s waar sterke identity validation vereis word.

Hierdie netwerkfunksies maak APIM geskik vir beide cloud-native en hybrid architectures.

Opnoem

Om die API Management-diens op te noem:

# 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

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks