5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS IAM Identity Center】個人アカウントで一人アドミンに挑戦してみた!(IAM Identity Center編)

5
Last updated at Posted at 2026-09-06

はじめに

こんにちは。マルチアカウント運用を楽にしたいすずきです。

AWS Organizationsを利用した一人アドミン検証シリーズの3本目です。
前2本では前後編としてまとめていましたが、アカウント管理・運用を考えると、Organizationsだけで収まるわけがなかったので、『一人アドミン検証シリーズ』として不定期にまとめていこうと思います。

  • 第1回: 組織の作成とアカウント管理

  • 第2回: SCP・タグポリシーによる統制

  • 第3回: IAM Identity Centerによるアクセス管理 ← 本記事

第1回では管理アカウントのIAMユーザーからスイッチロールでメンバーアカウントに入っていました。動くには動くのですが、アカウントごとにスイッチ先のIAMロールを個別に用意して管理しないといけないため、アカウントが増えるほどに管理も運用も大変になります。

今回はそこをIAM Identity Centerに置き換えて安全に、楽に管理運用したい!という内容です。

なお、本記事では外部IdP(OktaやEntra IDなど)との連携は扱いません。IAM Identity Centerで設定できる範囲内でのみ試した内容をまとめています。

本記事の情報は2026年9月時点のものです。
最新情報については公式ドキュメントをご確認ください。

前回までのおさらい

第1回・第2回では、個人アカウント1つを管理アカウントにして次の構成を作りました。

image.png

  • Root配下にSandbox OUを作成
  • 新規メンバーアカウントSandbox-ASandbox-Bを作成してSandbox OUへ移動
  • Sandbox OUに、SCP(envタグなしのLambda関数作成を拒否)とタグポリシー(envタグの値をsandboxに標準化)をアタッチ

第2回の時点で「OU配下で何ができるか」の統制はかかりました。ただ、その統制された環境に誰がどうやって入るかは手つかずのままです。今のところ、管理アカウントのIAMユーザーで一度ログインして、そこからOrganizationAccountAccessRoleにスイッチロールする、という導線しかありません。

本記事ではここにIAM Identity Centerを入れて、アクセスの入口を切り替えます。

この記事でわかること

  • Organizations環境でIAM Identity Centerを有効化する手順
  • Identity Center内蔵ディレクトリでユーザー・グループを作り、許可セット経由で複数のAWSアカウントにアクセス権を割り当てる手順
  • SCPがIAM Identity Center経由のアクセスにも有効かどうか

先に結論

IAMユーザー管理のアカウントをIAM Identity Centerへ移行し、動作確認をしました。
以下はざっくりとした比較表です

他アカウントへのログイン スイッチロール(第1回) IAM Identity Center(本記事)
ログインに使う認証情報 管理アカウントのIAMユーザー Identity Centerのユーザー
招待アカウントへのロール 手動で作成する 許可セットの割り当てで自動作成される
MFA IAMユーザーごとに設定する デフォルトで有効
権限を変えたいとき アカウントごとにIAMロールを編集 許可セットを1箇所直せば割り当て先すべてに反映

1. IAM Identity Centerとは

IAM Identity Centerのユーザーガイドには次のように書かれています(翻訳)。

AWS IAM Identity Center は、従業員ユーザーを Kiro や Amazon Quick などの AWS マネージド アプリケーションやその他の AWS リソースに接続するための AWS ソリューションです。既存の ID プロバイダーを接続してディレクトリからユーザーとグループを同期したり、IAM Identity Center でユーザーを直接作成および管理したりできます。その後、IAM Identity Center を以下のいずれか、または両方に使用できます。
・アプリケーションへのユーザーアクセス
・AWSアカウントへのユーザーアクセス

簡単にまとめると「複数のAWSアカウントとアプリケーションへのアクセスを、1つのIDで一元管理する仕組み」のようです。旧称のAWS Single Sign-On(AWS SSO)のほうが馴染みがある方もいるかもしれません。

