IAM Identity Centerを使ってログインしてみた。

# 背景
IAM Identity Centerというのは一度の認証で複数のアカウントにログインができるということは理解していたが、漠然としていたためハンズオンを通じてもう少し自分なりに理解しようと感じました。学んだことを私なりに記事にしました。

# IAM Identity Centerとは
IAM Identity CenterとはAWS Organizationsで管理されている複数のアカウントがある環境下で各アカウントへのログインや権限の切り替えを簡単にすることができる機能を提供します。
AWS Single Sign-onの後継サービスらしいです。

### 図で説明
![AWS IAM Identity Centerとは.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/b5685e4b-9d50-9f3d-7732-bb6efe999075.png)

許可セットは各アカウントに対するアクセス権限をセットにしたものです。
例えば、「Account 1」と「Account 2」に対する「AdministratorAccess」や「ReadOnlyAccess」という権限のようなものをまとめたようなものです。私としてはIAMロールがまとめられていると認識しています。

# 実践してみた
ハンズオンを通して理解したかったので実際に試してみました。
**※アカウント名、ID,メールアドレス等の個人情報は見えないようにしていますので少し違和感があるかもですがご了承ください。**
## AWS Organizationsで有効化
AWS OrganizationsでIAM Identity Centerを有効にします。
AWS Organizationsを選択して【サービス】→【IAM Identity Center】といった流れで以下の画面に行くと思います。
![WS000001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/663f0c94-1b24-8e95-a4e0-a7069628e5ad.jpeg)

## IAM Identity Centerのコンソール画面
上部の検索タブで「IAM」と打てば「IAM Identity Center」が出てくると思うのでそれをクリックしてコンソール画面に移ります。
![WS000006.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/bccbff73-f6dc-9c27-9dc7-cd78055c59fd.jpeg)

## グループの作成
各ユーザーをまとめるためのグループを作成していきます。正直ユーザーから作成しても問題ないです。左タブの【グループ】を選択して、【グループ名】と【説明 - オプション】を入力していきます。これでグループの完成です。
![WS000015.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/8b6e323a-7a29-ad7f-b746-8450b96cced0.jpeg)


## ユーザーの作成及びグループへの追加
ユーザーを作成していきます。画面にある通り【ユーザー名】から【表示名】を記入していきます。【お問い合わせ方法 - 任意】から【追加の属性 - 任意】までは何も記入していません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/0bcd6f0a-9124-fb1c-d70d-5f9e3ccca964.png)
ユーザーを作成した流れで、グループに追加していきます。以下のように「次へ」を選択するとユーザーをグループに追加する画面が出てくるのでグループにつかしていきます。任意であるため必須ではないです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/f61fc961-28ed-425a-0561-4edc6750bfde.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/81792a67-7e69-5b34-7f0d-61e2c1828c0d.png)
最後に確認画面のような画面に切り替わるので【ユーザーを追加】を選択することでグループにユーザーが追加されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/f3050418-a1ab-c354-2351-db8711701368.png)
以下のようにグループにユーザが属していることが確認できました。
![スクリーンショット 2024-05-28 201102 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/dd11df5f-da8d-02d9-0b51-8c3eef748ae3.png)

## 許可セット

### 許可セットの作成
ここでは、アカウントにどんな権限でログインをするかの設定をしていきます。
【マルチアカウントのアクセス許可】の【許可セット】→【許可セットを作成】の流れで作成画面に移ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/15c91d5c-b940-d712-e2c9-839567a2924c.png)
次に許可セットタイプを選択していきます。カスタムで設定することもできますが、今回は事前に定義されたのを使用します。その中で、「AdministratorAccess」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/7a9718aa-0f97-1f94-4025-1a792fbf6632.png)
「許可セットの詳細」を記入していきます。【リレー状態 - オプション】については後日調べます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/4a946042-6372-6f61-bf50-5510bc5c6286.png)
その後確認画面に入るので【作成】を選択して完了です。
※この後**ReadOnlyAccess**の許可セットも作成しました。

### アカウントへの許可セットの割り当て
アカウントに対して先程作成した許可セットを割り当てていきます。
【マルチアカウントのアクセス許可】の【AWSアカウント】→【ユーザーまたはグループの割り当て】の流れで作成画面に移ります。
![スクリーンショット 2024-05-28 202642.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/ef835857-17b9-8554-73b6-9dfd2925bef3.png)

次にグループをアカウントに当てていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/15d6207f-a4cc-16f4-ec57-ac8c40bf9a93.png)
次に許可セットをアカウントに当てていきます。
![スクリーンショット 2024-05-28 214733.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/103678c0-d336-c612-5662-c002b84bc7e8.png)
その後、確認画面が出てくるので「送信」を選択することで作成が完了します。

## サインイン
ユーザーの作成の際にメールアドレスを入力したと思いますにでメールを確認して初期パスワードを設定していきます。
![招待.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/2264ac22-c0a2-81e1-a029-ac16876494b0.png)
その後、パスワードを作成していき、サインインする画面に変わるのでサインインをしていきます。
※MFA認証を有効にした場合それを設定する画面に移ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/cbdde4ce-07b6-9ba6-f8b5-7941be1bb455.png)

パスワードを設定して、サインインをしたら以下のようにアカウントとそのアカウントに対する許可セットが表示されます。ここでは「ReadOnlyAccess」の許可セットを選択してみます。
![スクリーンショット 2024-05-30 063918.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/7579e6df-511c-7882-89c5-4d5e4a9b27b2.png)

サインインしたら画面右上に「ReadOnlyAccess」が表示されたことを確認できました。
試しにEC2インスタンスが作成できないことを確認します。
![readonly.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/3d566574-ce1f-f2dc-7e1f-a8e25b61b0cc.png)

ちゃんと「権限がないため操作できません」との旨エラーメッセージが出ていますね。
![ec2failed.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659733/7c9bb057-23f0-873d-1614-d0a560c71316.png)


# まとめ
IAM Identity Centerを導入することで、アカウント間や権限の切り替えの際にわざわざユーザー名やパスワードを入力しなくてよいのでスムーズに切り替えができるのだなと思いました。
個人利用ではあまり使うことはないと思いますが、今後仕事でAWSを使っていくことになりましたらIAM Identity Centerを導入するかもですので、今回の学習もとても役に立ちました。


# 参考文献
以下を参考にして学習しました。
ありがとうございます。
[IAM Identity Center とは何ですか?](https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/what-is.html)
[IAM Identity Centerを使って複数アカウント管理する。（その１：IAM Identity Centerでのログイン）](https://qiita.com/sakai00kou/items/086a12caa69a78c18f61#comment-a6562b9fc03f61b9dfa7)