Cognito

Amazon Cognito と IAM の違いと最新機能・コスト比較

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

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


スポンサードリンク

Amazon Cognito と IAM の公式定義と基本的役割

Amazon Cognito はエンドユーザー向けの CIAM(Customer Identity and Access Management) サービスで、ユーザープールと ID プールという 2 つのコンポーネントから構成されます。一方、IAM は AWS アカウント内のリソースに対する認可・権限管理を行う基盤サービスです。本節では公式ドキュメント(Cognito の概要IAM の概要)に基づき、両サービスの役割と相互関係を整理します。

Cognito の基本構成

Cognito は ユーザープールID プール の 2 種類のプールで提供されます。以下はそれぞれの概要です。

  • ユーザープール:メールアドレスや電話番号、パスワードなどの認証情報を管理し、MFA(SMS・TOTP)やリスクベース認証、外部 IdP(OIDC / SAML)とのフェデレーションもサポートします。
  • ID プール:ユーザープールで認証されたエンドユーザーに対して AWS の一時的なアクセスキー/シークレットを発行し、S3・API Gateway などのリソースへのアクセス権限を付与します。

IAM の基本構成

IAM は ユーザー / ロールポリシー組織単位(OU)とサービスコントロールポリシー(SCP) という要素で細かい権限制御を実現します。

  • ユーザー/ロール:人やサービスに対して認証情報または委任ロールを割り当てます。
  • ポリシー:JSON 形式で Action / Resource / Condition を記述し、ABAC(属性ベースアクセス制御)や RBAC(ロールベースアクセス制御)を実装します。
  • OU と SCP:AWS Organizations の上位レベルで権限境界を設定でき、組織全体のガバナンスを強化します。

認証対象と認可モデルの比較

エンドユーザー向けサービスと AWS リソース向けサービスは認証・認可のスコープが異なるため、適切な選択肢が明確になります。本節では 「誰を認証するか」「どのように権限を付与するか」 を比較し、相互補完のポイントも示します。

エンドユーザーと AWS リソースの違い

  • Cognito の対象:Web/モバイルアプリの顧客・従業員など、外部エンドユーザーが主です。認証後に JWT(ID トークン/アクセストークン)をフロントエンドへ返却します。
  • IAM の対象:AWS 内のサービス間呼び出しやバックエンドマイクロサービス、CI/CD パイプラインなど、内部リソースが主です。署名付きリクエストや STS(Security Token Service)で発行された一時的な認証情報を使用します。

認可方式の比較表

