COLUMN
Amazon Cognitoとは?機能や使い方・活用例など基本をわかりやすく解説
Amazon Cognitoとは、モバイルアプリやWebアプリケーションの認証に特化したサービスのことです。GoogleやFacebook、AmazonなどのソーシャルIDを使った認証も提供しているため、実用性の高いサービスをユーザーに提供できます。
一方Amazon Cognitoの機能や活用例がよく分からず、どのようなシーンで使うべきなのか自社にとって必要なものなのか悩まれている方もいるでしょう。
そこで本記事では、Amazon Cognitoの概要やAWS IAMとの違い、機能や使い方について解説します。
Amazon Cognitoと他のAWSサービスと連携した活用例なども解説していますので、ぜひ参考にしてください。
【入門編】「クラウド導入を成功させるためのお役立ちマニュアル」はこちらからダウンロード!
目次:
- 1.Amazon Cognitoとは?
- 1-1.AWS Identity and Access Management(IAM)との違い
- 1-2.AWS SSOとの違い
- 2.Amazon Cognitoの機能
- 2-1.ユーザープール
- 2-2.IDプール(アイデンティティプール)
- 3.Amazon Cognitoの使い方
- 3-1.ユーザープールの作成
- 3-2.IDプールの作成
- 4.Amazon Cognitoの活用例
- 4-1.Amazon SNS Mobile Pushとの連携
- 4-2.Amazon Kinesisとの連携
- 4-3.AWS Lambdaとの連携
- 5.Amazon Cognitoの料金体系
- 6.AWSの導入・運用ならぜひNTT東日本にご相談ください
- Amazon Cognitoについてまとめ
1.Amazon Cognitoとは?
Amazon Cognito(アマゾン コグニート)とは、モバイルアプリやWebアプリケーションの認証や承認、ユーザー管理・データ同期などができるサービスです。
何億人ものユーザーにスケールできるセキュアなユーザー管理機能を容易に構築でき、GoogleやFacebook、AmazonなどのソーシャルIDを使った認証も提供しています。
Amazon Cognitoでは、多要素認証やアドバンスドセキュリティ機能など、情報セキュリティ対策を強化できる機能が多数あります。そのためAmazon Cognitoを活用すれば、アカウントを安全に管理することができるでしょう。
1-1.AWS Identity and Access Management(IAM)との違い
AWS Identity and Access Management(IAM)とAmazon Cognitoは、どちらも認証や認可ができるサービスです。
大きな違いは、Amazon Cognitoはシステムの認証や認可を行うのに対し、AWS Identity and Access Management(IAM)はAWSリソースに対して認証や認可を行う点です。
またAWS Identity and Access Management(IAM)では、IAMロールを付与したユーザーであればすぐにクエリが実行できます。
一方Amazon Cognitoでは、ログインが必要です。ログインによって付与されたトークンを用いて、クエリを実行します。
どちらも認証や認可ができるサービスではあるものの、対象が異なります。利用用途に合わせた、認証・認可方法を活用するとよいでしょう。
1-2.AWS SSOとの違い
AWS SSOは、一度パスワード認証をすれば複数のサービスにログインできるサービスで、主に企業などの組織内で活用されます。
複数のAWSサービスを利用する場合、毎回違うパスワードを入力するのは手間を感じやすく、情報セキュリティ対策としても適切ではありません。そこでAWS SSOを活用すれば、組織内のアカウント管理を簡単にしてくれるため、安心して運用できます。
一方、Amazon Cognitoは、不特定多数のログインを想定されておりサービスを利用する顧客などのユーザーを対象にしています。そのため、FacebookなどソーシャルIDの認証連携ができるのです。
AWS SSOとAmazon Cognitoの内容は対象者が異なります。誰のアカウントを認証したいのかによって選ぶサービスを決めるとよいでしょう。
2.Amazon Cognitoの機能
Amazon Cognitoには、主に2つの機能が備わっています。
- ユーザープール
- IDプール(アイデンティティプール)
順番に解説します。
2-1.ユーザープール
ユーザープールは、独自のディレクトリを持っており、ユーザー名やパスワードが補完できる機能です。ユーザーディレクトリを用いて、アプリユーザーのサインアップとサインインを提供します。
そのほかGoogleやFacebookなどの外部IDプロバイダと連動しログインすることで、ユーザープールにサインインも可能です。サインインするとAmazon Cognitoからトークンが発行されます。トークンをアプリケーションのAPIに送ることで、認証ができる仕組みです。
そのほかユーザープールでは、情報セキュリティ対策としてアカウントの乗っ取りを保護したり、漏えいした認証情報を調べたりもできます。
2-2.IDプール(アイデンティティプール)
IDプールはアイデンティティプールとも呼ばれ、AWSのほかのサービスに対するアクセスを許可する機能です。
ユーザープールと同様に外部IDプロバイダに対応しており、外部IDプロバイダにログインすることで、AWSにアクセスできます。
基本的にIDプールのみを使用することはなく、ユーザープールと併用する場合がほとんどです。
ユーザープールを介してサインインしたユーザーにトークンを与え、IDプールにてトークンを交換することで、Amazon S3やDynamoDBなど他のAWSサービスにアクセスが可能です。
3.Amazon Cognitoの使い方
本章では、Amazon Cognitoの使い方を紹介します。
ユーザープールとIDプールの作成方法を簡単に解説していますので、参考にしてください。
3-1.ユーザープールの作成
Amazon Cognitoコンソールから、「ユーザープールの作成」をクリックします。サインインはEメールや電話番号、ユーザー名などから選択できますが、Eメールを選択し次に進みましょう。
パスワードポリシーはデフォルトとカスタムがありますが、デフォルトで問題ありません。
多要素認証やユーザーアカウントの復旧の設定画面がでてくるので、適宜選択します。続いて「サインアップエクスペリエンスの設定」では、新規ユーザーのID確認方法などの設定をして「次へ」をクリックします。
Eメール送信方法やユーザープール名、アプリケーションクライアント名を入力後「ユーザープールを作成」を選択すれば、ユーザープールが完成します。
3-2.IDプールの作成
Amazon Cognitoコンソールから「新しいIDプールの作成」をクリックします。IDプール名や認証アクセス、認証フローのアクセスなどを選択後、プールの作成を選択しましょう。
続いて、デフォルトのIAMロールを選択し許可をクリックします。
「IDプロバイダを接続」のボタンをクリックし、IDプロバイダの詳細を入力します。入力が終わったら「プロパティの設定」にIDプール名を入力し、タグを追加するか選択しましょう。
確認および作成をクリック後、間違いがないか確認して「IDプールの作成」をクリックすればIDプールが完成します。
4.Amazon Cognitoの活用例
Amazon Cognitoはあくまでもユーザー認証を管理する仕組みです。モバイルアプリとしてのサービスを実現する処理やデータベースの利用などには、他の仕組みを使います。
ここでは、AWSの他のサービスと連携した活用例を3つ解説します。
4-1.Amazon SNS Mobile Pushとの連携
Amazon Cognitoがユーザーからデータを受け取り、他のAWSサービスと連携した処理を構築できます。たとえば、モバイルアプリでよく使われる機能であるプッシュ通知も「Amazon SNS Mobile Push」と連携すれば可能です。
そのほか、同じデータを参照しているほかのユーザーに、データ更新の通知をするなどの仕組みも構築できるでしょう。
4-2.Amazon Kinesisとの連携
Amazon KinesisとAmazon Cognitoを連携すれば、ユーザーがデータを更新したタイミングでAmazon Kinesisにデータを送れます。
Amazon Kinesisとは、データストリームをリアルタイムで容易に収集、処理、分析できるサービスです。Amazon Kinesisで分析した内容を、AWS Lambdaを活用したアプリケーションに応用できるため、最新の分析内容をアプリケーションに活用できます。
4-3.AWS Lambdaとの連携
入力された空白を削除したり、全角に変換したりするなど、ユーザーが入力したデータをその後の処理で扱いやすいように成形するプログラムにも応用できます。
データ内容を成形・修正するような、一定の処理をAWS Lambdaへ送り変更後のデータを保存するといった利用方法もできるでしょう。
5.Amazon Cognitoの料金体系
Amazon Cognitoでは、ID管理やデータの同期に応じて課金されます。他のAWSサービス同様に初期費用や最低料金などはなく、利用した分だけ支払います。
ユーザープールの料金は、月額アクティブユーザー数(MAU)によって異なります。また高度な情報セキュリティ機能を希望する場合は、追加料金が発生するため注意しましょう。
Amazon Cognitoの料金は、下表の通りです。
MAU数 | 通常プラン | 情報セキュリティ対策を強化する場合の追加料金 |
---|---|---|
最初の50,000 | 無料枠 | 0.050USD |
50,001~10万 | 0.0055USD | 0.035USD(次の50,000) |
次の90万 | 0.0046USD | 0.020USD |
次の900万 | 0.00325USD | 0.015USD |
1,000万超 | 0.0025USD | 0.010USD |
※2024年1月現在の料金です。
上表の通り、最初の50,000MAUは無料枠となっているため、料金は発生しません。
詳しい内容は公式ホームページをご確認ください。
6.AWSの導入・運用ならぜひNTT東日本にご相談ください
Amazon Cognitoを活用すれば、GoogleやFacebookなどの外部IDプロバイダと連動しログインができるため、顧客などのユーザーにとって利便性が高くなります。
一方AWSには、Amazon Cognito以外のアカウント管理機能も多数あり、どのサービスを活用するべきなのか分からなかったり、構築・導入方法が理解できなかったりする方もいるでしょう。
そのようなお悩みをお持ちの方は、NTT東日本にご相談ください。
NTT東日本では、Amazon CognitoはもちろんのことほかのAWSサービスの構築や導入・運用・保守までワンストップで支援いたします。自社にベストな環境構築ができず、悩まれている場合は、AWS有資格者である担当者が中立的な立場でアドバイスが可能です。
Amazon Cognitoについてまとめ
Amazon Cognitoとは、モバイルアプリやWebアプリケーションの認証や承認、ユーザー管理・データ同期などができるサービスです。
不特定多数ユーザーにスケールできるユーザー管理機能のため、顧客などのユーザーアカウントを管理するのに役立ちます。GoogleやFacebook・AmazonなどのソーシャルIDを使った認証も提供しているため、モバイルアプリやWebアプリケーションをより便利に使用できるでしょう。
Amazon Cognitoの導入を検討しているものの、どのような構築をしていけば良いのか悩んでいる方は、ぜひNTT東日本にご相談ください。
RECOMMEND
その他のコラム
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。