翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
aws-コグニート-アピガテウェイ-ラムダ
すべてのクラスは積極的に開発されており、将来のバージョンでは下位互換性がない変更または削除の対象となります。これらは、セマンティックバージョン管理
注意: 正しく機能するためには、プロジェクト内の AWS ソリューション構築パッケージと AWS CDK パッケージが同じバージョンである必要があります。
| 言語 | パッケージ |
|---|---|
|
aws_solutions_constructs.aws_cognito_apigateway_lambda
|
|
@aws-solutions-constructs/aws-cognito-apigateway-lambda
|
|
software.amazon.awsconstructs.services.cognitoapigatewaylambda
|
Overview
この AWS ソリューション構築物は、Amazon API Gateway ラムダでバックアップされた REST API を保護する Amazon Cognito を実装します。
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' } });
APIでリソースとメソッドを定義している場合(例:proxy = false) を呼び出す必要があります。addAuthorizers()API が完全に定義された後にメソッドを呼び出します。これにより、API のすべてのメソッドが保護されます。
TypeScript tの例を次に示します。
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);
パラメータ
-
scope
Construct -
id
string
パターン構成プロパティ
| 名前 | タイプ | 説明 |
|---|---|---|
| ExistingLambdaObj? |
lambda.Function
|
Lambda Functionオブジェクトの既存のインスタンス。これとlambdaFunctionPropsはエラーを発生させます。 |
| LambdaFunctionProps? |
lambda.FunctionProps
|
Lambda 関数のデフォルトプロパティを上書きするオプションのユーザー指定のプロパティ。場合は、無視されます。existingLambdaObjが提供される。 |
| ApigateWayProps? |
api.LambdaRestApiProps
|
API Gateway のデフォルトの小道具をオーバーライドするオプションのユーザーが提供した小道具を |
| CogniTouserPoolProps? |
cognito.UserPoolProps
|
Cognito ユーザープールのデフォルトのプロップを上書きするオプションのユーザー提供の小道具 |
| CognitouserPoolClientProps? |
cognito.UserPoolClientProps
|
Cognito ユーザープールクライアントの既定のプロップを上書きするオプションのユーザー提供の小道具 |
| LogGroupProps? |
logs.LogGroupProps
|
CloudWatch Logs ロググループのデフォルトの小道具を上書きする、オプションのユーザー提供の小道具です。 |
パターンプロパティ
| 名前 | タイプ | 説明 |
|---|---|---|
| apigateway |
api.RestApi
|
パターンによって作成された API Gateway REST API のインスタンスを返します。 |
| LambdaFunction |
lambda.Function
|
パターンによって作成された Lambda 関数のインスタンスを返します。 |
| UserPool |
cognito.UserPool
|
パターンによって作成された Cognito ユーザープールのインスタンスを返します。 |
| ユーザーPoolClient |
cognito.UserPoolClient
|
パターンによって作成された Cognito ユーザープールクライアントのインスタンスを返します。 |
| APIGatewayクラウドウォッチロール |
iam.Role
|
API Gateway REST API から CloudWatch へのアクセスロギングを有効にするパターンによって作成された IAM ロールのインスタンスを返します。 |
| APIGateWayLogGroup |
logs.LogGroup
|
API Gateway REST API アクセスログが送信されるパターンによって作成されたロググループのインスタンスを返します。 |
| APIGatewayAuthorizer |
api.CfnAuthorizer
|
パターンによって作成された API Gateway 認証のインスタンスを返します。 |
デフォルト設定
オーバーライドなしでこのパターンをすぐに実装すると、次のデフォルトが設定されます。
Amazon Cognito
-
UserPools のパスワードポリシーを設定する
-
ユーザープールに高度なセキュリティモードを適用する
Amazon API Gateway
-
エッジ最適化 API エンドポイントのデプロイ
-
API Gateway での CloudWatch によるロギングを有効にする
-
API Gateway の最小権限アクセス IAM ロールを設定する
-
すべての API メソッドのデフォルトの authorizationType を IAM に設定する
-
X-Ray トレースを有効にする
AWS Lambda 関数
-
Lambda 関数の制限付き特権アクセス IAM ロールを設定する
-
NodeJS Lambda 関数のキープアライブを使用して接続を再利用できるようにする
-
X-Ray トレースを有効にする
-
環境変数の設定:
-
AWS_NODEJS_CONNECTION_REUSE_ENABLED(ノード10.x以上の機能の場合)
-
Architecture
GitHub
| このパターンのコードを表示するには、問題を作成/表示し、プル要求などを行います。 | |
|---|---|
|
@aws-solutions-constructions/aws-cognito-apigateway-lambda |