あるスタートアップ企業が、モバイルアプリのユーザー認証機能を構築しています。ユーザーがメールアドレスとパスワードで登録・サインインできることに加え、GoogleやFacebookなどのソーシャルIDプロバイダーを使ってサインインできるようにしたいと考えています。この要件を満たすAWSサービスはどれですか?
Amazon Cognitoは、Webアプリやモバイルアプリにユーザーサインアップ・サインイン・アクセス制御機能を提供するマネージドサービスです。ユーザープール(User Pool)でメールアドレス/パスワードによる認証を管理し、Google・Facebook・AmazonなどのソーシャルプロバイダーやSAML(Security Assertion Markup Language)/OIDC(OpenID Connect)によるフェデレーションにも対応しています。アイデンティティプール(Identity Pool)を組み合わせると、認証済みユーザーに一時的なAWS認証情報を付与してAWSリソースへのアクセス制御も可能です。 選択肢BのAWS IAM Identity CenterはAWS従業員(社内ユーザー)向けのシングルサインオンサービスであり、一般ユーザー向けモバイルアプリの認証機能を提供するものではありません。 選択肢CのAWS Directory ServiceはMicrosoft Active DirectoryをAWSで動かすサービスであり、ソーシャルIDプロバイダーとのフェデレーション機能は持っていません。 選択肢DのAWS Security Token Service(STS)は一時的なAWS認証情報を発行する基盤サービスですが、ユーザー登録・認証UIの機能は持たず、Cognitoのバックエンドとして連携されます。