用語整理

  • インスタンス:IAM Identity Center自体のデプロイ単位。Organizationsの管理アカウントで有効化する組織インスタンスと、メンバーアカウント単位のアカウントインスタンスの2種類があり、今回使うのは前者
  • IDソース:ユーザーをどこで管理するかを決める設定。外部IdP・Active Directory・Identity Center内蔵ディレクトリの3つがあり、今回は内蔵ディレクトリを使用
  • 許可セット:「どこまでできるか」をIAMポリシーのテンプレートとして定義したもの
  • 割り当て:許可セットを「誰が」「どのアカウントに」使えるかを紐づけたもの。割り当てると対象アカウント側にIAMロールが自動で作成される

image.png

料金はIAM Identity CenterのFAQに記載のとおり追加費用なしで使えます。Organizations自体も無料だったので、一人アドミンの練習台としては引き続きありがたい構成です。

組織インスタンスとアカウントインスタンス

組織インスタンスとアカウントインスタンスの公式ドキュメントによると、両者の違いは次のとおりです。

組織インスタンス アカウントインスタンス
有効化する場所 Organizationsの管理アカウント メンバーアカウント / スタンドアロンアカウント
複数アカウントへの権限付与 できる できない(そのアカウント内のアプリのみ)
数の制限 管理アカウントごとに1つ AWSアカウントごとに1つ(組織内の複数アカウントでそれぞれ作れる)

マルチアカウントに権限を配りたい今回の用途では、組織インスタンス一択です。アカウントインスタンスは「Organizationsを他部署が管理していて管理アカウントを触れないが、そのアカウントでAWSマネージドアプリケーションだけ使いたい」といったケース向けのようです。

2. 今回つくる構成

Sandbox OU配下の2アカウントに対して、Identity Centerのユーザー1人からアクセスできる状態を作ります。

image.png

概要

  • 管理アカウントでIAM Identity Centerを有効化する(組織インスタンス、リージョンは東京)
  • IDソースはIdentity Center内蔵ディレクトリのまま使う
  • ユーザーを1人、グループを1つ(SandboxAdmins)作り、ユーザーをグループに入れる
  • 許可セットを2つ作る
    • AdministratorAccess(事前定義済み):管理者用権限。検証等で自由に操作するとき用
    • PowerUserAccess(事前定義済み):よく開発環境等で用いられる許可セット。基本的なリソースの操作はできるが、IAMユーザー・グループの管理周りの変更ができない
  • SandboxAdminsグループに、Sandbox-ASandbox-Bの2アカウント分の割り当てを作る

ユーザーではなくグループに割り当てるのは、あとからユーザーが増えた時にグループへ入れるだけで済むからです(一人アドミンだとありがたみが薄いですが笑)。

前提条件

  • 第1回で作成した組織とSandbox OU、およびSandbox OU配下のメンバーアカウント2つ
  • 第2回でSandbox OUにアタッチしたSCPとタグポリシー(8. SCPはIdentity Center経由のアクセスにも有効かで使います)
  • 管理アカウントの認証情報(有効化・設定用)

3. IAM Identity Centerの有効化

管理アカウントでマネジメントコンソールにログインし、IAM Identity Centerのコンソールを開きます。

有効化する前に、画面右上のリージョンが意図したものになっているかを確認します。ここで選んだリージョンが組織インスタンスのプライマリリージョンになり、あとから変えたい場合はインスタンスごと削除して作り直しになります(参考)。今回は東京リージョン(ap-northeast-1)で作ります。

image.png

「インスタンス設定」でシングルリージョン・マルチリージョン・カスタムインスタンスの3種類から選び、「有効にする」をクリックします。マルチリージョンを選ぶとレプリケーション用にカスタマー管理のKMSキーが自動作成され、KMSの料金が発生します。個人検証なのでシングルリージョンを選びました。

image.png

有効化が完了すると、ダッシュボードの「AWS access portal URL」欄に3種類のURLが表示されます。

  • デュアルスタック: https://ssoins-xxxxxxxxxxxxxxxx.portal.ap-northeast-1.app.aws
  • Regional IPv4 URL: https://ssoins-xxxxxxxxxxxxxxxx.ap-northeast-1.portal.amazonaws.com
  • IPv4専用: https://d-xxxxxxxxxx.awsapps.com/start

