IAM Identity Centerディレクトリを利用したユーザー管理

IAM Identity Centerとは、AWSが提供するマルチアカウント環境でのユーザーやアクセス権限を一元管理するためのサービスです。

今回は、IAM Identity Centerを有効化した際にデフォルトで利用できる、AWS単体のIAM Identity Centerディレクトリを利用したユーザー管理方法を紹介します。

本記事では、以下サービス名は次のように記載いたします。

  • AWS Identity and Access Management:IAM
  • AWS IAM Identity Center:IAM Identity Center

IAM Identity Centerの基本概要

IAMとIAM Identity Centerの違い

IAM Identity Cneterと同じようなユーザー管理サービスの1つにIAMがあります。

IAMは、主に単一のAWSアカウントにおけるユーザーやアクセスの管理をする際に利用するサービスです。IAMが単一のアカウントに特化しているのに対し、IAM Identity Centerはより広範囲なアクセス管理をする際に有用なサービスとなっています。

IAMとIAM Identity Centerには、管理範囲や認証方法等に違いがあり、それぞれの特徴や違いについて以下の表にまとめます。

特徴 IAM IAM Identity Center
主な機能 ユーザー、グループ、ロールおよびポリシーによるアクセス制御 ユーザーディレクトリ、外部IDプロバイダー統合、シングルサインオン
管理範囲 単一のAWSアカウント 複数のAWSアカウントとアプリケーション
認証方法 長期的な認証情報をもとにアカウント単位のユーザー名/パスワードによる認証 外部IDや個別独自のディレクトリによる一時的なセッションベースの認証
ユーザー管理 個別のユーザーアカウントごとに直接管理 外部IDやActiveDirectory、IAM Identity CneterユーザーディレクトリによるSSO集中管理
アプリケーション統合 AWSサービス限定 AWSサービスと外部アプリケーション

上記のような特徴から、IAM Identity Centerはマルチアカウント構成をとる場合や外部IDを利用したSSOを利用する場合に最適なサービスとなっています。

ID管理の種類

IAM Identity Centerには前項で示したように、IAM Identity Center独自のディレクトリを利用したID管理だけでなく、外部IDプロバイダーやActiveDirectoryによるID管理の利用が提供されています。

それぞれのID管理について以下に簡単にまとめます。

  1. IAM Identity Centerディレクトリ
    • AWS独自に組み込まれたディレクトリを利用してユーザーやグループを管理
    • AWS Management Console、AWS CLI、APIによる操作が可能
  2. 外部IDプロバイダー
    • Google、Microsoft、Okta、OneLogin等の外部IDプロバイダーと統合して管理
    • 外部IDプロバイダーを利用してAWS環境へSSOログインすることが可能
  3.  ActiveDirectory統合
    •  ActiveDirectoryと統合したユーザー管理
    • ActiveDirectoryのポリシーを適用することが可能

設定

構成内容

今回は、AWS独自で用意されているIAM Identity Centerのディレクトリを利用したID管理を構成します。

構成内容は以下の通りです。

  • 4つのAWSアカウントによる環境を想定しています。
  • Organizationsの管理アカウントからIAM Identity Centerの管理権限を1つのメンバーアカウントに委任します。
  • 委任管理先のアカウントで一括でユーザー/グループ/許可セットを設定し、委任管理先のアカウントを含む3つのメンバーアカウントに設定したユーザー/グループ/許可セットを以下のように設定します。
    グループ ユーザー 許可セット アカウント
    group01 test01/test02 perm01 メンバーアカウント1/2
    group02 test02/test03 perm02 メンバーアカウント1/2

※設定で利用するアカウントは、Organizationsで管理されている前提とします。

IAM Identity Centerの権限移譲

1. IAM Identity Centerのコンソール画面にて、IAM Identity Centerの有効化を選択します。

2. 有効化するリージョンが正しいことを確認し、有効化します。

※IAMはグローバルリージョンで設定するサービスですが、IAM Identity Centerはリージョン固有で設定するサービスです。

3. IAM Identity Centerの管理権限をメンバーアカウントに委譲するため、「設定」>「管理」>「アカウントを登録」を選択します。

4. 委任管理先のアカウントを指定し、「アカウントを登録」を選択する。

5. 委任管理が成功すると、詳細設定の「委任された管理者」に該当アカウントが追加されたことが確認できます。

ユーザー/グループ作成

