API セキュリティの優先順位付け - Amazon API Gateway と AWS Lambda を使用した AWS サーバーレスマルチティアアーキテクチャ

このホワイトペーパーは過去の参考用です。一部のコンテンツは古く、一部のリンクは使用できない場合があります。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

API セキュリティの優先順位付け

すべてのアプリケーションは、承認されたクライアントのみが API リソースにアクセスできることを確認する必要があります。多層アプリケーションを設計する場合、Amazon API Gateway がロジック階層の保護に寄与するいくつかのさまざまな方法を活用できます。

トランジットセキュリティ

APIs へのすべてのリクエストは、転送中の暗号化を有効にするために HTTPS を介して行うことができます。

API Gateway は組み込みの SSL/TLS 証明書を提供します。パブリック API にカスタムドメイン名オプションを使用する場合は APIs 、AWS Certificate Manager を使用して独自の SSL/TLS 証明書を提供できます。API Gateway は、相互 TLS (mTLS) 認証もサポートしています。相互 TLS は API のセキュリティを強化し、クライアントスプーフィングや中間man-in-the攻撃などの攻撃からデータを保護するのに役立ちます。

API 認可

API の一部として作成する各リソースとメソッドの組み合わせには、 AWS Identity and Access Management (IAM) ポリシーで参照できる一意の Amazon リソースネーム (ARN) が付与されます。

API Gateway で API に認可を追加する一般的な方法は 3 つあります。

  • IAM ロールとポリシー: クライアントは API アクセスに AWS 署名バージョン 4 (SigV4) 認可と IAM ポリシーを使用します。同じ認証情報を使用すると、必要に応じて他の AWS のサービスやリソース (Amazon S3 バケットや Amazon DynamoDB テーブルなど) へのアクセスを制限または許可できます。

  • Amazon Cognito ユーザープール: クライアントは Amazon Cognito ユーザープールを介してサインインし、リクエストの承認ヘッダーに含まれるトークンを取得します。

  • Lambda オーソライザー: ベアラートークン戦略 (OAuth や SAML など) を使用するか、リクエストパラメータを使用してユーザーを識別するカスタム認可スキームを実装する Lambda 関数を定義します。

アクセス制限

API Gateway は、API キーの生成と、これらのキーと設定可能な使用量プランの関連付けをサポートします。CloudWatch を使用して API キーの使用状況をモニタリングできます。

API Gateway は、API の各メソッドのスロットリング、レート制限、バーストレート制限をサポートしています。

プライベート API

API Gateway を使用すると、インターフェイス VPC エンドポイントを使用して、Amazon VPC の仮想プライベートクラウドからのみアクセスできるプライベート REST APIs を作成できます。これは、VPC で作成するエンドポイントネットワークインターフェイスです。

リソースポリシーを使用すると、AWS アカウント全体を含む、選択した VPCsおよび VPC エンドポイントから API へのアクセスを有効または拒否できます。各エンドポイントを使用して複数のプライベート API にアクセスできます。AWS Direct Connect を使用して、オンプレミスネットワークから Amazon VPC に接続を確立し、その接続経由でプライベート API にアクセスすることもできます。

いずれの場合も、プライベート API へのトラフィックは安全な接続を使用し、Amazon のネットワーク外に出ることはありません — パブリックインターネットからは隔離されています。

AWS WAF を使用したファイアウォール保護

インターネット向け APIs は悪意のある攻撃に対して脆弱です。 AWS WAF は、このような攻撃から APIs を保護するのに役立つウェブアプリケーションファイアウォールです。SQL インジェクションやクロスサイトスクリプティング攻撃などの一般的なウェブエクスプロイトから APIs を保護します。API Gateway AWS WAFで を使用すると、APIsの保護に役立ちます。