Amazon Web Services ブログ

新しい Amazon Cognito の機能でアプリケーションの認証ワークフローに磨きをかけよう

本ブログは 2024 年 11 月 22 日に公開された Blog ”Improve your app authentication workflow with new Amazon Cognito features” を翻訳したものです。

Amazon Cognito は、10 年前に導入されたサービスで、Web およびモバイルアプリケーションにおける Customer Identity and Access Management(CIAM) の実装を支援します。Amazon Cognito は、お客様がアプリケーションにサインイン/サインアップ機能を素早く追加したり、認可のメカニズムで Machine-to-Machine 認証をセキュアに実現したり、 AWS リソースへのロールベースのアクセスを実現したりと、さまざまなユースケースで利用できます。

本日は、Amazon Cognito に対する一連の重要な更新をご紹介できることを喜ばしく思います。これらの機能強化により、より一層アプリケーションの柔軟性が高まり、セキュリティが向上し、ユーザーエクスペリエンスが改善されることを目指しています。

簡単にまとめると次のようになります:

新しくなった開発者向けのコンソール体験

Amazon Cognito は、クイックウィザードとユースケース別の推奨事項を備える簡潔化された開始体験を提供するようになりました。この新しいアプローチにより、設定を行い、エンドユーザーに到達するまでの時間が、これまでよりも速く効率的になります。

アプリケーションをすばやく設定するための新しい Amazon Cognito フローは、3 ステップで開始できます:

  1. 構築する必要のあるアプリケーションタイプを選択してください
  2. アプリケーションタイプに応じて、サインインオプションを構成してください
  3. 手順に従って、サインインとサインアップページをアプリケーションと統合してください

次に、作成 を選択します。

Amazon Cognito はアプリケーションと新しいユーザープール (認証と認可のためのユーザーディレクトリ) を自動的に作成します。ここから、ログインページを表示を選択してサインインページを確認するか、アプリケーションのサンプルコードを使って始めることができます。さらに、Amazon Cognito は主要なアプリケーションフレームワークをサポートしており、標準の OpenID Connect (OIDC) と OAuth のオープンソースライブラリを使ってそれらを統合する詳細な手順を提供しています。

これがアプリケーションの新しい概要ダッシュボードです。ユーザープールダッシュボードでは、詳細 セクションに重要な情報が表示されるようになり、開発を進めるための一連の レコメンデーション / Recommendation も提供されるようになりました。

このページでは、Managed Login 機能を使って、ユーザーのサインインとサインアップ体験をカスタマイズできます。これは次の新機能の概要を簡単に説明するのに適した導入になります。

Managed Login の導入

Managed Login の導入により、Amazon Cognito にカスタマイズの新しいレベルが加わりました。Managed Login は、企業のための可用性、スケーリング、セキュリティの負担を肩代わりします。一度統合すれば、新しいセキュリティパッチや将来の機能強化を、さらなるコード変更なしで自動的に取り入れることができます。

この機能を使えば、エンドユーザー向けに、企業のアプリケーションとシームレスに統合された、パーソナライズされたサインアップおよびサインイン体験を作成できます。

Managed Login を使用する前に、ドメインを割り当てる必要があります。これには 2 つの方法があります。Amazon Cognito ドメインのランダムに生成されたサブドメインであるプレフィックスドメインを使用するか、ユーザーに馴染みのあるドメイン名を提供するために独自のカスタムドメインを使用します。

次に、Managed login / マネージドログイン または Hosted UI (classic) / ホストされた UI (クラシック) のいずれかを選択して、Branding version / ブランディングバージョン を選択できます。

既存の Amazon Cognito ユーザーの方は、従来のホストされた UI (Hosted UI) 機能をご存知かもしれません。Managed Login は Hosted UI の改良版で、ユーザープールでのサインアップ、サインイン、さまざまな画面サイズに対応したレスポンシブデザイン、多要素認証、パスワードリセットの機能を備えた新しいウェブインターフェイスのコレクションを提供します。

Managed Login では、新しいブランディングデザイナー (Managed Login アセットとスタイルのノーコードビジュアルエディター) に加え、API 操作のセットを利用したプログラマブルな構成や、AWS CloudFormation による Infrastructure-as-code を介したデプロイを行うことができます。

ブランディングデザイナーを使えば、サインアップ、サインイン、パスワードリカバリー、多要素認証など、ユーザーの全体的な体験のルックアンドフィールをカスタマイズできます。この機能では、リアルタイムでプレビューを確認でき、さまざまな画面サイズやディスプレイモードでプレビューする便利なショートカットが用意されているので、本番環境に反映する前に確認できます。

Managed Login の詳細は、Managed Login ドキュメントページをご覧ください。

パスワードレスログインのサポート

