Amazon API Gateway のセキュリティのベストプラクティス
API Gateway には、独自のセキュリティポリシーを作成および実装する際に役立ついくつかのセキュリティ機能が用意されています。以下のベストプラクティスは一般的なガイドラインであり、完全なセキュリティソリューションに相当するものではありません。これらのベストプラクティスはお客様の環境に適切ではないか、十分ではない場合があるため、これらは処方箋ではなく、有用な考慮事項と見なしてください。
- 最小特権アクセスの実装
-
IAM ポリシーを使用して、API Gateway の API の作成、読み取り、更新、削除について最小権限のアクセスを実装します。詳細については、「Amazon API Gateway の Identity and Access Management」を参照してください。API Gateway には、作成した API へのアクセスをコントロールするためのオプションがいくつか用意されています。詳細については、「API Gateway で REST API へのアクセスを制御および管理するAPI Gateway で WebSocket API へのアクセスを制御および管理する」と「」を参照してください。API Gateway の JWT オーソライザーを使用して HTTP API へのアクセスを制御する
- ログ記録の実装
-
CloudWatch Logs または Amazon Data Firehose を使用して、API へのリクエストをログに記録します。詳細については、「API Gateway で REST API をモニタリングするAPI Gateway で WebSocket API のログ記録を設定する」と「」を参照してください。API Gateway で HTTP API のログ記録を設定する
- Amazon CloudWatch のアラームの実装
-
Amazon CloudWatch アラームを使用して、指定した期間にわたって 1 つのメトリクスを確認します。メトリクスが特定のしきい値を超えると、Amazon Simple Notification Service のトピックまたは AWS Auto Scaling ポリシーに通知が送信されます。メトリクスが特定の状態にある場合、CloudWatch アラームはアクションを呼び出しません。その代わり、状態が変更され、指定期間にわたって維持される必要があります。詳細については、「Amazon CloudWatch のメトリクスを使用して REST API の実行をモニタリングする」を参照してください。
- の有効化AWS CloudTrail
-
CloudTrail は、API Gateway のユーザー、ロール、または AWS のサービスによって実行されたアクションの記録を提供します。CloudTrail で収集された情報を使用して、API Gateway に対するリクエスト、リクエスト元の IP アドレス、リクエストの実行者、リクエスト日時などの詳細を確認できます。詳細については、「AWS CloudTrail を使用した Amazon API Gateway API コールのログ記録」を参照してください。
- の有効化AWS Config
-
AWS Config は、アカウントにある AWS リソースの設定詳細ビューを提供します。リソース間の関係、設定変更の履歴、関係と設定の時間的な変化を確認できます。AWS Config を使用して、データコンプライアンスのためにリソース設定を評価するルールを定義できます。AWS Config ルールは、API Gateway リソースの理想的な設定を表します。リソースがルールに違反しており、非準拠としてフラグが付けられると、AWS Config は Amazon Simple Notification Service (Amazon SNS) トピックを使用してアラートを送信できます。詳細については、「AWS Config による API Gateway API 設定のモニタリング」を参照してください。
- AWS Security Hub を使用します。
-
AWS Security Hub を使用して、セキュリティのベストプラクティスに関連する API Gateway の使用状況をモニタリングします。Security Hub は、セキュリティコントロールを使用してリソース設定とセキュリティ標準を評価し、お客様がさまざまなコンプライアンスフレームワークに準拠できるようサポートします。Security Hub を使用して API Gateway リソースを評価する方法の詳細については、「AWS Security Hub ユーザーガイド」の「Amazon API Gateway コントロール」を参照してください。