47
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IAM Identity Centerを使って複数アカウント管理する。(その1:IAM Identity Centerでのログイン)

Last updated at Posted at 2023-03-25

はじめに

仕事で初めてIAM Identity Centerを使う機会があり、使ってみたらマルチアカウントの管理が想像以上にやりやすかったので、紹介しようと思います。

IAM Identity Centerとは

AWS Single Sign-onの後継サービスとなり、AWS Organizationsで複数アカウントを運用している環境で各ユーザを集約管理し、各アカウントへのログインを簡単に行えるようにするためのサービスです。

前提として、AWS Organizationsを使用していることが条件となるため、AWS Organizationsを使っていない場合はIAM Identity Centerは使えません。

シングルサインオンは認証関連の連携を行う必要があり、個人的に嫌煙していたのですが、IAM Identity Centerは、単純な構成で使う分には簡単な設定を行うだけで複数アカウントの管理が行えるので、そのような環境の場合はぜひ導入を検討してみてください。

IAM Identity Centerの構成

AWS Organizationsで以下のようなアカウントを管理している場合、IAM Identity Centerを導入することで、いちいちアカウントごとのログインページからログインしたり、あるアカウントからスイッチロールしたりしなくても、IAM Identity Centerのポータル画面から簡単に複数のアカウントにログインすることができるようになります。

IAM_IdentityCenter構成.png

IAM Identity Centerの設定

以下より実際にIAM Identity Centerの設定を行っていきます。

IAM Identity Centerの有効化

ルートアカウントにてIAM Identity Centerの画面から「有効にする」を選択するだけで有効化できます。

Monosnap_20230315_091520.png

多要素認証の設定

IAM Identity Centerの「設定」 →「認証」→「多要素認証」の「設定」より多要素認証(MFA)の設定が行えます。

IAM Identity Center全体の設定となるため、ユーザごとに設定を変更することはできませんが、以下のようにサインイン時にMFA登録を要求することができるので、AWS OrganizationsSCPやIAMロールで権限設定せずとも、簡単にログインユーザ全員にMFAを強制できるため、全体の統制を取るためにも有用です。

今回は以下のように「サインイン時にMFAデバイスを登録するよう要求する」を選択し、MFAを強制しようと思います。

Monosnap_20230315_100329.png

ユーザとグループの作成

IAM Identity Centerのユーザ・グループを作成していきます。

IAM Identity Centerのユーザ・グループは、各アカウントで作成するIAMユーザ・グループとは異なるため、IAM Identity Centerでユーザ・グループを作成しても、各アカウント側にはIAMユーザ・グループは作成されません。

接続構成としてはIAM Identity Centerから各アカウントに内部的にスイッチロールで接続することで、各アカウント側にはユーザ・グループの作成は行われず、IAM Identity Centerで集中管理できるようになっているようです。

IAM Identity Center」→「ユーザー」の「ユーザーを追加」からユーザを登録します。

Monosnap_20230315_094402.png

ユーザの作成は、以下の項目が必須項目となるため、各ユーザごとにそれぞれ登録を行います。

また、必須項目以外にも、「お問い合わせ方法」、「ジョブ関連情報」、「アドレス」、「環境設定」、「追加の属性」をオプションとして登録できるため、必要に応じて登録を行い、「次へ」を選択します。

Monosnap_20230315_094449.png

まだグループを作成していない場合、以下の画面からグループを作成できるので、「グループを作成」を選択して、グループを作成します。

Monosnap_20230315_094954.png

別タブでグループ作成の画面が開くため、グループ名を指定し、「グループを作成」を選択します。

Monosnap_20230315_095120.png

グループを作成したら、ユーザ作成画面に戻り、リロードボタンを選択すると作成したグループが表示されるので、グループ名を選択し、「次へ」進みます。

Monosnap_20230315_095324.png

確認画面で問題なければ「ユーザーを追加」でユーザ作成します。

作成後、登録ユーザに以下のようなメールが届くため、「Accept invitation」を選択します。

Monosnap_20230315_095802.png

Accept invitation」を選択することで、初期パスワード設定画面が開くため、各ユーザ側でパスワード設定してもらいます。

Monosnap_20230315_100037.png

ちなみに、ユーザ作成時、「このユーザーと共有できるワンタイムパスワードを生成します。」を選択した場合は以下のような画面が表示されます。

Monosnap_20230315_101649.png

ただし、IAM Identity Centerからのメール検証が必要となるため、その場合はユーザの詳細画面から「Eメール検証リンクを送信」で検証を行います。

Monosnap_20230315_102126.png

許可セットについて

