目次
Amazon Cognito の特徴
Amazon Cognito は、ウェブアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートしています。ユーザーは、ユーザー名とパスワードを使用して直接サインインするか、Facebook、Amazon、Google、Apple などのサードパーティーのソーシャル ID プロバイダーや、SAML 2.0 による Microsoft Active Directory などのエンタープライズ ID プロバイダーを通してを通じてサインインできます。
また、モバイルアプリ上での MFA 認証(多要素認証)による保護を可能にします。
用語
- サードパーティー(third party) ← 第三者団体(企業、機関等)
- ソーシャル ID プロバイダー ← 一般的なユーザーのIDを管理する機関。Facebook、Amazon、Google、Apple など
- SAML(Security Assertion Markup Language) ← 通信プロトコル。SSO(Single Sign On)で利用する。
ID プロバイダー(IdP)
ユーザーのIDを保存及び検証するサービス。主な IdP には Microsoft Entra ID (Azure AD)、Okta、Google Workspace、ADFS(Active Directory Federation Service) などがあります。
Cognito が利用できる ID プロバイダー
- Facebook (サードパーティーのソーシャル ID プロバイダー)
- Amazon (サードパーティーのソーシャル ID プロバイダー)
- Google (サードパーティーのソーシャル ID プロバイダー)
- Apple (サードパーティーのソーシャル ID プロバイダー)
- Microsoft Active Directory (SAML 2.0 によるエンタープライズ ID プロバイダー)
IDフェデレーションとは?
Amazon Cognito を調べると「ID フェデレーション」という用語が出てきます。
ID フェデレーションとは Facebook などの認証結果を他のサイトでも利用する機能(認証ソリューション)です。
ID フェデレーションによりシングルサインオンを実現することができます。
Amazon Cognito ユーザープール(user pools)
Amazon Cognito ユーザープールは、ウェブおよびモバイルアプリケーションの認証と認可のためのユーザーディレクトリで、アプリの利用者を管理するための会員名簿 + ログイン機能です。アプリ側から見ると、ユーザープールは OpenID Connect(OIDC)の IdP として動きます。
Cognito ユーザープールの役割
ユーザープールは次の役割を持ちます。
- ユーザー登録
- サインイン
- パスワード管理
- MFA
- 外部 IdP 連携
- ログイン後のトークン発行
外部 IdPとの統合
Amazon Cognito は SAML 2.0 に対応しているので外部の IdP(アイデンティティプロバイダ)と統合できます。
Cognito ユーザープールを Relying Party(信頼されたサービスプロバイダー)として設定することで SAML 認証が可能になります。
Amazon Cognito を利用しない場合
Amazon Cognito を利用しない場合は、Web IdP(Amazon、Facebook、Google等のOIDC互換IdPでログインする)と通信をするアプリを作成して、AssumeRoleWithWebIdentity API を呼び出すことで認証することができます。
コメント