image.png

このうちユーザーのログイン先として案内するのは、サブドメイン部分をカスタマイズできる「IPv4専用」のURLです。ランダムなIDのままだと覚えにくいので、ダッシュボードの「AWS access portal URL」欄にある「編集」からサブドメイン部分を好きな名前に変更できます。ただし公式ドキュメントにあるとおり一度設定すると変更できないので注意が必要です。

4. ユーザーとグループの作成

IDソースは内蔵のIdentity Centerディレクトリをそのまま使うので、追加の設定なしでユーザーを作れます。

グループの作成

先にグループを作ります。IAM Identity Centerコンソールの左メニューから「グループ」を開き、「グループを作成」をクリックします。

image.png

任意のグループ名(例: SandboxAdmins)と説明を入力して作成します。この時点ではメンバーがいないので、ユーザーは空欄のまま「グループを作成」をクリックします。

image.png

ユーザーの作成

左メニューの「ユーザー」を開き、「ユーザーを追加」をクリックします。

image.png

ユーザー名・メールアドレス・氏名を入力します。メールアドレスは招待メールの送信先になるので、実際に受け取れるアドレスにします。

パスワードの設定方法は「パスワードの設定手順が記載された E メールをこのユーザーに送信します」を選びます。もう一方の「ワンタイムパスワードを生成して...」を選ぶと、その場で初期パスワードが画面に表示されます。

image.png
image.png

次の画面で、さきほど作ったSandboxAdminsグループにチェックを入れてユーザーを追加します。

image.png
image.png

作成が完了すると、入力したメールアドレスに招待メールが届きます。

image.png

メール内のリンクから新しいパスワードを設定します。

image.png

MFAは、2023年11月16日以降に作成されたIAM Identity Centerインスタンスではデフォルトで有効になっているため、初回サインイン時にそのまま登録を求められます(MFAの公式ドキュメント)。

image.png

登録後はAWSアクセスポータルにページが遷移します。
現時点ではアカウントへの割り当てをしていないため何も表示されません。

image.png

5. 許可セットの作成

ユーザーができたので、次は「どこまでできるか」を定義する許可セットを作ります。

左メニューの「マルチアカウントのアクセス許可」→「許可セット」を開き、「アクセス許可セットを作成」をクリックします。

image.png

許可セットのタイプは「事前定義されたアクセス許可セット」と「カスタムアクセス許可セット」の2種類あります。前者はAWS管理ポリシーを1つ選ぶだけ、後者は複数のポリシーやインラインポリシー、アクセス許可境界を自分で組み合わせる形になります。今回はどちらも事前定義で作ります。

image.png

AdministratorAccessを選んで次に進むと、許可セット名とセッション期間を設定する画面に遷移します。

image.png

セッション期間はデフォルトが1時間で、最大12時間まで伸ばせます。ここで設定した時間を超えるとコンソールからサインアウトされ、入り直しになります。検証中に何度も入り直すのは面倒なので、AdministratorAccessのほうは少し長めにしました。

image.png

同じ手順でPowerUserAccessの許可セットも作ります。作り終えると、一覧に2つ並びます。

image.png

なお、この時点ではまだどのアカウントにも紐づいていないため、対象アカウント側にIAMロールは作られていません。ロールが作られるのは次の割り当てのタイミングです。

6. AWSアカウントへの割り当て

ユーザー(グループ)と許可セットが揃ったので、両者をAWSアカウントに紐づけます。
左メニューの「マルチアカウントのアクセス許可」→「AWSアカウント」を開くと、組織のOU構成がそのまま表示されます。(第1回・第2回で作ったSandbox OUと配下アカウントが表示されています。)

image.png

Sandbox-ASandbox-Bの両方にチェックを入れて、「ユーザーまたはグループを割り当て」をクリックします。

image.png

「グループ」タブからSandboxAdminsを選びます。

image.png