1. IAM Identity Centerで委任管理設定を行ったため、委任管理アカウントのIAM Identity Centerにて、「ユーザー」>「ユーザーを追加」を選択します。

※委任管理設定をすることで、自動的に委任管理先のアカウントのIAM Identity Centerも有効化されます。

2. 「プライマリ情報」は必須入力項目となるため、ユーザー名やEメールアドレスの項目を入力します。今回はテストユーザーとして「test01」ユーザーを追加します。

3. プライマリ情報以外は任意設定となるため、今回は設定しないで「次へ」を選択します。

4. 「グループを作成」からグループの作成をします。ユーザー同様、左ペインの「グループ」からグループを個別で作成することができますが、今回はユーザー作成と同時にグループを作成します。

5. グループ作成専用のタブが新しく開くため、画面遷移後グループ名を入力し、「グループを作成」を選択します。既存でユーザーが作成されている場合はユーザーの追加もこちらの画面で追加することができます。

6. グループが作成されたことを確認します。

7. ユーザー作成のためユーザー作成のタブに戻り、「更新」ボタンを選択して作成したグループが表示されたら、「グループ」>「次へ」を選択します。

8. ユーザーとグループが正しく設定されていることを確認し、「ユーザーを追加」を選択します。

9. ユーザーが作成されたことを確認します。

10. 同様の操作を繰り返し、「group1」のグループにに「test01」と「test02」のユーザーを追加、「group2」のグループに「test02」と「test03」のユーザーを追加します。

許可セット作成/適用

1. 「許可セット」>「許可セットを作成」を選択します。

2. 「カスタム許可セット」>「次へ」を選択します。事前定義された許可セットでは、AWS管理ポリシーを1つだけ選択できます。カスタム許可セットはAWS管理ポリシーを含むカスタム管理ポリシーやインラインポリシー等の複数の種類のポリシーを選択、組み合わせて許可セットを作成することができます。

3. 今回はEC2へのフルアクセスを設定したポリシーを適用したいため、AWS管理ポリシーを選択します。

4. 検索バーで「EC2」と入力し、「EC2FullAccess」>「次へ」を選択します。

5. 許可セットの名前を「perm01」としてその他は既定のまま「次へ」を選択します。

6. 確認画面で、設定したポリシーと許可セット名が正しいことを確認し、「作成」を選択します。

7. 許可セットが作成されたことを確認します。

8. 同様の操作を繰り返し、perm02をS3へのフルアクセスとして許可セットを作成します。

9. 許可セット「perm01」を「group01」に割り当て、メンバーアカウント1と2に適用させていきます。「許可セット」>「メンバーアカウント1/2」>「ユーザーまたはグループを割り当て」を選択します。

10. 「group01」>「次へ」を選択します。

11. 「perm01」>「次へ」を選択します。

12. グループ名と許可セット名が正しいことを確認し、「送信」を選択します。

13. 許可セットが適用されたことを確認します。

14. 同様の操作を繰り返し、 許可セット「perm02」を「group02」に割り当て、メンバーアカウント2と3に適用させていきます。

AWSアカウントへのサインイン

1. ユーザー作成時に設定したEメールアドレスに初回サインイン用のメールが送信されているため、メールから「Accept invitation」を選択します。




2. 新しいパスワードを入力して、「新しいパスワードを設定」を選択します。


3. ユーザー名とパスワードを設定して、サインインを選択します。



4. 初回ログイン時に多要素認証の設定をするため、使用する多要素認証を選び、「Next」を選択します。

5. 設定が完了すると以下の画面が表示されるため、「完了」を選択します。

6. 初回サインインの設定が完了し、サインインをすると「AWS Access Portal」が表示され、各アカウントの許可セットを選択することで許可セットに基づいた権限でアカウントにサインインすることができます。各メンバーアカウントの画面は設定した通り以下のように表示されます。

メンバーアカウント1

メンバーアカウント2

メンバーアカウント3

おわりに

本記事では、IAM Identity Centerディレクトリを利用して、ユーザー管理をする方法についてご紹介しました。

マルチアカウント環境においては、IAM Identity Centerによるアカウント/ユーザー管理が推奨とされていますので、本設定がお役に立てれば幸いです。

執筆担当者プロフィール
髙橋 耕太郎

髙橋 耕太郎(日本ビジネスシステムズ株式会社)

クラウドソリューション事業本部に所属しています。AWSをメインにインフラの設計構築、運用保守を行っています!

担当記事一覧