API Gateway で REST API へのアクセスを制御および管理する
API Gateway は API へのアクセスを制御し管理する複数のメカニズムをサポートしています。
認証と認可に次のメカニズムを使用することができます。
-
リソースポリシーを使用して、特定のソース IP アドレスまたは VPC エンドポイントから、API およびメソッドへのアクセスを許可、または拒否するリソースベースのポリシーを作成できます。詳細については、「API Gateway リソースポリシーを使用して REST API へのアクセスを制御する」を参照してください。
-
標準 AWS IAM ロールとポリシーは、API 全体または個々のメソッドに適用できる柔軟で堅牢なアクセスコントロールを提供します。IAM ロールとポリシーを使用して、API を作成および管理できるユーザーと、API を呼び出すことができるユーザーを制御できます。詳細については、「IAM アクセス許可を使用して REST API へのアクセスを制御する」を参照してください。
-
IAM タグは、アクセスをコントロールするために、IAM ポリシーと共に使用できます。詳細については、「タグを使用して API Gateway REST API リソースへのアクセスをコントロールする」を参照してください。
-
インターフェイス VPC エンドポイント用のエンドポイントポリシー では、 IAM リソースポリシーをインターフェイス VPC エンドポイントにアタッチして、プライベート API のセキュリティを向上させることができます。詳細については、「API Gateway でプライベート API 用の VPC エンドポイントポリシーを使用する」を参照してください。
-
Lambda オーソライザーは、ヘッダー、パス、クエリ文字列、ステージ変数、コンテキスト変数のリクエストパラメータで記述される情報と同様に、べアラートークン認証を使用して REST API メソッドへのアクセスを制御する Lambda 関数です。Lambda 認証は、REST API メソッドを呼び出すことができるユーザーを制御するために使用されます。詳細については、「API Gateway Lambda オーソライザーを使用する」を参照してください。
-
Amazon Cognito ユーザープールを使用して、REST API に関するカスタマイズ可能な認証と認可のソリューションを作成できます。Amazon Cognito ユーザープールは、REST API メソッドを呼び出すことができるユーザーを制御するために使用されます。詳細については、「Amazon Cognito ユーザープールをオーソライザーとして使用して REST API へのアクセスを制御する」を参照してください。
アクセスコントロールに関連する他のタスクを実行するために、以下のメカニズムを使用できます。
-
Cross-Origin Resource Sharing (CORS) を使用して、クロスドメインのリソースリクエストへの REST API の応答を制御できます。詳細については、「API Gateway での REST API の CORS」を参照してください。
-
クライアント側 SSL 証明書を使用して、バックエンドシステムへの HTTP リクエストが API Gateway からのものであることを確認します。詳細については、「API Gateway のバックエンド認証用 SSL 証明書の生成と設定」を参照してください。
-
AWS WAF を使用して、API Gateway API を一般的なウェブの脆弱性から保護することができます。詳細については、「AWS WAF を使用して API Gateway の REST API を保護する」を参照してください。
次のメカニズムを使用して、承認済みクライアントに付与したアクセス許可を追跡して制限できます。
-
使用量プランによって、顧客に API キーを提供でき、各 API キーの API ステージとメソッドの使用状況を追跡および制限できます。詳細については、「API Gateway での REST API の使用量プランと API キー 」を参照してください。