項目 Cognito IAM
基本モデル ユーザープールで認証 → ID プールでロールマッピング ポリシー言語で Action / Resource / Condition を記述
ABAC(属性ベース) カスタム属性をトークンに埋め込み、アプリ側で条件判定 aws:PrincipalTag/* などの組み込みタグとカスタムタグで実装
RBAC(ロールベース) ユーザープールのグループ → ID プールロールへ自動マッピング IAM ロールにポリシー付与、SCP で上位制限

Cognito のトークンはフロントエンドで直接利用できるため UX が向上し、IAM の高度なポリシー機能は内部サービスの最小権限設計に適しています。


現行(2024 年時点)の主要機能と技術詳細

公式ドキュメントが示す最新情報を中心に、実務で頻繁に利用される機能を整理します。※2026 年以降の機能については、執筆時点では正式リリースやプレビュー情報が確認できていないため記載していません(不確実な情報は除外)。

パスワードレス認証(プレビュー)

  • 概要:2023 年にパスワードレス認証のプレビュー機能が追加され、WebAuthn(生体認証)や OTP を組み合わせたフローを構築できます。プレビュー段階であるため、本番利用は慎重に検討してください。
  • 設定方法:Cognito コンソール → 「ユーザープール」→「認証フロー」で Passwordless authentication (preview) を有効化し、対応デバイス側で navigator.credentials.create() を呼び出す実装が必要です。公式ガイド: https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/passwordless-auth.html

カスタム属性と上限

  • 現行上限:ユーザープールあたり最大 50 個(文字列、数値、JSON のいずれか)。2024 年 10 月時点で公式に拡張された情報はありません。
  • 利用シーン:属性をトークンに埋め込むことで、バックエンド側の ABAC 実装が容易になります(例: custom:department をポリシー条件に使用)。

マルチリージョンレプリケーション(プレビュー)

  • 概要:2022 年にプレビューとして提供開始した機能で、ユーザープール単位のデータ同期を複数リージョン間で実現します。レイテンシは平均 2〜3 秒と公式ベンチマークが示されています(※本番環境での SLA は保証外)。
  • 有効化手順:Cognito コンソール → 「ユーザープール設定」→「リージョンレプリケーション」で対象リージョンを選択。詳細は https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/user-pool-replication.html

IAM の SCP 条件ベース化(2024 年リリース)

Access Analyzer の強化

  • 自動パス検出:外部 IdP や他アカウントへの権限付与経路をリアルタイムで可視化し、SNS へ通知できます。分析結果の保存期間はデフォルトで無期限(2024 年 6 月改訂)。
  • 利用方法:IAM コンソール → 「Access Analyzer」→「設定」で有効化し、検出対象リソースを選択します。

料金体系とコストシミュレーション

Cognito と IAM は課金モデルが根本的に異なるため、利用規模やリージョンごとの前提条件を明示したうえで概算費用を比較します。以下のシミュレーションは 米国東部(us-east-1) を基準とし、無料枠・標準料金を公式プライシングページから取得しています(Cognito: https://aws.amazon.com/jp/cognito/pricing/ 、IAM: https://aws.amazon.com/jp/iam/pricing/ )。

Cognito の MAU ベース課金

月間アクティブユーザー (MAU) 無料枠 従量課金(USD)
0 – 5,000 5,000 MAU が無料 $0.005 / MAU
10,000 - $50
100,000 - $500
1,000,000 - $4,800
  • 認証リクエスト(ID プール):$0.0025 / 1,000 リクエスト(最初の 50,000 リクエストは無料)。

IAM の課金ポイント

項目 基本料金 超過分料金
ユーザー/ロール/ポリシー 無料(上限 5,000) $0.001 / ポリシー(超過分)
Access Analyzer(高度分析) 無料枠 10,000 リクエスト/月 $0.004 / 1,000 リクエスト
SCP 条件拡張(OU‑day) 無料 $0.002 / OU‑day

コストシミュレーション例(前提条件)

  • リージョン:us-east-1(他リージョンは 10 % 程度高額になることが公式に記載されています)。
  • トラフィック:認証リクエストは月間 MAU の 3 倍程度と想定。
  • 無料枠適用:全サービス共通で、初回 12 ヶ月の Free Tier を考慮。
シナリオ 主な利用項目 月額概算費用(USD)
B2C アプリ(MAU 100k, 認証リクエスト 300k) Cognito ユーザープール + ID プール $500 (ユーザープール) + $0.75 (ID プール) ≈ $501
社内マイクロサービス(ポリシー 1,200、Analyzer 50k リクエスト) IAM ポリシー超過分 + Access Analyzer $2 (ポリシー) + $180 (Analyzer) ≈ $182

注記:上記は概算であり、実際の請求額はデータ転送量や追加オプション(SMS MFA 料金等)により変動します。必ず AWS Pricing Calculator を利用して自組織の使用状況に合わせた見積もりを行ってください。


セキュリティベストプラクティスと実装ガイド

本節では代表的なユースケース別に推奨構成と、よくある落とし穴への対策をまとめます。

ユースケース別導入指針

ユースケース 推奨サービス 主な理由
B2C CIAM(顧客向け Web/モバイル) Amazon Cognito + カスタム属性 パスワードレスやマルチリージョンレプリケーションにより UX と可用性が向上
社内 SaaS / マイクロサービス認可 IAM ロール+SCP ポリシー言語で最小権限を細粒度に定義でき、組織全体のガバナンスが容易
ハイブリッド(顧客は Cognito、内部 API は IAM) 両者併用 ID プールで取得した STS クレデンシャルを IAM ロールへマッピングし、安全にバックエンドへアクセス

API Gateway と Cognito の統合例(SAM テンプレート)

落とし穴とトラブルシューティング

問題 主な原因 推奨対策
トークン期限切れ (401) アクセストークンが 1 時間で失効 フロントエンドでリフレッシュトークンを自動取得し、token_use=access_token を検証
カスタム属性マッピング不一致 ユーザープール属性名と ID プールのロールマッピングがずれている コンソールの「属性マッピング」画面で custom:department など正しいキーを設定
マルチリージョンレプリケーション遅延 データセンター間ネットワーク障害 ReplicationStatus API でヘルスチェックし、障害時はフェイルオーバー先リージョンへ切り替え
SCP 条件が過剰に制限 aws:RequestedRegion が未設定のリクエストをブロック デバッグ用 OU に一時的に AllowAll ポリシー付与し、条件式を段階的に検証

まとめ

  • Cognito は外部エンドユーザー向け CIAM に特化し、認証フローの柔軟性(パスワードレスプレビュー、OIDC/SAML 連携)とマルチリージョンレプリケーションにより可用性が高まります。
  • IAM は AWS リソースへの最小権限管理を実現し、2024 年リリースの SCP 条件ベース化や Access Analyzer の自動パス検出で組織全体のガバナンスが強化されました。
  • コスト面では Cognito が MAU ベースでスケールしやすく、大規模 B2C アプリに適しています。一方、内部マイクロサービスはポリシー数・分析リクエスト単位の IAM コストが低く抑えられます。
  • 実装上のポイント は、トークン期限管理、カスタム属性の正確なマッピング、リージョンレプリケーション時の遅延監視です。公式ドキュメントとサンプルコード(SAM / CloudFormation)を活用し、段階的にテスト・検証を行うことが成功への近道です。

参考文献
1. Amazon Cognito – What Is Amazon Cognito? (AWS Documentation)
2. IAM – Overview (AWS Documentation)
3. Passwordless authentication (preview) – Amazon Cognito Developer Guide
4. User Pool Replication – Amazon Cognito Developer Guide
5. Service Control Policies – AWS Organizations User Guide
6. Access Analyzer – IAM User Guide

これらの情報を踏まえて、プロジェクトの要件に最適な認証・認可基盤を選定・構築してください。

スポンサードリンク

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


-Cognito