Managed Login 機能には、パスキー、メール OTP (ワンタイムパスワード)、SMS OTP を使ったサインインなど、パスワードレスの認証方式のための事前構築済みの統合機能も用意されています。パスキーのサポートにより、ユーザーはデバイスにセキュアに保存された暗号化キーを使って認証できるため、従来のパスワードよりも高いセキュリティが実現します。この機能により、WebAuthn 関連のプロトコルを理解・実装する必要なく、シームレスでセキュアな認証方式を導入できます。

従来のパスワードベースのサインインに関連する摩擦を減らすことで、この機能はユーザーのアプリケーションアクセスを簡素化しながら、高いセキュリティ基準を維持します。

パスワードレスログインのサポートの詳細は、ユーザープールの認証フローのドキュメントページをご覧ください。

価格体系の選択肢が充実: Lite、Essentials、Plus

Amazon Cognito では、ユーザープールの新しい機能プランとして Lite、Essentials、Plus が導入されました。これらのプランは、お客様のさまざまなニーズとユースケースに対応するよう設計されています。Essentials が、お客様が新しくユーザープールを作成する際のデフォルトのプランとなります。この新しい体系により、アプリケーションの要件に最適なオプションを選択でき、必要に応じてプランを切り替えることができるようになりました。

現在のプランを確認するには、アプリケーションダッシュボードから 機能プラン を選択するか、ナビゲーションメニューから 設定 を選択してください。

このページでは、各プランの詳細情報を確認でき、プランのダウングレードまたはアップグレードを選択できます。

各層の概要は次のとおりです:

  1. Lite プラン: ユーザー登録、パスワードベースの認証、ソーシャルアイデンティティプロバイダーの統合などの既存の機能がこのプランにパッケージ化されています。既存の Amazon Cognito ユーザーの方は、ユーザープールに変更を加えることなく、これらの機能を引き続き利用できます。
  2. Essentials プラン: 包括的な認証とアクセス制御機能を提供し、数分でアプリケーションに安全でスケーラブルなカスタマイズ可能なサインアップとサインイン体験を実装できます。Lite の全機能に加え、Managed Login とパスキー、メール、SMS を使ったパスワードレスログインのサポート、アクセストークンのカスタマイズ、パスワードの再利用禁止などの機能が含まれます。
  3. Plus プラン: Essentials プランに基づき、高度なセキュリティニーズに対応します。Essentials の全機能に加え、不審なログイン活動に対する脅威保護、侵害された資格情報の検出、リスクベースのアダプティブ認証、脅威分析のためのユーザー認証イベントログの出力などの機能が含まれます。

Lite、Essentials、Plus の各プランの価格は、月間アクティブユーザー数に基づいています。現在 Amazon Cognito の高度なセキュリティ機能(ASF: Advanced Security Feature)を利用しているお客様は、Plus プランをご検討ください。Plus プランには、すべての高度なセキュリティ機能、パスワードレス認証などの追加機能が含まれており、単独の高度なセキュリティ機能を利用する場合と比べて最大 60% のコスト削減が可能です。

これらの新しい価格体系について学びたい場合は、Amazon Cognito 料金ページを参照してください。

知っておくべきこと

  • 利用可能なリージョン – Essentials および Plus プランは、Amazon Cognito が利用可能なすべての AWS リージョンで利用できます (AWS GovCloud (US) リージョンを除く)。
  • Lite および Essentials プランの無料利用枠 – Lite および Essentials プランのお客様は、自動的に期限が切れることのない毎月の無料利用枠を利用できます。これは、既存および新規の AWS のお客様に対して無期限で利用可能です。無料利用枠の詳細については、Amazon Cognito 料金ページをご覧ください。
  • 既存のお客様向けの拡張価格特典 – お客様は、高度なセキュリティ機能 (ASF) を備えていない既存アカウントのユーザープールを Essentials にアップグレードし、2025 年 11 月 30 日まで今までの Cognito ユーザープールと同じ価格で利用できます。対象となるには、2024 年 11 月 22 日午前 10 時 (太平洋標準時) までの過去 12 か月間に、少なくとも 1 人の月間アクティブユーザー (MAU) がアカウントに存在する必要があります。これらのお客様は、2025 年 11 月 30 日までの間、それらのアカウントで Essentials レベルの新しいユーザープールを Cognito ユーザープールと同じ価格で作成することもできます。

これらの更新により、Amazon Cognito を使用して、アプリケーション向けのセキュリティ、スケーラビリティ、カスタマイズ性に優れた認証ソリューションを実装できます。

Happy building,
Donnie

Donnie Prakoso

Donnie Prakoso

Donnie Prakoso は、AWS のソフトウェアエンジニア、自称バリスタ、プリンシパルデベロッパーアドボケイトです。電気通信、銀行からスタートアップまで、テクノロジー業界で 17 年以上の経験があります。彼は現在、開発者がさまざまなテクノロジーを理解し、アイデアを実行に移すのを支援することに注力しています。彼はコーヒーが大好きで、マイクロサービスから AI/ML まで、あらゆるトピックについてのディスカッションが大好きです。

本ブログは Sr. Security Solutions Architect の勝原 達也が翻訳しました。