🔖

2024気になったCognitoアップデート機能をしらべてみた

2024/12/20に公開

はじめに

こんにちは。D2Cエンジニアの原尻です。

私の所属する社内分析基盤のチームでは、現在認証機能にCognitoを用いています。
直近のCognitoのアップデートでチームで活かせる部分があるのではないかと考え、
気になったアップデート内容を調べてみました。
今回は機能Tierとマネージドログインについて記事にしたいと思います。

この記事では弊チームに適用できそうな部分のみ抜粋して記載しています。
高度なセキュリティ機能(ASF)や詳しい料金や仕様の詳細などは
公式サイトの方でご確認いただければ幸いです。

https://aws.amazon.com/jp/blogs/aws/improve-your-app-authentication-workflow-with-new-amazon-cognito-features/

現在の構成

  • Cognitoのアプリケーションクライアントにチームが提供している複数のアプリが立っている状態です。
  • すべてのアプリケーションは東京リージョンに立っています。
  • cognito認証機能をつけている多くのアプリケーションはEKS上に構築しており、
    OpenID Connect IDプロバイダーを介してフェデレーション認証を行っています。
    (一部のアプリについてはECS上に構築し、Amazon Cognitoに直接認証をおこなっています)
  • 社内用ということでフロントエンドを別途実装することはなく、
    ホストされたUI(クラシック)スタイルを利用しています。

アップデートについて

機能Tier

https://aws.amazon.com/jp/about-aws/whats-new/2024/11/new-feature-tiers-essentials-plus-amazon-cognito/
こちらは、2024/11/22に発表されたものです。
Liteの加え、新たにEssentialsとPlusの機能Tierが追加されました。

詳細はこちらでご確認ください。
https://aws.amazon.com/jp/cognito/pricing/

各Tierについて

(ASF無効の場合は)既存ユーザープールはLiteにあたりますが、
新規作成ユーザープールはデフォルトではEssentialsにあたります。

Lite:

アップデート前に利用可能だったすべてのCognito ユーザープール機能の利用

Essentials:

Liteの機能に加え、以下の機能の利用

  • Managed Login(後述)
  • パスキー、Eメール、SMSを仕様したパスワードレスログイン
  • アクセストークンのカスタマイズ
  • パスワード再利用の禁止

Plus:

Essentialsの機能に加えセキュリティ保護に関する機能の提供

費用について

費用はユーザープール内の月間アクティブユーザー(MAU)に基づいています。
MFA用のSMSメッセージやユーザー検証用のEメールメッセージには別途の料金体系となります。

Amazon CognitoまたはソーシャルIDプロバイダー経由で直接サインインするユーザーの場合

LiteまたはEssentialsにのみ1か月あたり10,000MAUの無料利用枠があります。
10,000MAUを超えた場合は以下のとおりです。

  • Lite:10,001~100,000MAUで0.0055USD
  • Essentials:10,000を超えた場合0.015USD
  • Plus:MAUあたり0.02USD

SAML2.0またはOpenID Connect(OIDC)IDプロバイダーを介してフェデレーションされたユーザー場合

1か月あたり50MAUの無料利用枠が用意されています。
50MAUを超えた場合はいずれのTierでも0.015USDとなっています。

マネージドログイン

https://aws.amazon.com/jp/about-aws/whats-new/2024/11/amazon-cognito-managed-login/
機能Tierと同時にマネージドログインの発表がありました。
今までのクラシックなcognito認証のUIをちょっといい感じにできる機能です。

作成方法

機能TierをEssentials以上に設定していた場合、マネージドログインを選択することでスタイルの作成が可能です。

アプリケーションクライアントごとにスタイルの作成が可能になっています。

複数のアプリケーションクライアントに対して同じスタイルの適用が可能になっていればよいなと思ったのですが、私の手元で確認した限りでは複数選択はできないようでした。

内容

レスポンシブ対応、多言語対応になっており、サインイン/ログイン画面、パスワードリセット画面、MFA画面などがカスタマイズ可能となっています。

コンポーネントごとに色や形を変えることができます。

また、全体的なスタイルの設定(ダークモードの設定など)やフォームの位置の変更、ロゴグラフィックに変更なども行うことができます。

文言の変更はできないようです。

スタイルの適用方法

作成したスタイルを適用するには、ブランディング>ドメインより、Cognitoドメインのブランディングバージョンの編集を行いドメインのブランディングバージョンをマネージドログインにする必要があります。

CloudFormationの場合、UserPoolDomainManagedLoginVersionを2に設定します。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html

ブランディングバージョンをマネージドログインに変更した場合、スタイルを適用していないアプリケーションクライアントでは以下のような画面になり、Cognito認証を用いることができませんでした。

まとめ

今回はCognitoのアップデートについてまとめました。
弊チームではどの機能Tierでも大きな金額的なビハインドはないように感じました。
一方でマネージドログインに関しては、全てのアプリケーションクライアントにスタイルを適用する手間を考えるともう少し待ってみてもいいかもしれません。
この他にもパスキーやセキュリティに関するcognitoのアップデートが発表されていましたので、別の機会に詳しく調べてみたいと思います。

最後までお読みいただきありがとうございました。
この記事が何かの役に立てれば光栄です。

D2C m-tech

Discussion