AWS IAM Identity Center (旧 SSO) 完全ガイド
AWS IAM Identity Center(旧 AWS Single Sign-On)は、AWSアカウントやビジネスアプリケーションへのアクセスを一元管理する推奨サービスです。 複数のAWSアカウントを持つ組織において、ユーザーは単一のポータルからすべてのアカウントやアプリケーションにサインインでき、管理者は権限を集中管理できます。
IAM Identity Center の基本概念
なぜ IAM Identity Center なのか
従来のIAMユーザー管理では、アカウントごとにユーザーを作成・管理する必要がありました。これはアカウント数が増えるにつれて管理が煩雑になり、セキュリティリスクも高まります。
IAM Identity Centerを使用すると、以下のメリットがあります:
- 単一のサインイン場所: ユーザーは1つのポータルからすべてのアカウント・アプリにアクセス
- 一元化された権限管理: 誰がどのアカウントにアクセスできるかを1箇所で管理
- 既存のID基盤との連携: Active DirectoryやOktaなどの外部IdPと連携可能
主要コンポーネント
1. アイデンティティソース (Identity Source)
ユーザーとグループの情報をどこで管理するかを定義します。
| ソース | 特徴 | 推奨ケース |
|---|---|---|
| Identity Center ディレクトリ | AWS内でユーザーを直接作成・管理 | 小規模な組織、検証環境 |
| Active Directory | オンプレミスのADと連携 | 既存のAD環境を活用したい場合 |
| 外部 ID プロバイダー (IdP) | Okta, Azure AD (Entra ID) 等と連携 | 既存のIdPを使用している場合(推奨) |
2. 許可セット (Permission Sets)
ユーザーがAWSアカウントにアクセスした際に、どのような権限を持つかを定義する「権限のテンプレート」です。 実体としては、対象アカウント内に自動的にIAMロールとしてプロビジョニングされます。
事前定義された許可セットの例:
- AdministratorAccess: フルアクセス権限
- ViewOnlyAccess: 読み取り専用権限
- PowerUserAccess: 管理者権限(IAM操作などを除く)
3. マルチアカウント権限管理
AWS Organizationsと連携し、組織内の特定のアカウント、またはOU(組織単位)全体に対して権限を割り当てることができます。 これにより、新しいアカウントが作成された際も、OUへの割り当てを通じて自動的に権限を付与することが可能です。
実践的な設定フロー
1. 有効化とアイデンティティソース設定
管理アカウント(または委任された管理者アカウント)でIAM Identity Centerを有効化します。 「設定」からアイデンティティソースを選択します。多くの企業では、OktaやMicrosoft Entra IDなどの外部IdPとのSAML接続を選択します。
2. グループとユーザーの同期
外部IdPを使用している場合、SCIM (System for Cross-domain Identity Management) を使用して、ユーザーとグループを自動同期することを推奨します。 これにより、社員の入退社や部署移動が自動的にAWSのアクセス権に反映されます。
3. 許可セットの作成
職務に応じた許可セットを作成します。
推奨される許可セット構成案:
PlatformAdmins:
- ポリシー: AdministratorAccess
- 用途: クラウド基盤管理者用
Developers:
- ポリシー: PowerUserAccess (またはカスタム)
- 用途: アプリケーション開発者用
SecurityAuditors:
- ポリシー: SecurityAudit + ViewOnlyAccess
- 用途: セキュリティ監査用4. 権限の割り当て
「AWSアカウント」メニューから、対象のアカウント(またはOU)を選択し、「ユーザー/グループ」と「許可セット」を紐付けます。 例:「アカウントA」に対して、「Developersグループ」に「PowerUserAccess許可セット」を割り当てる。
高度な機能とベストプラクティス
信頼されたIDの伝播 (Trusted Identity Propagation)
QuickSightやRedshiftなどのデータ分析サービスにおいて、IAM Identity CenterのユーザーIDをアプリケーション層まで伝播させる機能です。 これにより、BIツール上でのデータアクセス制御を、元のユーザーIDに基づいて行うことができます。
属性ベースのアクセス制御 (ABAC)
ユーザーの属性(部署、役職、コストセンターなど)に基づいて、動的に権限を制御できます。 例えば、「Department=Sales」というタグが付いたリソースには、「Department=Sales」属性を持つユーザーのみがアクセスできるようにする、といった制御が可能です。
セキュリティ推奨事項
- MFAの強制: ID基盤側(Oktaなど)またはIAM Identity Center側で必ず多要素認証を有効にする
- 最小権限の原則: 最初は ViewOnlyAccess から始め、必要に応じて権限を追加するカスタム許可セットを作成する
- アクセスログの監視: CloudTrailにはIAM Identity Centerのアクションが記録されるため、不正な割り当て変更などを監視する
まとめ
AWS IAM Identity Centerは、現代のAWS環境におけるアクセス管理の標準です。 単一アカウント運用であっても、将来的な拡張性やセキュリティの観点から、IAMユーザーではなくIAM Identity Centerの利用が強く推奨されます。