Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: Alle API Management-Ebenen
Mit der API-Verwaltung können Sie den Zugriff auf den Back-End-Dienst einer API mithilfe von Clientzertifikaten und der gegenseitigen TLS-Authentifizierung sichern. In diesem Artikel wird gezeigt, wie Zertifikate in der API-Verwaltung mithilfe des Azure-Portals verwaltet werden. Darüber hinaus wird auch erklärt, wie eine API zur Verwendung eines Zertifikats zum Zugriff auf einen Back-End-Dienst konfiguriert wird.
Sie können API-Verwaltungszertifikate auch mithilfe der API-Verwaltungs-REST-API verwalten.
Zertifikatoptionen
Die API-Verwaltung bietet zwei Optionen zum Verwalten von Zertifikaten, die zum sicheren Zugriff auf Back-End-Dienste verwendet werden:
- Verweisen Sie auf ein Zertifikat, das in Azure Key Vault verwaltet wird.
- Fügen Sie eine Zertifikatdatei direkt in der API-Verwaltung hinzu.
Es wird empfohlen, Schlüsseltresorzertifikate zu verwenden, da dies die SICHERHEIT der API-Verwaltung verbessert:
- Zertifikate, die in Schlüsseltresorn gespeichert sind, können für alle Dienste wiederverwendet werden.
- Granulare Zugriffsrichtlinien können auf Zertifikate angewendet werden, die in Schlüsseltresorn gespeichert sind.
- Im Schlüsseltresor aktualisierte Zertifikate werden in API Management automatisch rotiert. Nach einer Aktualisierung im Schlüsseltresor wird ein Zertifikat innerhalb von vier Stunden in API Management aktualisiert. Sie können das Zertifikat auch manuell über das Azure-Portal oder über die REST-API der Verwaltung aktualisieren.
Voraussetzungen
Hinweis
Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Wenn Sie noch keine API-Verwaltungsinstanz erstellt haben, lesen Sie "Erstellen einer API-Verwaltungsdienstinstanz".
Konfigurieren Sie die Clientzertifikatauthentifizierung des Back-End-Diensts. Informationen zum Konfigurieren der Zertifikatauthentifizierung in Azure App Service finden Sie unter Konfigurieren der TLS-gegenseitigen Authentifizierung in App Service.
Stellen Sie sicher, dass Sie Zugriff auf das Zertifikat und das Kennwort für die Verwaltung in einem Azure-Schlüsseltresor oder ein Zertifikat haben, das in den API-Verwaltungsdienst hochgeladen werden soll. Das Zertifikat muss im PFX-Format vorliegen. Selbstsignierte Zertifikate sind zulässig.
Bei Verwendung eines selbstsignierten Zertifikats:
Installieren Sie vertrauenswürdige Zertifikate der Stamm- und Zwischenzertifizierungsstelle in Ihrer API Management-Instanz.
Hinweis
CA-Zertifikate für die Zertifikatsvalidierung werden im Verbrauchstarif nicht unterstützt.
Deaktivieren Sie die Überprüfung der Zertifikatkette. Weitere Informationen finden Sie unter Deaktivieren der Zertifikatkettenüberprüfung für selbstsignierte Zertifikate weiter unten in diesem Artikel.
Voraussetzungen für die Key Vault-Integration
Hinweis
Diese Funktion ist derzeit in Arbeitsbereichen nicht verfügbar.
Wenn Sie noch nicht über einen Schlüsseltresor verfügen, erstellen Sie einen. Informationen zum Erstellen eines Schlüsseltresors finden Sie in der Schnellstartanleitung: Erstellen eines Schlüsseltresors mithilfe des Azure-Portals.
Aktivieren Sie eine vom System zugewiesene oder vom Benutzer zugewiesene verwaltete Identität in der API-Verwaltung.
Konfigurieren des Zugriffs auf den Schlüsseltresor
- Navigieren Sie im Portal zu Ihrem Schlüsseltresor.
- Wählen Sie im linken Menü die Access-Konfiguration aus. Beachten Sie das konfigurierte Berechtigungsmodell .
- Konfigurieren Sie je nach Berechtigungsmodell entweder eine Schlüsseltresor-Zugriffsrichtlinie oder den Azure RBAC-Zugriff für eine verwaltete API Management-Identität.
Um eine Zugriffsrichtlinie für den Key Vault hinzuzufügen:
- Wählen Sie im Menü auf der linken Seite Zugriffsrichtlinien aus.
- Wählen Sie auf der Seite Zugriffsrichtlinien die Option + Erstellen aus.
- Wählen Sie auf der Registerkarte "Berechtigungen " unter "Geheime Berechtigungen" die Option " Abrufen und Liste" und dann " Weiter" aus.
- Wählen Sie auf der Registerkarte "Prinzipal " die Option "Prinzipal" aus, suchen Sie nach dem Ressourcennamen Ihrer verwalteten Identität, und wählen Sie dann "Weiter" aus. Wenn Sie eine systemseitig zugewiesene Identität verwenden, ist der Prinzipal der Name der API Management-Instanz.
- Wählen Sie erneut Weiter aus. Wählen Sie auf der Registerkarte Überprüfen + erstellen die Option Erstellen aus.
Informationen zum Erstellen eines Zertifikats im Schlüsseltresor oder zum Importieren eines Zertifikats in den Schlüsseltresor finden Sie in der Schnellstartanleitung: Festlegen und Abrufen eines Zertifikats aus Azure Key Vault mithilfe des Azure-Portals.
Anforderungen an Key Vault-Firewall
Wenn die Key Vault-Firewall auf Ihrem Schlüsseltresor aktiviert ist, müssen Sie die folgenden Anforderungen erfüllen:
Sie müssen die vom System zugewiesene verwaltete Identität der API-Verwaltungsinstanz verwenden, um auf den Schlüsseltresor zuzugreifen.
Aktivieren Sie in der Key Vault-Firewall die Option Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben? .
Stellen Sie sicher, dass Ihre lokale Client-IP-Adresse vorübergehend auf den Schlüsseltresor zugreifen darf, während Sie ein Zertifikat oder Geheimnis auswählen, das Sie der Azure API Management-Instanz hinzufügen möchten. Weitere Informationen finden Sie unter Konfigurieren von Azure Key Vault-Netzwerkeinstellungen.
Nach Abschluss der Konfiguration können Sie Ihre Clientadresse in der Firewall des Schlüsseltresors blockieren.
Anforderungen für virtuelle Netzwerke
Wenn die API Management-Instanz in einem virtuellen Netzwerk bereitgestellt wird, müssen Sie darüber hinaus die folgenden Netzwerkeinstellungen konfigurieren:
- Aktivieren Sie einen Dienstendpunkt für Key Vault im API-Verwaltungssubnetz.
- Konfigurieren Sie eine Netzwerksicherheitsgruppen-Regel (NSG), um ausgehenden Datenverkehr an die Diensttags AzureKeyVault und AzureActiveDirectory zuzulassen.
Ausführliche Informationen finden Sie unter Netzwerkkonfiguration beim Einrichten der API-Verwaltung in einem virtuellen Netzwerk.
Hinzufügen eines Schlüsseltresorzertifikats
Weitere Informationen finden Sie unter Voraussetzungen für die Key Vault-Integration.
Wichtig
Um Ihrer API-Verwaltungsinstanz ein Schlüsseltresorzertifikat hinzuzufügen, müssen Sie über berechtigungen zum Auflisten geheimer Schlüssel aus dem Schlüsseltresor verfügen.
Achtung
Achten Sie beim Verwenden eines Schlüsseltresorzertifikats in der API-Verwaltung darauf, das Zertifikat, den Schlüsseltresor oder die verwaltete Identität, die für den Zugriff auf den Schlüsseltresor verwendet wird, nicht zu löschen.
So fügen Sie ein Schlüsseltresorzertifikat zu API Management hinzu
Wechseln Sie im Azure-Portal zu Ihrer API-Verwaltungsinstanz.
Wählen Sie unter Sicherheit die Option Zertifikate aus.
Wählen Sie Zertifikate>+ Hinzufügen aus.
Geben Sie in der ID einen Namen ein.
Wählen Sie in Zertifikat die Option Schlüsseltresor aus.
Geben Sie den Bezeichner eines Schlüsseltresorzertifikats ein, oder wählen Sie Auswählen aus, um ein Zertifikat aus einem Schlüsseltresor auszuwählen.
Wichtig
Wenn Sie selbst eine Key Vault-Zertifikat-ID eingeben, vergewissern Sie sich, dass sie keine Versionsinformationen enthält. Andernfalls wird das Zertifikat nach einer Aktualisierung im Schlüsseltresor nicht automatisch in API Management rotiert.
Wählen Sie in der Clientidentität eine vom System zugewiesene Identität oder eine vorhandene vom Benutzer zugewiesene verwaltete Identität aus. Weitere Informationen finden Sie unter Verwenden von verwalteten Identitäten in Azure API Management.
Hinweis
Die Identität muss Berechtigungen zum Abrufen und Auflisten von Zertifikaten im Schlüsseltresor aufweisen. Wenn Sie noch keinen Zugriff auf den Schlüsseltresor konfiguriert haben, werden Sie von der API-Verwaltung aufgefordert, damit sie die Identität automatisch mit den erforderlichen Berechtigungen konfigurieren kann.
Wählen Sie Hinzufügen.
Wählen Sie Speichern aus.
Hochladen eines Zertifikats
So laden Sie ein Schlüsseltresorzertifikat in API Management hoch
Wechseln Sie im Azure-Portal zu Ihrer API-Verwaltungsinstanz.
Wählen Sie unter Sicherheit die Option Zertifikate aus.
Wählen Sie Zertifikate>+ Hinzufügen aus.
Geben Sie in der ID einen Namen ein.
Wählen Sie in Zertifikat die Option Benutzerdefinierte aus.
Durchsuchen Sie das Dateisystem, um die PFX-Zertifikatdatei auszuwählen, und geben Sie das zugehörige Kennwort ein.
Wählen Sie Hinzufügen.
Wählen Sie Speichern aus.
Nachdem das Zertifikat hochgeladen wurde, wird es im Fenster Zertifikate angezeigt. Wenn Sie über viele Zertifikate verfügen, notieren Sie sich den Fingerabdruck des soeben hochgeladenen Zertifikats. Sie müssen eine API für die Verwendung des Clientzertifikats für die Gatewayauthentifizierung konfigurieren.
Konfigurieren einer API zum Verwenden eines Clientzertifikats für die Gatewayauthentifizierung
Wechseln Sie im Azure-Portal zu Ihrer API-Verwaltungsinstanz.
Wählen Sie unter APIs die Option APIs aus.
Wählen Sie eine API aus der Liste aus.
Wählen Sie auf der Registerkarte " Entwurf " das Stiftsymbol im Abschnitt "Back-End " aus.
Wählen Sie in Gateway-AnmeldeinformationenClientzertifikat und dann Ihr Zertifikat in der Clientzertifikatliste aus.
Wählen Sie Speichern aus.
Achtung
Diese Änderung wird sofort wirksam. Aufrufe von Vorgängen der API verwenden das Zertifikat, um sich auf dem Back-End-Server zu authentifizieren.
Tipp
Wenn ein Zertifikat für die Gatewayauthentifizierung für den Back-End-Dienst einer API angegeben wird, wird es Teil der Richtlinie für diese API und kann im Richtlinien-Editor angezeigt werden.
Deaktivieren der Zertifikatkettenüberprüfung für selbstsignierte Zertifikate
Wenn Sie selbstsignierte Zertifikate verwenden, müssen Sie die Überprüfung der Zertifikatkette deaktivieren, um die API-Verwaltung für die Kommunikation mit dem Back-End-System zu aktivieren. Andernfalls erhalten Sie einen Fehlercode von 500. Um diese Überprüfung zu deaktivieren, können Sie die New-AzApiManagementBackend
PowerShell-Cmdlets (für ein neues Back-End) oder Set-AzApiManagementBackend
(für ein vorhandenes Back-End) verwenden und den -SkipCertificateChainValidation
Parameter auf True
Folgendes festlegen:
$context = New-AzApiManagementContext -ResourceGroupName 'ContosoResourceGroup' -ServiceName 'ContosoAPIMService'
New-AzApiManagementBackend -Context $context -Url 'https://contoso.com/myapi' -Protocol http -SkipCertificateChainValidation $true
Sie können die Zertifikatkettenüberprüfung auch mithilfe der Back-End-REST-API deaktivieren.
Löschen eines Clientzertifikats
Um ein Zertifikat zu löschen, wählen Sie im Menü mit den Auslassungspunkten (...) die Option "Löschen" aus:
Wichtig
Wenn auf das Zertifikat von Richtlinien verwiesen wird, wird ein Warnbildschirm angezeigt. Um das Zertifikat zu löschen, müssen Sie es zuerst aus allen Richtlinien entfernen, die für deren Verwendung konfiguriert wurden.