🚪 API Gateway 認証・認可方式

図解で理解する4つの認証システム

🔄 API Gateway の基本的な流れ

👨‍💻 クライアント

APIを呼び出す

➡️
🚪 API Gateway

認証・認可チェック

➡️
⚙️ バックエンド

実際の処理

➡️
📤 レスポンス

結果を返す

☕ カフェで理解する認証システム

🏢

IAM認可

企業カフェ

社員証をピッ!
システムが自動でチェック

💳

JWT

会員制カフェ

会員証を見せて
スタッフが確認

🤫

APIキー

秘密カフェ

「合言葉は?」
「コーヒー豆123」

🤖

Lambda オーソライザー

AI受付カフェ

AIが総合判断
「VIP席へどうぞ」

🎫

IAM認可

社員証システム

🔄 認証フロー
1
リクエスト送信
AWS認証情報付きで送信
⬇️
2
署名検証
AWS IAMで署名をチェック
⬇️
3
権限確認
ポリシーで権限をチェック
⬇️
4
アクセス許可
バックエンドに転送
🔒 セキュリティレベル 95%
実装
管理
コスト
🆔

JWT

会員証システム

🔄 認証フロー
1
JWTトークン送信
Headerに Bearer token
⬇️
2
トークン検証
JWT認可で署名確認
⬇️
3
クレーム取得
ユーザー情報と権限確認
⬇️
4
アクセス許可
バックエンドに転送
🔒 セキュリティレベル 85%
実装
管理
コスト
🗝️

APIキー

合言葉システム

🔄 認証フロー
1
APIキー送信
x-api-key ヘッダーで送信
⬇️
2
キー照合
登録済みキーと照合
⬇️
3
使用量チェック
レート制限を確認
⬇️
4
アクセス許可
バックエンドに転送
🔒 セキュリティレベル 40%
実装
管理
コスト
🤖

Lambda オーソライザー

AIカスタム受付

🔄 認証フロー
1
トークン送信
任意の認証情報で送信
⬇️
2
Lambda実行
カスタム認証ロジック実行
⬇️
3
外部システム連携
DB、LDAP等と連携可能
⬇️
4
ポリシー返却
許可/拒否をレスポンス
🔒 セキュリティレベル 90%
実装
管理
コスト

🎯 どの方式を選ぶ?決定フローチャート

🤔 あなたのシステムはどのタイプ?
🏢 企業内システム
AWS内で完結
セキュリティ最重視
📱 アプリケーション
ユーザー登録・ログイン
標準的な認証
🔧 開発・テスト
シンプルで高速
プロトタイプ段階
⚙️ 特殊要件
複雑な認証ロジック
外部システム連携

🔐 AWS Signature Version 4 (SigV4) 対応状況

🤔 AWS Signature Version 4とは?

AWSが開発した署名付きリクエスト方式。リクエスト内容から暗号学的署名を計算し、改ざんを防ぐ最高レベルのセキュリティ仕組みです。

IAM認可

完全対応

AWS SDKが自動処理

JWT

非対応

独自のトークン方式

APIキー

非対応

シンプルなキー方式

⚠️

Lambda オーソライザー

条件付き対応

カスタム実装が必要

🔧 SigV4署名の計算フロー

📝
1. Canonical Request

HTTPメソッド、URI、ヘッダーを正規化

➡️
📄
2. String to Sign

アルゴリズム、日時、スコープ追加

➡️
🔑
3. Signing Key

Secret Access Keyから導出

➡️
🔐
4. 署名計算

HMAC-SHA256で署名

💡 重要ポイント

  • SigV4が必要な場合は「IAM認可」一択
  • AWS SDKが署名を自動計算してくれる
  • リクエストの改ざん検知が可能
  • 最高レベルのセキュリティを提供

📊 一目でわかる比較チャート

🔒 セキュリティレベル

IAM
Lambda
JWT
API

⚡ 実装の簡単さ

API
IAM
JWT
Lambda

🔐 SigV4対応

IAM
Lambda
JWT
API

Created by SSuzuki1063

AWS SAP Learning Resources