Q30 — AWS SAA-C03 第12章
第 30/100 問 | ← 第12章
Q830. ある分析会社は、マルチティアーサービスを実行するために Amazon VPC を使用しています。この会社は、RESTful API を活用して、何百万ものユーザーにウェブ分析サービスを提供したいと考えています。ユーザーは、認証サービスを用いて検証されたうえで、API へのアクセスを許可する必要があります。 これらの要件を、最も運用効率よく満たすソリューションはどれですか?
- A. ユーザー認証のために Amazon Cognito ユーザープールを設定します。Cognito オーソライザーを備えた Amazon API Gateway の REST API を実装します。 ✓
- B. ユーザー認証のために Amazon Cognito ID プールを設定します。Cognito オーソライザーを備えた Amazon API Gateway の HTTP API を実装します。
- C. ユーザー認証を処理する AWS Lambda 関数を設定します。Lambda オーソライザーを備えた Amazon API Gateway の REST API を実装します。
- D. ユーザー認証を処理する IAM ユーザーを設定します。IAM オーソライザーを備えた Amazon API Gateway の HTTP API を実装します。
正解: A. ユーザー認証のために Amazon Cognito ユーザープールを設定します。Cognito オーソライザーを備えた Amazon API Gateway の REST API を実装します。
解説
A または B。RESTful API とユーザー認証を備えたウェブ分析サービスを提供するには、以下の手順が考えられます。 ステップ 1:ユーザー認証のための Amazon Cognito ユーザープールの設定(選択肢 A) Amazon Cognito は、ユーザー認証および承認サービスを提供します。ユーザープールを設定することで、ユーザーIDの管理、サインアップ・サインイン処理、および認証用トークンの発行が可能になります。 ステップ 2:Cognito オーソライザーを備えた Amazon API Gateway の REST API の実装(選択肢 A) Amazon API Gateway は、フルマネージド型の API 作成・デプロイ・管理サービスです。Cognito オーソライザーを用いた REST API を実装すれば、ウェブ分析サービスに対するユーザー認証および承認を強制できます。この Cognito オーソライザーは、ステップ 1 で作成したユーザープールと統合され、ユーザーによる API アクセスを検証します。 選択肢 B では、ユーザー認証のための Amazon Cognito ID プールの設定と、Cognito オーソライザーを備えた Amazon API Gateway の HTTP API の実装が提案されています。しかし、ID プールは通常、フェデレーテッドID管理や一時的な AWS 資格情報の付与に使用されるものであり、API アクセスのためのユーザー認証には不適切です。したがって、このシナリオにおいては、選択肢 B は最も運用効率のよいソリューションではありません。 選択肢 C では、カスタム認証ロジックを実装する AWS Lambda 関数と、Lambda オーソライザーを備えた Amazon API Gateway の REST API の利用が提案されています。Lambda 関数は確かに柔軟な認証処理を可能にしますが、追加の複雑さを伴い、本シナリオでは最も運用効率のよい選択とは言えません。 選択肢 D では、IAM ユーザーを用いたユーザー認証と、IAM オーソライザーを備えた Amazon API Gateway の HTTP API の利用が提案されています。しかし、IAM ユーザーは通常、AWS アカウントの管理およびアクセス制御に使用されるものであり、一般ユーザーの API アクセス認証には不向きです。また、IAM をユーザー認証に用いることは、実装が複雑になり、本シナリオには適合しません。 以上より、選択肢 A が最も適切なソリューションです。これは、Amazon Cognito ユーザープールによるユーザー認証と、Cognito オーソライザーを備えた Amazon API Gateway の REST API を組み合わせることで、RESTful API とユーザー検証を備えたウェブ分析サービスを、シンプルかつ運用効率よく提供できるからです。