Amazon Cognito リソース
Amazon Cognito を使用すると、開発者はカスタマー ID およびアクセス管理 (CIAM) 機能を設定でき、ユーザーは組織のカスタマー向けアプリケーション、ウェブポータル、デジタルサービスにサインアップ、サインイン、およびアクセスできるようになります。
ここに用意された技術資料では、アプリケーションで再利用できるサンプルコードを使用しながら、特定のタスクを実行する方法について説明しています。次に挙げた最初の一連のガイドでは、Amazon Cognito ユーザープール、Amazon Cognito アイデンティティプール、AWS AppSync 開発の基本について説明しています。
開始方法
Amazon Cognito ユーザープール
Amazon Cognito ユーザープールを使用すると、ユーザーディレクトリを作成して管理することや、認証、認可、リソースアクセス、リソース制御のためにモバイルおよびウェブアプリケーションにサインアップ (ユーザーオンボーディング) やサインインの機能を追加することが簡単に行えます。
- Amazon Cognito ユーザープールの開始方法
- サンプルアプリケーションのセットアップ: iOS | Android | JavaScript (Angular 2)
Amazon Cognito アイデンティティプール
Amazon Cognito アイデンティティプールを使用すると、固有のアイデンティティを作成し、ユーザーにアクセス許可を割り当てることができます。また、Facebook や Google そして Appleといったソーシャル ID プロバイダーや、SAML もしくは OIDC を使用しておりバックエンドリソースへの制御アクセス権があるコーポレート ID プロバイダーから、ユーザーにサインインすることもできます。
- Amazon Cognito アイデンティティプールの開始方法
- サンプルアプリケーションのセットアップ: iOS | Android
- Cognito アイデンティティプールと Cognito ユーザープールを統合する
AWS AppSync
Amazon Cognito Sync を初めて使用する場合は、AWS AppSync を使用してください。Amazon Cognito Sync と同様に、AWS AppSync はデバイス間でアプリケーションデータを同期するためのサービスです。
アプリの設定やゲームの状態などのユーザーデータを同期できます。また、複数のユーザーが共有データをリアルタイムで同期してコラボレーションできるようにすることで、これらの機能を拡張します。
AWS AppSync を使用すると、1 つ以上のデータソースからのデータに安全にアクセス、操作、結合するための柔軟な API を作成でき、アプリケーション開発がシンプルになります。AppSync は、GraphQL を使用してアプリケーションが必要なデータを正確に取得できるようにするマネージド型サービスです。
- AWS AppSync - プラットフォーム別の開始方法
- Cognito Sync の既存のお客様のために、Amazon Cognito Sync の使用開始に関するリファレンスを以下に示します。
ワークショップ
Amazon Cognito ワークショップ
このワークショップでは、Cognito を深く掘り下げ、サンプルの小売店向けの認証ソリューションを構築します。Amazon Cognito user pools for API Authentication for a Hosted UI、Amazon Cognito user pools SDK with AWS Amplify、Amazon Cognito identity pools SDK を使用した作業を予定しています。
サンプルアプリケーション
ペットショップアプリケーションのサンプル
このサンプル Web アプリケーションは、架空のペットショップ Web アプリケーションに対して、さまざまなユーザータイプの認証とポリシーベースの承認を示しています。このアプリケーションは、認証に Amazon Cognito を使用し、ポリシーベースの認証には Amazon Verified Permissions を使用します。このアプリケーションは、AWS Amplify プラットフォームを使用して、バックエンドリソースのデプロイとプロビジョニングを高速化します。
Amazon Cognito によるパスワードレス認証の実装
パスワードレス認証は、セキュリティを向上させ、摩擦を減らし、お客様向けアプリケーションのエンドユーザーにより良いユーザーエクスペリエンスを提供します。Amazon Cognito には、アプリケーションの認証ファクターを拡張するために使用できるカスタム認証フローを実装する機能が用意されています。
このソリューションでは、パスワードなしの認証をサポートするいくつかのパターンを示し、これらの方法のリファレンス実装を提供します。
- FIDO2: AKA WebAuthn; Face、Touch、YubiKey などでサインインします。
- Magic link サインイン: メールで送信される (ブラウザを問わず使用できる) 1 回限りのシークレットリンクを使用してログインします。
- SMS ベースのステップアップ認証: 既にサインインしているユーザーが、パスワードを入力しなくても SMS ワンタイムパスワード (OTP) を使用して本人確認を再度行えるようにします。
これらの各認証方法のリファレンス実装では、複数の AWS を使用しています。このソリューションには、バックエンド用の CDK コード (TypeScript) と、Web、React、React Native で使用するフロントエンドコード (TypeScript) の両方が含まれているため、開発者は必要な構成要素を理解し、必要に応じてソリューションを拡張および調整できます。
概要の動画
ドキュメント
Amazon Cognito ユーザープール (デベロッパーガイド)
以下の手順に従って、Amazon Cognito コンソールで初めてユーザープールをセットアップして設定します。
サンプルアプリケーションのセットアップ: iOS | Android | JavaScript (Angular 2)
Amazon Cognito アイデンティティプール (デベロッパーガイド)
分散型ソーシャルまたは SAML ベースの ID プロバイダーを使用したアイデンティティの作成やユーザー認証のセットアップのための、Amazon Cognito アイデンティティプールの概要と手順を提供します。
サンプルアプリケーションのセットアップ: iOS | Android
アイデンティティプールとユーザープールを統合する (デベロッパーガイド)
ユーザーとアプリケーションを他の AWS サービスに接続します。
Amazon Cognito Sync を初めて使用する場合は、AWS AppSync を使用してください。 AWS AppSync はデバイス間でアプリケーションデータを同期するためのサービスです。アプリの設定やゲームの状態などのユーザーデータを同期できます。また、複数のユーザーが共有データをリアルタイムで同期してコラボレーションできるようにすることで、これらの機能を拡張します。Cognito Sync の既存のお客様のために、Amazon Cognito Sync の使用開始に関するリファレンスを以下に示します。
Amazon Cognito に関する AWS サポートナレッジセンターの質問
よくある質問への回答や、アカウント回復、OIDC トークン、セキュリティ設定など、Amazon Cognito の機能のトラブルシューティングに役立つ記事をご覧いただけます。
最新情報
デベロッパーツールと SDK
Amazon Cognito ユーザープール:
- API リファレンス
- JavaScript: SDK | サンプルアプリケーション (Angular 2) | チュートリアル
- iOS: SDK | サンプルアプリケーション(Objective C) | チュートリアル
- Android: SDK | サンプルアプリケーション | チュートリアル
- Java: サンプルアプリケーション
- .NET: サンプルアプリケーション
- AWS Amplify: サンプルアプリケーション
Amazon Cognito アイデンティティプール
- Android: SDK | サンプルアプリケーション
Amazon Cognito Sync
- API リファレンス
- iOS: SDK
- Android: SDK