Question#61(SAP-C02)
ある会社は、AWS を使って本番用の Web アプリケーションを開発・運用しています。アプリケーションは Amazon API Gateway の HTTP API を含み、API は AWS Lambda 関数を呼び出します。Lambda 関数は処理を行い、その後データベースに保存します。
会社は、この Web アプリケーションに対して統合的なユーザー認可を実装したいと考えています。会社はすでにサードパーティの IdP(アイデンティティプロバイダ)を使用しており、同社の他アプリ向けに OAuth トークンを発行しています。 この要件を満たすソリューションはどれですか?正解:A
要件は「既存のサードパーティ IdP が発行する OAuth トークンを用い、Web アプリ→API Gateway→Lambda の流れで統合的に認可したい」というものです。API Gateway(HTTP API)では、クライアントからのリクエストに含まれる Authorization: Bearer <token> を オーソライザーで検証して、トークンに基づきルートへのアクセス可否を決めるのが定石です。
選択肢 A は、IdP から受け取ったアクセストークンを API Gateway のオーソライザーで検証し、API ルートに適用する流れを示しており、要件にそのまま合致します。HTTP API にはJWT オーソライザー(推奨)もありますが、選択肢の中では Lambda オーソライザーによる検証が示されており、実現可能で適切です(JWT オーソライザーが選択肢にないため、A が最適)。- Web アプリは既存 IdP(OAuth/OIDC)からアクセストークンを取得
- Authorization ヘッダーに付与して API Gateway に送信
- Lambda オーソライザーがトークン署名・クレーム(aud, iss, exp, scope 等)を検証
- 許可された場合のみ、統合先の Lambda 関数を実行

コメント