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.
aws-cognito-apigateway-lambda

Alle Klassen befinden sich in aktiver Entwicklung und unterliegen nicht abwärtskompatiblen Änderungen oder Entfernen in jeder zukünftigen Version. Diese unterliegen nicht denSemantische Versionierung
Hinweis: Um eine ordnungsgemäße Funktionalität sicherzustellen, müssen die AWS Solutions Constructs Pakete und AWS CDK-Pakete in Ihrem Projekt dieselbe Version aufweisen.
Sprache | Paket |
---|---|
![]() |
aws_solutions_constructs.aws_cognito_apigateway_lambda
|
![]() |
@aws-solutions-constructs/aws-cognito-apigateway-lambda
|
![]() |
software.amazon.awsconstructs.services.cognitoapigatewaylambda
|
Overview
Dieses AWS Solutions Construct implementiert Amazon Cognito zum Sichern einer LAMBDA-gesicherten REST-API mit Amazon API Gateway.
Hier ist eine minimale bereitstellbare Musterdefinition in TypeScript:
import { CognitoToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cognito-apigateway-lambda'; new CognitoToApiGatewayToLambda(this, 'test-cognito-apigateway-lambda', { lambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda`), handler: 'index.handler' } });
Wenn Sie Ressourcen und Methoden in Ihrer API definieren (z.proxy = false
) müssen Sie dieaddAuthorizers()
-Methode, nachdem die API vollständig definiert ist. Dadurch wird sichergestellt, dass jede Methode in Ihrer API geschützt ist.
Hier ist ein Beispiel in TypeScript:
import { CognitoToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cognito-apigateway-lambda'; const construct = new CognitoToApiGatewayToLambda(this, 'test-cognito-apigateway-lambda', { lambdaFunctionProps: { // This assumes a handler function in lib/lambda/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda`), runtime: lambda.Runtime.NODEJS_12_X, handler: 'index.handler' }, apiGatewayProps: { proxy: false } }); const resource = construct.apiGateway.root.addResource('foobar'); resource.addMethod('POST'); // Mandatory to call this method to Apply the Cognito Authorizers on all API methods construct.addAuthorizers();
Initializer
new CognitoToApiGatewayToLambda(scope: Construct, id: string, props: CognitoToApiGatewayToLambdaProps);
Parameter
-
Bereich
Construct
-
id
string
Muster-Konstrukt
Name | Typ | Beschreibung |
---|---|---|
Gibt es LambdaObj? |
lambda.Function
|
Vorhandene Instanz des Lambda Function-Objekts, die sowohl diese als auchlambdaFunctionProps führt zu einem -Fehler. |
LambdaFunctionProps? |
lambda.FunctionProps
|
Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die Lambda Funktion zu überschreiben. Wird ignoriert, wenn einexistingLambdaObj wird bereitgestellt. |
ApigatewayProps? |
api.LambdaRestApiProps
|
Optionale, vom Benutzer bereitgestellte Requisiten zum Überschreiben der Standard-Requisiten für API Gateway |
CognitouserPoolProps? |
cognito.UserPoolProps
|
Optional vom Benutzer bereitgestellte Requisiten zum Überschreiben der Standard-Requisiten für den Cognito Benutzerpool |
CognitouserPoolClientProps? |
cognito.UserPoolClientProps
|
Optionale, vom Benutzer bereitgestellte Requisiten zum Überschreiben der Standard-Requisiten für den Cognito User Pool Client |
LogGroupProps? |
logs.LogGroupProps
|
Optionale, vom Benutzer bereitgestellte Requisiten zum Überschreiben der Standardprops für die CloudWatch Logs s-Protokollgruppe. |
Muster-Eigenschaften
Name | Typ | Beschreibung |
---|---|---|
ApiGateway |
api.RestApi
|
Gibt eine Instanz der API Gateway REST-API zurück, die durch das Muster erstellt wurde. |
LambdaFunction |
lambda.Function
|
Gibt eine Instanz der Lambda Funktion zurück, die durch das Muster erstellt wurde. |
userPool |
cognito.UserPool
|
Gibt eine Instanz des Cognito Benutzerpools zurück, die durch das Muster erstellt wurde. |
UserPoolClient |
cognito.UserPoolClient
|
Gibt eine Instanz des Cognito Benutzerpool-Clients zurück, die durch das Muster erstellt wurde. |
ApigatewayCloudWatchRole |
iam.Role
|
Gibt eine Instanz der IAM-Rolle zurück, die durch das Muster erstellt wurde, das die Zugriffsprotokollierung von der API Gateway REST-API zu CloudWatch ermöglicht. |
ApigatewayLogGroup |
logs.LogGroup
|
Gibt eine Instanz der Protokollgruppe zurück, die durch das Muster erstellt wurde, an das API Gateway REST-API-Zugriffsprotokolle gesendet werden. |
ApigatewayAuthorizer |
api.CfnAuthorizer
|
Gibt eine Instanz des API Gateway Autorizers zurück, der durch das Muster erstellt wurde. |
Standardeinstellungen
Die vorgefertigte Implementierung dieses Musters ohne Überschreibungen setzt die folgenden Standardwerte:
Amazon Cognito
-
Festlegen einer Kennwortrichtlinie für -
-
Erzwingen des erweiterten Sicherheitsmodus für Benutzerpools
Amazon API Gateway
-
Bereitstellen eines Edge-optimierten API-Endpunkts
-
Aktivieren der CloudWatch -Protokollierung für API Gateway
-
Konfigurieren der IAM-Rolle für den Zugriff auf die geringste Berechtigung für API Gateway
-
Legen Sie den standardmäßigen AuthorizationType für alle API-Methoden auf IAM fest
-
Aktivieren der X-Ray blaufverfolgung
AWS Lambda-Funktion
-
Konfigurieren der IAM-Rolle für den eingeschränkten Berechtigungszugriff für die Lambda -Funktion
-
Aktivieren Sie die Wiederverwendung von Verbindungen mit Keep-Alive für NodeJS Lambda
-
Aktivieren der X-Ray blaufverfolgung
-
Festlegen von Umgebungsvariablen:
-
AWS_NODEJS_CONNECTION_REUSE_ENABLED
(für Node 10.x und höhere Funktionen)
-
Architecture

GitHub
Um den Code für dieses Muster anzuzeigen, erstellen/anzeigen Probleme und Pull-Anforderungen usw.: | |
---|---|
![]() |
@aws -solutions-konstrukte/aws-cognito-apigateway-lambda |