許可セットはIAMユーザやグループに割り当てるIAMポリシーと同等の役割を持つ機能となりますが、違いとしては、1つの許可セットで複数のアカウントを結びつけることができるため、各アカウント側でいちいちAdministratorAccessポリシーやReadOnlyAccessポリシー等を作成する必要がありません。

また、ユーザやグループに許可セットを割り当てる際、複数の許可セットを割り当てることもできるため、例えば設定作業用のフルアクセスポリシーと設定確認用のリードオンリーアクセスポリシー両方を付与して、作業時以外はリードオンリーアクセス権限を持つ許可セットでアクセスし、作業時のみフルアクセスを持つ許可セットでアクセスするといったことも簡単に実装可能です。

今までは各アカウントごとにIAMポリシーを作成していたのが、IAM Identity Centerで集約管理することができるので、権限設定の見通しもよく、あるアカウントだけ権限設定を忘れたといった事態も軽減できるかと思います。

許可セットの紐付け.png

許可セットの作成

マルチアカウント許可」→「許可セット」より「許可セットを作成」を選択し、許可セットを設定していきます。

Monosnap_20230315_104113.png

許可セットのポリシーはプリセットとして用途ごとに作成されたAWSマネージドポリシーを選択することもでき、「カスタム許可セット」から細かくポリシーを作成することもできます。

今回は「事前定義された許可セット」から「AdministratorAccess」を選択し、進めていきます。

Monosnap_20230315_104152.png

許可セット名やセッション期間などを設定し、次へ進みます。

また、「リレー状態の設定」は、ログインして各AWSアカウントにアクセスする際、通常はAWSマネジメントコンソールのトップ画面に遷移しますが、例えば請求画面を直接表示させたい場合などに、ここにURLを指定することでトップ画面が請求画面になるそうです。

Monosnap_20230315_104303.png

後の手順で使おうと思うので、同じように「ReadOnlyAccess」の許可セットも作っておきます。

AWSアカウントとの結びつけ

先程作成したユーザ・グループ、許可セットとAWSアカウントを結びつけていきます。

マルチアカウント許可」→「AWSアカウント」からユーザ・グループ、許可セットを結びつけたいAWSアカウントを選択して「ユーザーまたはグループを割り当て」を選択します。

Monosnap_20230315_115049.png

結びつけるユーザ、またはグループを選択できるので、任意のユーザもしくはグループを選択し、「次へ」を選択します。

Monosnap_20230315_115315.png

結びつける許可セットを選択します。

Monosnap_20230315_115922.png

下の画面のあと、確認画面が表示されるため、「送信」を選択することで、ユーザ・グループ、許可セットとAWSアカウントの結びつけができます。

AWSアカウント」の画面に戻ると、どのアカウントにどの許可セットが割り当てられているかが確認できるので、想定の許可セットが割り当てられているかはこちらから確認します。

Monosnap_20230315_120447.png

また、割り当てられたユーザ・グループは、少し分かりづらいですが、「マルチアカウント許可」→「AWSアカウント」→任意のアカウントの詳細画面→「ユーザーとグループ」タブから確認できます。

Monosnap_20230315_121315.png

MFAデバイスの登録

初期パスワード設定時に送付されたメールアドレスに記載されているURLにアクセスすることでIAM Identity Centerのログイン画面が開きます。

また先程の設定よりMFA登録を要求するようにしていると、以下のようにMFAデバイス登録が促され、登録しないと先に進めないため、全ユーザにMFAを強制することができます。

Monosnap_20230315_102546.png

IAM Identity Centerへのログイン

MFAデバイス登録後、IAM Identity Centerにログインすると各アカウントにログインするためのポータル画面が表示されます。

アクセスしたいアカウント、および許可ポリシーの「Management console」を選択することで、指定のアカウントのAWSマネジメントコンソールへ遷移します。

今回の場合、ルートアカウントとメンバーアカウントにAdministratorAccessReadOnlyAccessの許可セットをそれぞれ結びつけているため、以下のように表示されます。

もちろん、結びつけたユーザ・グループごとに画面表示も変わってくるため、あるユーザはメンバーアカウントとReadOnlyAccessしか表示されなかったり別の許可セットが表示されたりします。

Monosnap_20230315_132741.png

おわりに

今回はIAM Identity Centerの基本的な設定を行い、実際にユーザログインするところまで実施しました。

複数アカウントそれぞれにユーザ・グループ設定やIAMポリシー設定を行い、運用している方や、スイッチロールでいくつものアカウントを行き来している方は、IAM Identity Centerを導入することで、今までの運用が大分改善されることが、今回の記事だけでも感じ取って頂けたかと思います。

次回はコマンドラインのやり方についてまとめてみようと思います。

47
34
5

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
47
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?