🔐 AWS認証サービス 完全比較ガイド

IAM Identity Center vs IAM vs Cognito
「誰が」「どこで」「何のために」認証するのか?

組織全体の統合管理 vs 個別アカウント管理 vs アプリケーション認証
🏢
IAM Identity Center
組織全体の従業員向け
マルチアカウント統合管理
🔑
IAM
AWSアカウント単位
きめ細かい権限制御
📱
Cognito
アプリのエンドユーザー向け
顧客認証・ソーシャルログイン

🏨 大型リゾートホテルで例えると超わかりやすい!

AWS認証サービスの違いを「大型リゾートホテルチェーン」に例えてみましょう。
誰が どこへ 何のために アクセスするかで使うサービスが変わります。

🏢

IAM Identity Center

ホテルチェーン本社の
「統一社員証システム」

シナリオ:
あなたはホテルチェーンの社員。本社で発行された 1枚の社員証 で、全国どの支店にも入れる。

東京本社、大阪支店、福岡支店...どこでも同じカードでアクセス可能!

🎯 ポイント: 社員(従業員)が複数の拠点(AWSアカウント)に統一的にアクセス

🔑

IAM

各ホテル内の
「部屋の鍵・エリア別セキュリティ」

シナリオ:
ホテル内に入った後、 各部屋やエリアごとに別の鍵 が必要。

清掃スタッフは客室のみ、シェフは厨房のみ、マネージャーは全エリアOK。

🎯 ポイント: 建物内(1つのAWSアカウント)での細かい権限管理

📱

Cognito

ホテルの
「宿泊客向け会員アプリ」

シナリオ:
ホテルの お客様 がスマホアプリで予約、チェックイン、ルームサービス注文。

GoogleやFacebookでログインもOK!何百万人のお客様を管理。

🎯 ポイント: 外部のお客様(エンドユーザー)向けの認証システム

📊 3つのサービスの関係図

👨‍💼👩‍💼 社員・従業員
IT部門・開発者・管理者
🤖 プログラム・サービス
Lambda・EC2・CI/CD
👥 一般ユーザー・顧客
アプリ利用者
⬇️
🏢 IAM Identity Center
組織全体のSSO・統合管理
🔑 IAM
アカウント内の権限制御
📱 Cognito
アプリユーザー認証
⬇️
📲 Webアプリ/モバイルアプリ
顧客向けサービス

📋 詳細比較表

比較項目 🏢 IAM Identity Center 🔑 IAM 📱 Cognito
主な利用者 社員・従業員・パートナー AWSリソース・サービス間 一般ユーザー・顧客
管理対象 複数のAWSアカウント を横断 1つのAWSアカウント内 アプリケーション のユーザー
ユーザー規模 数十〜数千人(従業員数) 数人〜数百人(IAMユーザー) 数百万人 まで対応
シングルサインオン(SSO) ✅ 標準機能 ❌ 非対応 ✅ アプリ間で可能
外部IdP連携
(Active Directory等)
✅ 対応 ⚠️ フェデレーション設定必要 ✅ 対応
ソーシャルログイン
(Google/Facebook等)
❌ 非対応 ❌ 非対応 ✅ 標準機能
MFA(多要素認証) ✅ 対応 ✅ 対応 ✅ 対応
一時的認証情報 ✅ 自動発行 STS で発行可能 ✅ 自動発行
AWS Organizations連携 ✅ 必須・最適 個別アカウントで動作 不要
セルフサービス登録 ❌ 管理者が登録 ❌ 管理者が登録 ✅ ユーザー自身で登録可
料金 無料 無料 MAU課金(無料枠あり)

💼 こんな時にどれを使う?

🏢

IAM Identity Center を選ぶ場面

  • 複数のAWSアカウントを管理している
  • 社員がAWSコンソールにログインする
  • Active DirectoryやOktaと連携したい
  • 部門ごとに異なるアカウントへのアクセスを管理
  • 開発環境・本番環境のアクセス制御
  • 1つのIDで複数アカウントにSSO
🔑

IAM を選ぶ場面

  • Lambda関数にS3アクセス権限を付与
  • EC2インスタンスからDynamoDBへ接続
  • CI/CDパイプラインからデプロイ
  • クロスアカウントのロール引き受け
  • 特定のS3バケットのみ読み取り許可
  • サービス間の権限を最小限に制御
📱

Cognito を選ぶ場面

  • Webアプリにユーザー登録機能を追加
  • モバイルアプリのログイン画面を作成
  • 「Googleでログイン」ボタンを実装
  • パスワードリセット機能が必要
  • 何十万人もの顧客を管理
  • ユーザーのプロフィール情報を保存

🤔 どのサービスを選ぶ?判断フローチャート

❓ 認証するのは「誰」ですか?
⬇️ 社員・従業員
⬇️ サービス・プログラム
⬇️ 一般ユーザー・顧客
🏢 IAM Identity Center

複数アカウントへのSSOが必要なら
IAM Identity Center!

🔑 IAM

AWSリソース間の権限制御には
IAMロール・ポリシー!

📱 Cognito

アプリのログイン機能には
Cognito User Pool!

🔗 3つのサービスは連携できる!

📱 Cognito
アプリユーザー認証
🔑 IAM ロール
一時的なAWS認証情報
連携例: モバイルアプリユーザーがCognitoでログイン → IAMロールで一時認証情報を取得 → S3に写真をアップロード
🏢 IAM Identity Center
従業員のSSO
🔑 IAM ロール
Permission Set
💡 ポイント: IAM Identity CenterもCognitoも、最終的にはIAMロールを通じてAWSリソースへのアクセス権を付与します。IAMは全てのAWS認証の基盤となる重要なサービスです。

📝 まとめ

🏢

IAM Identity Center

「従業員」
「複数のAWSアカウント」
「1つのIDでSSO」

🔑

IAM

「サービス・リソース」
「1つのアカウント内」
「きめ細かい権限制御」

📱

Cognito

「一般ユーザー」
「アプリケーション」
「ログイン・登録」

🎯 結論:

従業員がAWSコンソールを使う IAM Identity Center
プログラムがAWSリソースにアクセス IAMロール
お客様がアプリにログイン Cognito

3つのサービスは競合ではなく、 それぞれ異なる目的で使い分ける ものです!🎉

Created by SSuzuki1063

AWS SAP Learning Resources