📝 はじめに
AWSには「IAM」「IAM Identity Center(旧 AWS SSO)」「Cognito」「Organizations」と、認証・認可・アカウント管理に関するサービスが複数存在します。
本記事では、それぞれの 役割・特徴・使いどころの違い を整理し、まとめています。
🔍 各サービス概要
1. AWS IAM(Identity and Access Management)
公式ドキュメント: https://docs.aws.amazon.com/iam/
概要
- AWSリソースへのアクセスを制御するための基盤サービス。
- 「誰(ユーザー・ロール)」が「何(S3やEC2など)」を「どう操作できるか」をポリシーで定義。
主な対象
- AWSアカウント内の開発者・管理者
- AWSサービス間アクセス(例:EC2 → S3)
特徴
- 最小権限(Least Privilege)原則の実装が可能
- IAMユーザー/ロール/グループによる詳細な制御
- MFA対応、ポリシーベースの権限制御
2. AWS IAM Identity Center(旧 AWS SSO)
公式ドキュメント: https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html
概要
- 社内ユーザー(ワークフォース) 向けのシングルサインオン(SSO)サービス
- 複数AWSアカウントやSaaSアプリへのアクセスを一元管理
主な対象
- 社員や開発チームなどの社内ユーザー
特徴
- フェーデレーション/シングルサインオンの簡易化
- AML 2.0 や外部アイデンティティプロバイダーとの連携が可能で、既存の ID 管理基盤を活用でき
3. Amazon Cognito
公式ドキュメント: https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html
概要
- Web/モバイルアプリ向けの「ユーザー認証」を提供
- 「ユーザーを認証し、AWSリソースや自アプリ内リソースへのアクセスを制御する」仕組みを、構築者に代わってマネージドで提供
主な対象
- アプリを利用する顧客・会員・外部ユーザー
- 既存のアイデンティティプロバイダー(Google,Facebook,SAML 2.0 ldpなど)を使うフェデレーション(ID連携)
- ログインしたユーザに対してAWSのリソースへのアクセスを付与や属性ベース・役割ベースで制御
特徴
-
ユーザープール
- サーバーレスで認証とユーザ管理
- サードパーティとの連携が充実
- 強力なセキュリティ機能(電話番号やEmailアドレスの検証や多要素認証を実現)
-
IDプール
- 認証されたユーザーまたは匿名ユーザーに対して、AWSリソースへのアクセス用の一時的な認証情報 (AWS Credentials) を発行
- ロールベースと属性ベースの両方のアクセス制御を使用して、AWSリソースへのアクセスに対するユーザーの承認を管理
- SNSログイン(Google / Apple / Facebook)対応
4. AWS Organizations
公式ドキュメント: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html
概要
- 複数のAWSアカウントを一元管理するサービス
- グループ化して**ポリシー(SCP)**を適用でき、利用可能なサービスを制御可能
- アカウント作成・招待・削除の自動化や**一括請求(Consolidated Billing)**が可能
主な対象
- AWSアカウントそのもの(組織・チーム)
特徴
組織単位(OU)とポリシー管理
- 組織単位(OU)アカウントをグループ化してSCPをまとめて適用できる
サービスコントロールポリシー(SCP)
- 組織全体でサービス/APIの利用を制御
- ホワイトリスト方式(許可のみ)またはブラックリスト方式(拒否のみ)
- 構文はIAMポリシー同様(Effect, Action, Resourece)
一括請求(Consolidated Billing)
- 組織内の全てのアカウントを一つにまとめて請求
- RIによる割引がデフォルトで共有される
- 各アカウントの請求額も確認できる
📊 比較表まとめ
| サービス名 | 主な対象 | 認証対象 | 管理範囲 | 主な用途 | 特徴的な機能 |
|---|---|---|---|---|---|
| IAM | 社内エンジニア・AWSサービス | AWSアカウント内 | リソース単位 | AWSリソースのアクセス制御 | 最小権限モデル、IAMポリシー |
| IAM Identity Center | 社内ユーザー(ワークフォース) | 複数AWSアカウント | 組織全体 | SSO・統合ログイン | 外部IdP連携、権限セット |
| Cognito | アプリのエンドユーザー | アプリケーション | 個人/顧客単位 | 顧客ログイン/認証 | ユーザープール・SNS連携 |
| Organizations | AWSアカウント | - | 組織全体 | マルチアカウント管理 | SCP、請求統合、OU構造 |
💡 まとめ
| 目的 | 使用するサービス |
|---|---|
| AWSリソースへの権限設定 | IAM |
| 社内ユーザーのSSO | IAM Identity Center |
| 顧客アプリの認証 | Cognito |
| 複数アカウント管理 | Organizations |
🔗 参考リンク
- AWS Identity and Access Management (IAM)
- AWS IAM Identity Center (旧 AWS SSO)
- Amazon Cognito
- AWS Organizations
執筆者メモ:本記事は公式ドキュメントをベースに、自身の学習・業務理解のために整理した内容です。