#背景
センサーデータを収集した産業用PCからセキュアにAWSリソース(DynamoDB など)へ接続する要望があり、そこでCogniteを使うことになったため、事前にCogniteとは何か。どんなふうに使うのかを事前に学習しようと思います。
#Cogniteの概要
AWSのドキュメントをまずは確認。
Amazon Cognito は、ウェブアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートしています。ユーザーは、ユーザー名とパスワードを使用して直接サインインするか、Facebook、Amazon、Google などのサードパーティーを通じてサインインできます。
Amazon Cognito の主な 2 つのコンポーネントは、ユーザープールと ID プールです。ユーザープールは、アプリユーザーのサインアップとサインインオプションを提供するユーザーディレクトリです。ID プールは、AWS の他のサービスに対するアクセスをユーザーに許可します。ID プールとユーザープールは別々に使用することも、一緒に使用することもできます。
参照:https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/what-is-amazon-cognito.html
難しく書いてありますが、「ユーザープール」と「IDプール」この2つ理解すればCogniteは分かりそう。
#ユーザープールとIDプール
###ユーザープールとは
ユーザープールを使用すると、アプリユーザーはユーザープールからのサインインや、サードパーティーのアイデンティティプロバイダー (IdP) を介した連携ができる。
■ユースケース
・アプリのサインアップとサインインのウェブページを設計する。
・ユーザーデータにアクセスし、管理する。
・ユーザーのデバイス、場所、IP アドレスを追跡し、さまざまなリスクレベルのサインイン要求に適応する。
・アプリのカスタム認証フローを使用する。
###IDプールとは
ID プールでは認可 (アクセス制御) ができます。ID プールを使用すると、ユーザーは自分の ID を作成したり、他の AWS サービスにアクセスしたりできる。
■ユースケース
・Amazon Simple Storage Service (Amazon S3) バケットや Amazon DynamoDB テーブルなどの AWS リソースへのアクセスをユーザーに許可する。
・未認証ユーザー用の AWS 認証情報を一時的に生成する。
「ユーザープールの管理」をクリックし、「ユーザープールを作成」ボタンをクリック。
プール名は「test_user_pool」とします。