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つのポータルからすべてのアカウント・アプリにアクセス
  2. 一元化された権限管理: 誰がどのアカウントにアクセスできるかを1箇所で管理
  3. 既存の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. 許可セットの作成

職務に応じた許可セットを作成します。

yaml
推奨される許可セット構成案:
  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の利用が強く推奨されます。


参考: AWS IAM Identity Center User Guide