Zugriff auf eine REST-API mit Amazon Cognito-Benutzerpools als Genehmiger steuern - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Zugriff auf eine REST-API mit Amazon Cognito-Benutzerpools als Genehmiger steuern

Als Alternative zur Verwendung von IAM-Rollen und Richtlinien oder eines Lambda-Genehmigers (früher als benutzerdefinierter Genehmiger bekannt), können Sie einen Amazon Cognito-Benutzerpool verwenden, um den Zugriff auf Ihre API in Amazon API Gateway zu steuern.

Um einen Amazon Cognito-Benutzerpool mit Ihrer API zu verwenden, müssen Sie zunächst einen Genehmiger vom Typ COGNITO_USER_POOLS erstellen und dann eine API-Methode zur Verwendung dieses Genehmigers konfigurieren. Nach der Bereitstellung der API muss sich der Client zunächst am Benutzerpool anmelden, ein Identitäts- oder Zugriffstoken für den Benutzer abrufen und dann die API-Methode mit einem dieser Token, die in der Regel auf den Authorization-Header der Anfrage festgelegt sind, aufrufen. Der API-Aufruf ist nur erfolgreich, wenn der erforderliche Token übergeben und gültig ist. Andernfalls wird der Client nicht für den Aufruf autorisiert, da der Client über keine autorisierbaren Anmeldeinformationen verfügt.

Mit dem Identitätstoken werden API-Aufrufe auf Grundlage der Identitätsansprüche des angemeldeten Benutzers autorisiert. Mit dem Zugriffstoken werden API-Aufrufe auf Grundlage der benutzerdefinierten Bereiche von angegebenen zugriffsgeschützten Ressourcen autorisiert. Weitere Informationen finden Sie unter Verwenden von Token mit Benutzerpools und Ressourcenserver und benutzerdefinierte Bereiche.

Um einen Amazon Cognito-Benutzerpool für Ihre API zu erstellen und zu konfigurieren, führen Sie die folgenden Aufgaben aus:

  • Verwenden Sie die Amazon Cognito-Konsole, die CLI, das SDK oder die API, um einen Benutzerpool zu erstellen – oder verwenden Sie einen Pool, der einem anderen AWS-Konto gehört.

  • Verwenden Sie die API Gateway-Konsole, die CLI, das SDK oder die API, um einen API Gateway-Genehmiger mit dem ausgewählten Benutzerpool zu erstellen.

  • Verwenden Sie die API Gateway-Konsole, die CLI, das SDK oder die API, um den Genehmiger für ausgewählte API-Methoden zu aktivieren.

Um alle API-Methoden mit einem Benutzerpool zu aktivieren, führen Ihre API-Clients die folgenden Aufgaben aus:

  • Verwenden Sie die Amazon Cognito CLI, das SDK oder die API, um einen Benutzer beim gewählten Benutzerpool anzumelden und ein Identitäts- oder Zugriffstoken zu erhalten. Weitere Informationen zur Verwendung der SDKs finden Sie unter Codebeispiele für Amazon Cognito unter Verwendung von AWS-SDKs.

  • Verwenden Sie ein kundenspezifisches Framework, um die bereitgestellte API Gateway-API aufzurufen und das entsprechende Token im Authorization-Header bereitzustellen.

Als API-Entwickler müssen Sie Ihren Client-Entwicklern die Benutzerpool-ID, eine Client-ID und die entsprechenden Clientschlüssel bereitstellen, die als Teil des Benutzerpools definiert werden.

Anmerkung

Verwenden Sie Amazon Cognito Federated Identities, damit sich ein Benutzer mit Anmeldeinformationen von Amazon Cognito anmelden und temporäre Anmeldeinformationen zur Verwendung mit den Berechtigungen einer IAM-Rolle erhalten kann. Legen Sie bei jeder HTTP-Methode für API-Ressourcenendpunkte den Autorisierungstyp, Kategorie Method Execution auf AWS_IAM fest.

In diesem Abschnitt wird beschrieben, wie Sie einen Benutzerpool erstellen, eine API Gateway-API in den Benutzerpool integrieren und eine API aufrufen, die im Benutzerpool integriert ist.