Cognito

Amazon Cognito ユーザープールの設定方法と実務ガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

ユーザープール作成の基本的な手順

ユーザープールを作成する際は、AWS管理コンソールの「Cognito」サービスから操作します。以下にステップバイステップで解説します。

基本設定項目の確認と入力

ユーザー登録や認証フローの基盤となる設定を以下のように構築します。

  1. プール名とデフォルト認証を入力
  2. プール名は「MyUserPool」といった識別可能な名称を設定
  3. 「パスワードポリシー」は初期値でも最低限の強度が確保されているが、セキュリティ要件に応じて後述するセクションでカスタマイズ可能

  4. アプリクライアントの作成タイミング

  5. ユーザープールを作成した後、「アプリクライアント」を別途作成する必要がある点に注意。API Gatewayやアプリケーションとの連携時に必須です。

  6. 初期管理者ユーザーの作成

  7. 「管理ユーザーを追加」からメールとパスワードを入力し、プール管理者として登録します。このユーザーは後で権限管理に活用されます。

メール/電話番号検証の有効化

ユーザー登録時の本物性確認のために以下のオプション設定を行います。

  • 「メールアドレス検証」「携帯電話認証」を有効化することで、ユーザー登録時の一時パスワード発行が可能になります。
  • 例: メール送信先は「[メールアドレス削除]」とし、認証コードを発行する仕組みを構築できます。

セキュリティ初期値の確認と修正

初期設定ではセキュリティ設定が最低限に抑えられているため、実務で必ず見直す必要があります。

項目 初期状態 推奨設定
パスワードポリシー 無効化 最小文字数8桁以上、大文字・小文字・記号必須
MFAの有効化 オプション 必須(企業環境の場合)
メール検証 未設定 有効化(ユーザー本物性確認)

注意: 初期状態ではパスワードポリシーの強制が無効になっているため、実務では必ず「最小文字数」「大文字小文字必須」など、企業のセキュリティ基準に合わせて設定してください。


ユーザー属性のカスタマイズと管理方法

ユーザープールで管理するユーザー情報をカスタマイズすることで、アプリケーション固有のニーズに対応できます。

標準属性の編集

AWS Cognitoには、名前・メールアドレス・電話番号など標準的な属性が用意されています。これらはプール作成時に自動で定義されますが、以下のようなケースでは調整が必要です。

  • 例: 「誕生日」を必須項目に設定する場合、「BirthDate」をカスタム属性として追加

カスタム属性の追加手順

  1. ユーザープール画面で「属性の管理」を選択
  2. 「カスタム属性」タブから、「名前」「種類」「説明」を入力して追加
  3. 例: 「会社名」は文字列型、識別子はcustom:companyと指定

  4. 必須項目の設定を行うことで、ユーザー登録時にこの属性の入力を強制できます。


デフォルト値・必須項目の設定

  • 業務フローによっては「部署名」を必須とするケースがあります。これにより、後段のアプリケーションロジックで分岐処理が可能になります。

IDプロバイダーとの連携設定

外部認証サービス(Googleアカウントや企業のSAML)と接続することで、ワンクリックログインを実現できます。

フェデレートアイデンティティの有効化

  1. 「フェデレーテッドアイデンティティ」画面から、連携したいプロバイダー(Google/Facebook/SAML)を選択
  2. 各プロバイダー側でアプリケーションを登録し、クライアントIDとシークレットを取得

SAML/Google/Facebook連携手順

プロトコル 概要 用途
SAML 企業内Active DirectoryやオンプレミスのIdPと連携 大規模な組織向けに最適
OAuth 2.0(Google/Facebook) Webアプリケーションやモバイルアプリとの連携が簡単 ユーザー体験向上に貢献

注意: SAMLは複雑な構成が必要ですが、企業の統合ID管理の要件に応じて導入推奨です。


OAuth 2.0のスコープ設定

  • スコープは「email」「profile」など限定的に指定する必要があります。無駄な権限付与を避けるために、必要な最小範囲だけを選択してください。

AWS CLIによるユーザープール操作

CLIを使用することで、CI/CDパイプラインやスクリプト化された自動テスト環境でユーザープール管理が可能になります。

create-user-poolコマンドの基本構文


ユーザー登録・削除コマンド実例

  1. ユーザー登録

  1. ユーザー削除


スクリプト化時の注意点

  • CLIコマンドにはセキュリティトークンが必要なため、AWS credentials(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)を環境変数で設定してください。
  • セキュリティ上、テスト用のプールを専用に用意し、本番環境ではカスタマイズされたスクリプトを使用するのがベストプラクティスです。

パスワードポリシーとセキュリティ強化

Cognitoユーザープールはデフォルトでセキュアですが、企業の要件に応じて更なる強化策が求められます。

推奨されるパスワードポリシー設定

  • 最低文字数: 8文字以上を推奨(例: Password1!
  • 大文字・小文字・記号の混在が必要なら、設定で「必須」に変更
オプション 初期値 推奨
大文字必須 なし 有効
小文字必須 なし 有効
記号必須 なし 有効

MFAの導入手順

  1. ユーザープール画面の「MFAの設定」を選択
  2. 「メール認証」または「SMS認証」を有効化し、利用可能なデバイスをユーザーが選択可能にする設定にします。

注意: MFAはオプションとして提供されるため、企業によっては強制的に有効化するケースもあります。


アクセスログの監査設定

CognitoはCloudWatch Logsと連携することで、認証操作やエラーをリアルタイムで監視可能です。

CloudWatchとの連携方法

  • ロググループを用意し、「Cognito」サービスから出力されたログを収集
  • 例: ユーザーが「パスワードリセット」を試行した際のログを確認できます。

まとめ

本記事では、Amazon Cognitoユーザープールの設定手順と実務でのポイントを以下に整理しました。

  • AWSコンソールでプールを作成し、アプリクライアントや管理者ユーザーを設定
  • ユーザー属性はカスタム属性や必須項目の指定で柔軟性を確保
  • 外部プロバイダー連携を活用したOAuth 2.0やSAMLによる認証フロー構築
  • CLIコマンドを使用してスクリプト化し、CI/CD連携に活かす
  • パスワードポリシー・MFAなど、セキュリティ設定を最適化

記事を参考に、実際にユーザープールを作成してみましょう。実際の操作を通して理解が深まるでしょう。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Cognito