次に、割り当てる許可セットとしてAdministratorAccessPowerUserAccessの両方にチェックを入れます。

image.png

内容を確認して「送信」をクリックすると、対象アカウントへのプロビジョニングが始まります。

image.png

プロビジョニングが完了すると、対象アカウント側にAWSReservedSSO_AdministratorAccess_xxxxxxxxのような名前のIAMロールが自動で作られます。第1回で招待アカウントに手動でロールを作った作業が、ここでは割り当て操作だけで済んでいることになります。

image.png

AWSReservedSSO_で始まるロールはIAM Identity Centerの管理下にあり、IAMコンソールからは編集できません。権限を変えたい場合は許可セット側を修正します。

7. 動作確認: AWSアクセスポータルからログイン

設定が終わったので、実際にユーザーとしてログインしてみます。

3. IAM Identity Centerの有効化で確認したAWSアクセスポータルのURLをブラウザで開き、作成したユーザー名とパスワードでサインインすると、アクセスできるAWSアカウントの一覧が表示されます。

image.png

アカウントを展開すると、割り当てたAdministratorAccessPowerUserAccessが選択肢として並びます。ここから入りたい権限を選んでコンソールに移動する流れです。

image.png

image.png

管理アカウントに一度ログインしてからスイッチロールする、という往復がなくなり、ポータルから行きたいアカウントを直接選べるようになりました!
第1回で「ブラウザのプロファイルを分けた方が良い」と書いた問題も、ポータル1枚から複数アカウントを行き来できるので、だいぶ軽くなった感覚があります。

8. SCPはIdentity Center経由のアクセスにも有効か

ここが今回いちばん気になっていたところです。

第2回でSandbox OUに「envタグなしのLambda関数作成を拒否する」SCPをアタッチしました。今回作った許可セットはAdministratorAccess、つまりIAM上は何でもできる権限です。この状態でタグなしのLambda関数を作ろうとしたら、どうなるでしょうか。

第2回で書いたとおりSCPはIAMポリシーの上限として働くので、ブロックされるはずです。
ただ、Identity Centerが自動生成するロールでは試したことがなかったため実際に確かめてみます。

アクセスポータルからSandbox-AAdministratorAccessで入り、Lambdaコンソールからenvタグなしで関数を作成してみます。

image.png

そのまま「関数を作成」をクリックしたところ、しっかりブロックされました。第2回でスイッチロールから試したときと同じ、SCPによる明示的な拒否のメッセージが出ています。

image.png

許可セットがAdministratorAccessでもSCPでの制限が優先されるという当たり前といえば当たり前の結果なのですが、「アクセスの入口をIdentity Centerに変えても、第2回で敷いたガードレールはそのまま効き続ける」ことを確認できました。
統制の層(SCP)とアクセスの層(Identity Center)は独立して積み上がる、という整理ができた気がします。

なお、SCPが適用されないのは管理アカウントだけ、という第2回の仕様もそのままです。管理アカウントに対する許可セットの割り当てを作った場合、そこから入ってもSCPは効きません。

まとめ

第1回から第3回を通して、個人アカウント1つを起点に、組織の作成・SCPによる統制・IAM Identity Centerによるアクセス管理までを一人で一通り体験しました。

第1回の時点では「スイッチロールで入れるならこれでいいのでは」と思っていたのですが、実際に置き換えてみると印象が変わりました。ユーザーの管理は1箇所にまとまり、アカウントごとにロールを手で作る作業もなくなるなど、今回試した機能だけでもメリットを感じられました。

そして、SCPがIdentity Center経由のアクセスにも変わらず有効なことを自分の手で確認できたのも勉強になりました。「統制はOrganizationsのSCPで、アクセスはIdentity Centerで」と役割がしっかり分担されているので、アカウントの管理・運用時には気をつけたいと思います。

次はAWS Control Towerを試して、ここまで手作業で組み立ててきた構成がどこまで自動で用意されるのかを見てみたいと思います。あわせてAWS Configによる構成の継続的な監視にも挑戦して、もう少し本番運用に近いガバナンス構成に近づけていきたいと思います。


参考

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?