Cognito

Cognito は、アプリケーションやサービスに安全な認証・認可基盤を提供する認証基盤サービスです。

ユーザー情報を管理する User Pool (ユーザプール)では、ユーザーのサインアップ / サインイン、MFA(Multi-Factor Authentication)による多要素認証、Password Policy に基づくパスワード強度管理、異常なログイン試行を検知する Advanced Security 機能を利用できます。さらに、ユーザーの端末情報を保持して認証リスクを低減する Device Tracking、アカウント復旧を容易にする Account Recovery 機能も備えています。

Cognitoは、IdP(Identity Provider) との Federation(フェデレーション認証) に対応しており、Google や Apple などのソーシャルログイン、または SAML 2.0 による企業認証基盤との連携が可能です。この仕組みを通じて、外部認証を扱うFederated Identityを構成できます。ログイン画面には、AWSが提供する Hosted UI を利用でき、OAuth 2.0 および OIDC (OpenID Connect) に基づく標準プロトコルで認証フローを実装します。認証後には、Access Token、ID Token、Refresh Token の3種類の Token が発行され、ユーザーセッションを安全に管理します。

Identity Pool(アイデンティティプール) を使用することで、認証済みまたは匿名ユーザーに対して一意の Cognito Identity(識別ID) を発行し、AWSリソースへアクセスするための一時的なSTS(Security Token Service)一時クレデンシャル(認証情報)を払い出すことができます。この際、ユーザー属性やIdPごとに異なる権限を割り当てるための IAM Role Mapping を設定でき、柔軟なアクセス制御を実現します。

認証やサインアップの各ステップでは Cognito Trigger を利用して AWS Lambda 関数を呼び出し、カスタムロジックや追加検証処理を組み込むことが可能です。これにより、企業独自のセキュリティ要件や認証フローを容易に拡張できます。

重要用語

Account Recovery
IdP
Federation
Identity Pool
Cognito Identity
IAM Role Mapping
関連サービス

ユースケース

  • リスト1
  • リスト2
  • リスト3

ベストプラクティス

  • リスト1
  • リスト2
  • リスト3

高可用性・冗長化

  • リスト1
  • リスト2
  • リスト3

セキュリティ

  • リスト1
  • リスト2
  • リスト3

運用・監視

  • リスト1
  • リスト2
  • リスト3

デフォルトのリミット値

リミット事項 上限数
項目1上限1
項目2上限2
項目3上限3
項目4上限4
項目5上限5

AWS CLIのサンプルコード

vpc を作成
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc

Terraformのサンプルコード

vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy

課金モデル

項目 内容
項目1内容1
項目2内容2
項目3内容3
項目4内容4
項目5内容5

公式ページ

AWSドキュメント