LoginSignup
1
1

More than 3 years have passed since last update.

Cognitoのプールごとの役割を5分で確認する

Last updated at Posted at 2019-04-13

ユーザプール

  • ユーザ情報の保持とそのユーザの認証まで。
  • 各種トークン(ID、アクセス、更新)の払い出し。
  • API Gateway側はオーソライザーを設定することで、ユーザプールでの認証が通っているかどうかによるアクセス許可・拒否が可能。
  • AWSリソースを操作したい場合、IDトークンから一時クレデンシャルを発行してもらう必要あり。
    ※IDプールにIDトークンを渡すことで、"認証されたユーザ" として扱われる

ID プール (フェデレーティッドアイデンティティ)

  • ユーザに対してCognitoID(GetIdで取得しレスポンスのIdentityID=CognitoID)を払い出す
    • プロバイダ毎に認証済みの場合、GetIdLoginsにプロバイダと識別情報を指定すれことが可能
      ※プロバイダ=Loginsの中のkey部分、識別情報=Loginsの中のvalue部分(大体、IDトークン)
      ※この時、ユーザプールはあくまでプロバイダの1つである(対象プロバイダは ここLogins参照)
      ※対象プロバイダは独自認証を対象にすることが可能なので実質何でもあり
  • AWSリソースへの権限(ロール)を付与する。※一時クレデンシャルが貰える
  • ロールは、認証されたユーザ、認証されていないユーザで別々に付与できる。
  • 認証プロバイダとして、ユーザプールを指定することが可能。※ユーザプール以外も指定可能
  • ユーザプールと密接な関係があるように見えてそういうわけではなく、IDプールからするとユーザプールもIDプールにIDを貰いに来たプロバイダーの1つに過ぎない
  • 独自認証に対して、Coginito発のIDトークンを発行できる(GetOpenIdTokenForDeveloperIdentity
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1