As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
aws-cognito-apigateway-lambda
Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos àVersionamento semântico
Observações: Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão.
| Linguagem | Pacote |
|---|---|
|
aws_solutions_constructs.aws_cognito_apigateway_lambda
|
|
@aws-solutions-constructs/aws-cognito-apigateway-lambda
|
|
software.amazon.awsconstructs.services.cognitoapigatewaylambda
|
Overview
Este AWS Solutions Construct implementa o Amazon Cognito protegendo uma API REST apoiada pelo Amazon API Gateway Lambda.
Aqui está uma definição de padrão implantável mínima no 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' } });
Se você estiver definindo recursos e métodos em sua API (por exemplo,proxy = false), você deve chamar oaddAuthorizers()depois que a API é totalmente definida. Isso garante que todos os métodos em sua API estejam protegidos.
Veja um exemplo em 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);
Parâmetros
-
escopo
Construct -
id
string
Adereços de construção de padrão
| Nome | Tipo | Descrição |
|---|---|---|
| ExistingAmbdaobj? |
lambda.Function
|
Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro. |
| LambdaFunctionProps? |
lambda.FunctionProps
|
Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido. |
| ApigatewayProps? |
api.LambdaRestApiProps
|
Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão do API Gateway |
| CognitouserPoolProps? |
cognito.UserPoolProps
|
O usuário opcional forneceu adereços para substituir os adereços padrão para o grupo de usuários do Cognito |
| CognitouserPoolClientProps? |
cognito.UserPoolClientProps
|
O usuário opcional forneceu adereços para substituir os adereços padrão para o cliente do grupo de usuários do Cognito |
| LoggroupProps? |
logs.LogGroupProps
|
Aderos opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs. |
Propriedades de padrão
| Nome | Tipo | Descrição |
|---|---|---|
| ApiGateway |
api.RestApi
|
Retorna uma instância da API REST Gateway criada pelo padrão. |
| LambdaFunction |
lambda.Function
|
Retorna uma instância da função Lambda criada pelo padrão. |
| userPool |
cognito.UserPool
|
Retorna uma instância do grupo de usuários do Cognito criado pelo padrão. |
| USPoolClient |
cognito.UserPoolClient
|
Retorna uma instância do cliente do grupo de usuários do Cognito criado pelo padrão. |
| ApigatewayCloudWatchRole |
iam.Role
|
Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch. |
| ApigatewayLogGroup |
logs.LogGroup
|
Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados. |
| ApigatewayAuthorizer |
api.CfnAuthorizer
|
Retorna uma instância do autorizador API Gateway criado pelo padrão. |
Configurações padrão
A implementação imediata desse padrão sem substituições definirá os seguintes padrões:
Amazon Cognito
-
Definição de política de senha para grupos de usuários
-
Impor o modo de segurança avançado para grupos de usuários
Amazon API Gateway
-
Implantar um endpoint de API otimizado para bordas
-
Habilitar o log do CloudWatch para o
-
Configurar a função IAM de acesso de menor privilégio para API Gateway
-
Defina o AuthorizationType padrão para todos os métodos de API como IAM
-
Ativar rastreamento do X-Ray
Função do AWS Lambda
-
Configurar a função do IAM de acesso de privilégio limitado para a função Lambda
-
Ativar a reutilização de conexões com a função Keep-Alive para NodeJS Lambda
-
Ativar rastreamento do X-Ray
-
Definição de variáveis de ambiente:
-
AWS_NODEJS_CONNECTION_REUSE_ENABLED(para funções Node 10.x e superiores)
-
Architecture
GitHub
| Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais: | |
|---|---|
|
@aws -solutions-constructs/aws-cognito-apigateway-lambda |