Posted at

cognitoの2種類のフェデレーションについてメモ

More than 1 year has passed since last update.

AWSのCognitoには名前にフェデレーションとつくリソースが二つある

公式ドキュメントで明示的に違うものだと注記がつく(程度には紛らわしい)


注記

サードパーティー (フェデレーション) 経由のサインインは、Amazon Cognito のユーザープールで使用できます。この機能は、Amazon Cognito ID プール (フェデレーティッドアイデンティティ) 経由のフェデレーションとは別のものです。



Cognito フェデレーテッドアイデンティティ

Cognito IDプールのこと


外部のIDプロバイダーで認証し、AWSでの一時的なID(STS)を作成できる。このIDを利用して、Cognito Sync とデータを同期したり、他のAWSサービスにアクセスできる。



  • Cognitoの古いほうの機能

  • 例えば、Facebookなどでログインさせて一時的にAWSの権限を付与することが出来る

  • AWSサービスの認可に使えるが、認証は出来ないのでどこの誰だかはわからない

  • APIGateway,Dynamodb,S3へのアクセスを制御、とかはこれだけで出来る

  • ID*プール*とプールという言葉がついているが永続的なID管理をしてくれるわけではない


Cognito UserPool のフェデレーション

Cognito Userプールの一機能


ユーザーディレクトリを作成、管理し、モバイルアプリやウェブアプリケーションにサインアップとサインインを追加できる。



  • Cognito UserPoolはCognitoの新しいほうの機能 (とても便利になったと評判)


    • UserプールはアプリのUserテーブル的なところawsがやってくれるサービス

    • 認証/パスワード再発行/MFAなどの機能が利用できる



  • このUserテーブルに、Facebookでログインしたユーザを登録できるのがUserPoolのフェデレーション


連携

紛らわしい概念同士を連携させることが出来る

CognitoIDプールのIDプロバイダ(Facebook, Google)の一つとして

CognitoUserプールを使うことが出来る


参考