API Gatewayの認可方式を使い分ける IAM・Cognito・Lambdaオーソライザー・JWT
SCSでは、APIの保護を認証と認可の観点で設計する問題が出ます。API Gatewayには複数の認可方式があり、呼び出し元の種類で選びます。
覚え方:3つの観点
- 呼び出し元:AWS内のサービスか、エンドユーザーか
- IdP:Cognitoか、外部のIdPか
- 制御の細かさ:独自ロジックが必要か
方式ごとの使いどころ
| 方式 | 特徴 | どんな要件のとき選ぶか |
|---|---|---|
| IAM認可 | SigV4署名でIAMポリシー評価 | 他のAWSサービスや社内のワークロードから呼び出す |
| Cognitoユーザープール | トークンを検証(REST API) | アプリ利用者の認証をCognitoで行う |
| JWTオーソライザー | HTTP APIでOIDC準拠のJWTを検証 | 外部のIdPで発行したトークンを使う |
| Lambdaオーソライザー | 独自ロジックで認可し、IAMポリシーを返す | 独自トークンやヘッダー値の検証が必要 |
| リソースポリシー | IPレンジやVPCで制限 | 特定のネットワークからだけ許可 |
試験ポイント APIキーと使用量プランは、クォータやスロットリングが目的であり、認可の仕組みではありません。
運用のポイント
Lambdaオーソライザーの結果はキャッシュでき(既定の有効期間は300秒)、認可の呼び出し回数を減らせます。ただしキャッシュ中は権限の変更が反映されないため、有効期間はセキュリティ要件と相談して決めます。加えてAWS WAFを関連付ければ、不正なリクエストを入口で遮断できます。
よくある誤り 公開APIをIAM認可にすると、一般ユーザーにSigV4署名を強いることになり現実的ではありません。
チェックリスト
- IAM認可、Cognito、JWT、Lambdaオーソライザーの使い分けを言える
- APIキーが認可に使えない理由を説明できる
- オーソライザーのキャッシュの影響を理解した
- WAFとリソースポリシーの役割を区別できる
まとめ
呼び出し元とIdPの2点から認可方式を絞り込みましょう。 理解度はクイズで確認し、最新の出題範囲はAWS認定 公式ページで確認しましょう。
SCS(セキュリティ) におすすめの教材
書籍
要点整理から攻略する AWS認定 セキュリティ−専門知識 改訂2版
問題集
AWS認定 セキュリティ−専門知識 SCS-C02 練習問題集
Udemy・講座
AWS認定SCS(SCS-C03)対策トレーニングコース
Udemy・模試
AWS認定SCS 本番模試(4回分/260問)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。