Synchronisieren von APIs zwischen Amazon API-Gateway und Azure API Center (Vorschau)
In diesem Artikel wird gezeigt, wie Sie ein Amazon API-Gateway so integrieren, dass die APIs der Gateways im API Center-Bestand kontinuierlich auf dem neuesten Stand gehalten werden.
Informationen zum Integrieren des Amazon API-Gateways
Die Integration des Amazon API-Gateways als API-Quelle für Ihr API Center ermöglicht eine kontinuierliche Synchronisierung, sodass der API-Bestand immer auf dem neuesten Stand ist. Azure API Center kann auch APIs aus Quellen synchronisieren, einschließlich Azure API Management.
Wenn Sie ein Amazon API-Gateway als API-Quelle integrieren, geschieht Folgendes:
- APIs und optional API-Definitionen (Spezifikationen) aus dem API-Gateway werden dem API Center-Bestand hinzugefügt.
- Sie konfigurieren eine Umgebung des Typs Amazon API-Gateway im API Center.
- Für jede synchronisierte API-Definition wird eine zugeordnete Bereitstellung erstellt.
Die Synchronisierung aus Amazon API-Gateway mit Azure API Center ist unidirektional. Das bedeutet, dass API-Aktualisierungen im API Center nicht mit dem Amazon API-Gateway synchronisiert werden.
Hinweis
- Die Integration von Amazon API-Gateway befindet sich derzeit in der Vorschau.
- Es gelten Grenzwerte für die Anzahl der integrierten API-Quellen.
- APIs im Amazon API-Gateway werden einmal pro Stunde mit dem API Center synchronisiert. Es werden nur REST-APIs synchronisiert.
- API-Definitionen werden auch mit dem API Center synchronisiert, wenn Sie die Option auswählen, sie während der Integration einzuschließen. Es werden nur Definitionen aus bereitgestellten APIs synchronisiert.
Aus Amazon API-Gateway synchronisierte Entitäten
Sie können Metadaten und Dokumentationen zu den synchronisierten APIs im API Center hinzufügen oder aktualisieren, um Projektbeteiligten dabei zu helfen, die synchronisierten APIs zu finden, zu verstehen und zu nutzen. Hier erfahren Sie mehr über die integrierten und benutzerdefinierten Metadateneigenschaften von Azure API Center.
Die folgende Tabelle zeigt Entitätseigenschaften, die in Azure API Center geändert werden können, und Eigenschaften, die basierend auf ihren Werten in der API-Quelle festgelegt werden.
Entity | In API Center konfigurierbare Eigenschaften | In der integrierten API-Quelle ermittelte Eigenschaften |
---|---|---|
API | Zusammenfassung lifecycleStage termsOfService license externalDocumentation customProperties |
title Beschreibung Art |
API-Version | lifecycleStage | title Definitionen (sofern synchronisiert) |
Umgebung | title Beschreibung kind server.managementPortalUri Onboarding customProperties |
server.type |
Bereitstellung | title Beschreibung server state customProperties |
server.runtimeUri |
Hinweis
Ressourcen- und System-IDs für Entitäten, die mit Azure API Center synchronisiert werden, werden automatisch generiert und können nicht geändert werden.
Voraussetzungen
Ein API-Center in Ihrem Azure-Abonnement. Wenn Sie noch keins erstellt haben, lesen Sie die Schnellstartanleitung: Erstellen Ihres API-Centers.
Ein Azure-Schlüsseltresor. Wenn Sie eine erstellen müssen, finden Sie weitere Informationen unter Schnellstart: Erstellen einer Key Vault-Instanz über das Azure-Portal. Um geheime Schlüssel im Schlüsseltresor hinzuzufügen oder zu verwalten, ist mindestens die Rolle Key Vault-Geheimnisbeauftragter oder eine gleichwertige Berechtigung erforderlich.
Ein Amazon API-Gateway.
Eine AWS IAM-Benutzer-Identität mit der angefügten
AmazonAPIGatewayAdministrator
-Richtlinie.Für die Azure CLI:
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
Hinweis
Für
az apic
-Befehle wird die Azure CLI-Erweiterungapic-extension
benötigt. Wenn Sie keineaz apic
-Befehle verwendet haben, kann die Erweiterung dynamisch installiert werden, wenn Sie den erstenaz apic
-Befehl ausführen. Sie können die Erweiterung auch manuell installieren. Hier finden Si weitere Informationen zu Azure CLI-Erweiterungen.In den Versionshinweisen finden Sie die neuesten Änderungen und Updates in der
apic-extension
. Für bestimmte Features ist möglicherweise eine Vorschauversion oder eine bestimmte Version der Erweiterung erforderlich.Hinweis
Azure CLI-Befehlsbeispiele in diesem Artikel können in PowerShell oder einer Bash-Shell ausgeführt werden. Bei Bedarf aufgrund unterschiedlicher Variablensyntax werden separate Befehlsbeispiele für die beiden Shells bereitgestellt.
Erstellen von IAM-Benutzerzugriffsschlüsseln
Um das API Center beim Amazon API-Gateway zu authentifizieren, benötigen Sie Zugriffsschlüssel für einen AWS IAM-Benutzer.
Informationen zum Generieren der erforderlichen Zugriffsschlüssel-ID und des geheimen Schlüssels mithilfe der AWS-Verwaltungskonsole finden Sie unter Erstellen eines Zugriffsschlüssels für sich selbst in der AWS-Dokumentation.
Speichern Sie Ihre Zugriffsschlüssel an einem sicheren Ort. Sie speichern sie in den nächsten Schritten in Azure Key Vault.
Achtung
Zugriffsschlüssel sind langfristige Anmeldeinformationen, und Sie sollten sie so sicher wie ein Kennwort verwalten. Weitere Informationen zum Sichern von Zugriffsschlüsseln
Speichern von IAM-Benutzerzugriffsschlüsseln in Azure Key Vault
Laden Sie die beiden IAM-Benutzerzugriffsschlüssel in Azure Key Vault mithilfe der in der folgenden Tabelle empfohlenen Konfiguration hoch und sichern Sie sie. Weitere Informationen finden Sie unter Schnellstart: Festlegen eines Geheimnisses und Abrufen des Geheimnisses aus Azure Key Vault mithilfe des Azure-Portals.
AWS-Geheimnis | Uploadoptionen | Name | Geheimer Wert |
---|---|---|---|
Zugriffsschüssel | Manuell | aws-access-key | Zugriffsschlüssel-ID, die von AWS abgerufen wurde |
Geheimer Zugriffsschlüssel | Manuell | aws-secret-access-key | Geheimer Zugriffsschlüssel, der von AWS abgerufen wurde |
Notieren Sie sich die Geheimnis-ID jedes geheimen Schlüssels, einen URI, der https://<key-vault-name>.vault.azure.net/secrets/<secret-name>
ähnelt. Sie werden diese IDs im nächsten Schritt verwenden.
Aktivieren einer verwalteten Identität in Ihrem API-Center
In diesem Szenario verwendet Ihr API-Center eine verwaltete Identität für den Zugriff auf Azure-Ressourcen. Aktivieren Sie je nach Ihren Anforderungen entweder eine systemseitig oder ein oder mehrere benutzerseitig zugewiesene verwaltete Identitäten.
Die folgenden Beispiele zeigen, wie Sie eine systemseitig zugewiesene verwaltete Identität mithilfe des Azure-Portals oder der Azure CLI aktivieren. Im Großen und Ganzen sind die Konfigurationsschritte für eine benutzerseitig zugewiesene verwaltete Identität ähnlich.
- Navigieren Sie im Portal zu Ihrem API-Center.
- Wählen Sie im linken Menü unter Sicherheit die Option Verwaltete Identitäten aus.
- Wählen Sie Systemseitig zugewiesen aus, und legen Sie den Status auf Ein fest.
- Wählen Sie Speichern.
Zuweisen der verwalteten Identität zur Rolle „Key Vault-Geheimnisbenutzer”
Um den Import von APIs zuzulassen, weisen Sie die verwaltete Identität Ihres API Centers der Rolle Key Vault-Geheimnisbenutzer in Ihrem Azure Key Vault zu. Sie können das Portal oder die Azure CLI verwenden.
- Navigieren Sie im Portal zu Ihrem Schlüsseltresor.
- Wählen Sie im linken Menü Zugriffssteuerung (IAM) aus.
- Wählen Sie + Rollenzuweisung hinzufügen aus.
- Legen Sie auf der Seite Rollenzuweisung hinzufügen die Werte wie folgt fest:
- Wählen Sie auf der Registerkarte Rolle die Option Key Vault-Geheimnisbenutzer aus.
- Auf der Seite Mitglieder unter Zugriff zuweisen: Wählen Sie Verwaltete Identität>+ Mitglieder auswählen aus.
- Wählen Sie auf der Seite Verwaltete Identitäten auswählen die systemseitig zugewiesene verwaltete Identität Ihres API-Centers aus, die Sie im vorherigen Abschnitt hinzugefügt haben. Klicken Sie auf Auswählen.
- Wählen Sie Überprüfen und zuweisen aus.
Integrieren eines Amazon API-Gateways
Führen Sie den Befehl az apic integration create aws (Vorschau) aus, um ein Amzon API-Gateway in das API Center zu integrieren.
Geben Sie die Namen der Ressourcengruppe, des API Centers und der Integration an.
Stellen Sie die Geheimnis-IDs des Key Vault für den AWS-Zugriffsschlüssel und geheimen Zugriffsschlüssel sowie die AWS-Region bereit, in der das Amazon API-Gateway bereitgestellt wird.
az apic integration create aws \
--resource-group <resource-group-name> \
--service-name-name <api-center-name> \
--integration-name <aws-integration-name> \
--aws-access-key-reference <access-key-uri> \
--aws-secret-access-key-reference <secret-access-key-uri>
--aws-region-name <aws-region>
Die Umgebung wird in API Center hinzugefügt. Die Amazon API-Gateway-APIs werden in den API Center-Bestand importiert.
Löschen einer Integration
Während eine API Management-Instanz verknüpft ist, können Sie synchronisierte APIs nicht aus dem API Center löschen. Bei Bedarf können Sie die Integration löschen. Wenn Sie eine Integration löschen:
- werden die synchronisierten APIs in Ihrem API Center-Bestand gelöscht.
- werden die Umgebung und Bereitstellungen, die der API-Quelle zugeordnet sind, gelöscht.
Um eine Integration mit der Azure CLI zu löschen, führen Sie den Befehl az apic integration delete (Vorschau) aus. Geben Sie die Namen der Ressourcengruppe, des API Centers und der Integration an.
az apic integration delete \
--resource-group <resource-group-name> \
--service-name <api-center-name> \
--integration-name <integration-name>