Wie aktiviere ich die IAM-Authentifizierung für REST-APIs in API Gateway?

Lesedauer: 4 Minute
0

Ich möchte die AWS Identity and Access Management (IAM)-Authentifizierung für den Zugriff auf meine REST-API in Amazon API Gateway (API Gateway) aktivieren. Wie richte ich das ein?

Kurzbeschreibung

Aktivieren Sie die IAM-Authentifizierung für eine API-Methode in der API-Gateway-Konsole. Verwenden Sie dann IAM- und Ressourcenrichtlinien, um den Benutzern Ihrer API Berechtigungen zuzuweisen.

Weitere Informationen zu den verschiedenen Sicherheitsfunktionen, die für API Gateway verfügbar sind, finden Sie unter Steuern und Verwalten des Zugriffs auf eine REST-API in API Gateway.

Lösung

Aktivieren der IAM-Authentifizierung für Ihre REST-API

1.    Wählen Sie in der API-Gateway-Konsole den Namen Ihrer API aus.

2.    Wählen Sie im Bereich Ressourcen eine Methode (z. B. GET oder POST) aus, für die Sie die IAM-Authentifizierung aktivieren möchten.

3.    Wählen Sie im Bereich Methodenausführung die Option Methodenanfrage aus.

4.    Wählen Sie unter Einstellungen für Autorisierung das Stiftsymbol (Bearbeiten). Wählen Sie AWS_IAM aus der Dropdownliste und anschließend das Häkchensymbol (Aktualisieren).

5.    (Optional) Wiederholen Sie die Schritte 2 bis 4 für jede API-Methode, für die Sie die IAM-Authentifizierung aktivieren möchten.

6.    Stellen Sie Ihre API bereit, damit die Änderungen wirksam werden.

7.    Kopieren Sie im Bereich Stufen-Editor die Aufruf-URL. Sie verwenden die Aufruf-URL später zum Testen.

Weitere Informationen finden Sie unter Eine Methode mit der API-Gateway-Konsole einrichten. Sehen Sie auch: Erhalten der Aufruf-URL einer API in der API-Gateway-Konsole.

Gewähren einer API-Autorisierung für eine Gruppe von IAM-Benutzern

1.    Legen Sie die Berechtigungen fest, die Ihre API-Benutzer erhalten sollen. Weitere Informationen finden Sie unter Steuern des Zugriffs auf eine API mit IAM-Berechtigungen.

2.    Erstellen Sie eine IAM-Richtlinie, die die erforderlichen Berechtigungen enthält. Beispiele und Anleitungen zur Formatierung finden Sie unter den folgenden Links:
Steuern des Zugriffs für den Aufruf einer API
Beispiele für IAM-Richtlinien für API-Ausführungsberechtigungen
Beispiele für identitätsbasierte Amazon-API-Gateway-Richtlinien
Hinweis: Um die Testanweisungen am Ende dieses Artikels auszuführen, müssen Sie Aufrufberechtigungen zulassen.

3.    Hängen Sie Ihre IAM-Richtlinie einer IAM-Gruppe an, indem Sie einen der folgenden Schritte ausführen:
Hängen Sie die Richtlinie an eine vorhandene IAM-Gruppe an.
-oder-
Hängen Sie die Richtlinie an, wenn Sie eine neue IAM-Gruppe erstellen.

Weitere Informationen finden Sie unter Erstellen einer Richtlinie und Anhängen dieser an einen IAM-Benutzer.

Hinweis: Es ist eine bewährte Methode, Zugriff auf IAM-Gruppenebene zu gewähren.

(Optional) Konfigurieren einer API-Gateway-Ressourcenrichtlinie

Sie können auch API-Gateway-Ressourcenrichtlinien (ressourcenbasierte Berechtigungen) zusammen mit IAM-Richtlinien (identitätsbasierte Berechtigungen) verwenden, um den Zugriff auf Ihre API zu verwalten. Weitere Informationen finden Sie unter IAM-Authentifizierung und Ressourcenrichtlinie und Identitätsbasierte Richtlinien und ressourcenbasierte Richtlinien.

Wichtig: Wenn Sie den Zugriff auf Ihre API mit einem IAM-Richtlinientyp verweigern und mit einem anderen Richtlinientyp zulassen, wird der Zugriff verweigert. Weitere Informationen finden Sie in den Ergebnistabellen zur Richtlinienauswertung.

Senden einer Anfrage, um die Authentifizierungseinstellungen zu testen

Verwenden Sie die Postman-App, um mithilfe der Methode, für die Sie die IAM-Authentifizierung aktiviert haben, eine Anfrage an Ihre API-Ressource zu senden.

Hinweis: Verwenden Sie den Signaturprozess von Signature Version 4, um Anfragen manuell zu authentifizieren, die mit einem anderen Tool oder einer anderen Umgebung an API Gateway gesendet werden. Weitere Informationen finden Sie unter Signierungsanfragen.

1.    Gehen Sie in Postman auf der Registerkarte Autorisierung wie folgt vor:
Wählen Sie für Typ die Option AWS Signature aus.
Geben Sie für AccessKey und SecretKey die IAM-Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel für einen IAM-Benutzer ein. Der IAM-Benutzer muss in der IAM-Gruppe sein, die Zugriff auf Ihre API hat.

2.    Fügen Sie in das Feld Anforderungs-URL eingeben die Aufruf-URL Ihrer API ein. Wenn Sie die IAM-Authentifizierung für eine Methode für eine bestimmte API-Ressource aktiviert haben, fügen Sie den Ressourcennamen an das Ende der Aufruf-URL an.

**Hinweis:**Die vollständige Anforderungs-URL mit dem Ressourcennamen sieht wie folgt aus: https://restApiId.execute-api.region.amazonaws.com/stageName/resourceName

Eine authentifizierte Anfrage gibt den Antwortcode 200 OK zurück. Eine unautorisierte Anfrage führt zur Fehlermeldung Fehlendes Authentifizierungstoken und zum Antwortcode 403 Forbidden.


Relevante Informationen

Wie sich API-Gateway-Ressourcenrichtlinien auf den Autorisierungs-Workflow auswirken