「おひとり様」AWS Organizationsを運用する

# はじめに

個人で AWS アカウントを運用するにあたり、IAM を含め、操作権限の設定は躓くところかと思います。

「個人で使うアカウントなら、特に細かい権限設定は必要ない」と考える人もいるかと思いますが、実務で使える技術を学びたいのであればその考えは甘いです。

本記事では、 **『個人の AWS アカウントを AWS Organization で管理して IAM Identity Center でシングルサインオンできるようにする方法』** を紹介します。
(簡単にいうと、共通ユーザで複数の AWS アカウントへログインする方法です。)

# 個人アカウントを AWS Organizations で管理するメリット

ネットで検索すると色々なメリットが出てくると思いますが、個人アカウントにおける１番のメリットは **『複数アカウント運用の工数が削減できる』** ということです。

将来アカウントを複数持つ可能性がある場合、(_私でいうと無料利用枠がなくなったら、追加で新しいアカウントを作成するなど_) 各アカウントに対して一つずつ IAM ユーザやポリシーを設定するのは負担が大きくなってしまいますが、ポリシー設定を一元的に制御することで管理工数が削減できます。

公式サイトにも書いてあるとおり、追加料金なしで AWS Organizations を導入できます。

> Q: AWS Organizations の費用はどれくらいですか?
> AWS Organizations に追加料金は必要ありません。

https://aws.amazon.com/jp/organizations/faqs/

https://aws.amazon.com/jp/organizations/

# IAM Identity Center を使用して、シングルサインオンにするメリット

実際に個人で運用していて感じているメリットは以下のとおりです。

**【メリット 1】IAM ユーザの一元管理でできる**
複数の AWS アカウント間で IAM ユーザを一つの画面で簡単に管理できます。

**【メリット 2】アカウント間の切り替えが簡単**
スタートページが提供されるため、各 AWS アカウントへ簡単にアクセスできます。

AWS Organizations と同様に、追加料金なしで導入できます。

> Q: IAM アイデンティティセンターのコストはいくらですか?
> IAM アイデンティティセンターに追加料金は必要ありません。

https://aws.amazon.com/jp/iam/identity-center/faqs/

https://aws.amazon.com/jp/iam/identity-center/

# 設定手順

共通ユーザで複数の AWS アカウントへログインするには以下の手順で設定していきます。

1. AWS Organizations 組織の作成
2. IAM Identity Center のセットアップ
3. 許可セットの設定
4. 許可セットの割り当て
5. ログイン確認

実際に設定していきましょう。

# 1. AWS Organizations 組織の作成

- AWS コンソールの検索バーで「AWS Organizations」を検索します。
- [組織を作成する]をクリックします。
  ![](https://i.gyazo.com/cf84c0f38506ba564e8ffb2dbf9bcedc.png)

- 組織の作成が完了しました。
  [![Image from Gyazo](https://i.gyazo.com/875bc6ddf92f3ff59c9ddfe5963aea4b.png)](https://gyazo.com/875bc6ddf92f3ff59c9ddfe5963aea4b)
  
  :::note info
  複数アカウントを管理するときにはアカウントの追加を行いますが、現時点ではスキップします。
  :::

# 2. IAM Identity Center のセットアップ

- AWS コンソールの検索バーで「IAM Identity Center」を検索します。
- 画面右上のリージョンを「東京」に変更して、[有効にする]をクリックします。
  ![](https://i.gyazo.com/f1cf1f05d78b908c9d88488b5bc9f0a8.png)

- 「設定の概要」に AWS アスセスポータル(スタートページの URL)が表示されます。
- [アイデンティティソースを確認]をクリックします。
  [![Image from Gyazo](https://i.gyazo.com/8b8cb1b993885a82cfcdeebab859b154.png)](https://gyazo.com/8b8cb1b993885a82cfcdeebab859b154)

- アイデンティティソースが「Identity Center ディレクトリ」であることを確認します。
  [![Image from Gyazo](https://i.gyazo.com/6938ad3f19feb34b64e8f84938c36bb4.png)](https://gyazo.com/6938ad3f19feb34b64e8f84938c36bb4)

- シングルサインオンで使用するユーザを作成します。
- 必要項目を入力します。
  [![Image from Gyazo](https://i.gyazo.com/9f5d88cffc0844875e466ffd486f8fd0.png)](https://gyazo.com/9f5d88cffc0844875e466ffd486f8fd0)
  ![](https://i.gyazo.com/f8dbc3817d9d692d73752585e17fbf67.png)

- ユーザの作成が完了しました。
  [![Image from Gyazo](https://i.gyazo.com/fec06f007539f18e434b8ae98a376d77.png)](https://gyazo.com/fec06f007539f18e434b8ae98a376d77)

- ユーザの所属グループを作成します。
- 必要項目と追加ユーザを設定します。
  [![Image from Gyazo](https://i.gyazo.com/90d3525f1e62b9467a4993e89a5c35c2.png)](https://gyazo.com/90d3525f1e62b9467a4993e89a5c35c2)

# 3. 許可セットの設定

- [許可セット]→[許可セットを作成]をクリックします。
  [![Image from Gyazo](https://i.gyazo.com/23434778190fcf1dcda8869aac4f5a24.png)](https://gyazo.com/23434778190fcf1dcda8869aac4f5a24)

- 許可セットのタイプは「事前定義された許可セット」を選択します。
  [![Image from Gyazo](https://i.gyazo.com/549738652384fc07ce22b830972f3c8a.png)](https://gyazo.com/549738652384fc07ce22b830972f3c8a)
- AWS マネージドポリシーは今回は「PowerUserAccess」を選択します。
  [![Image from Gyazo](https://i.gyazo.com/146f97f152a664af45b451712c124585.png)](https://gyazo.com/146f97f152a664af45b451712c124585)

- 任意で許可セット名と説明を入力し、作成します。
  [![Image from Gyazo](https://i.gyazo.com/9144d6fdc588a5ac0160468366b24ecd.png)](https://gyazo.com/9144d6fdc588a5ac0160468366b24ecd)
  [![Image from Gyazo](https://i.gyazo.com/ddd4127cf12298bc6729fa61565db275.png)](https://gyazo.com/ddd4127cf12298bc6729fa61565db275)

# 4. 許可セットの割り当て

- [AWS アカウント]から「管理アカウント」となっている AWS アカウントにチェックし、[ユーザまたはグループを割り当て]をクリックします。
  [![Image from Gyazo](https://i.gyazo.com/989252adc962a5d3570d76a3d270d129.png)](https://gyazo.com/989252adc962a5d3570d76a3d270d129)

- 先ほど作成したグループを選択します。
  [![Image from Gyazo](https://i.gyazo.com/b9b636edf7b48b5709c7ef6c570f2265.png)](https://gyazo.com/b9b636edf7b48b5709c7ef6c570f2265)

- 先ほど作成した許可セットを選択します。
  [![Image from Gyazo](https://i.gyazo.com/43444b75728df968fce03f7453cf44cd.png)](https://gyazo.com/43444b75728df968fce03f7453cf44cd)

- 内容を確認し、[送信]をクリックします。
- 許可セットの割り当てが完了しました。
  [![Image from Gyazo](https://i.gyazo.com/c4208714fe77a0a1094785dd3b46de5b.png)](https://gyazo.com/c4208714fe77a0a1094785dd3b46de5b)

# 5. ログイン確認

- IAM Identity Center でユーザを作成した際に登録したアドレス宛に招待メールが届いているので、「Accept invitation」をクリックし、初回ログインを行います。
  [![Image from Gyazo](https://i.gyazo.com/853ce960afc0e27a70edc7c5b183815c.png)](https://gyazo.com/853ce960afc0e27a70edc7c5b183815c)
  [![Image from Gyazo](https://i.gyazo.com/22d76ac5907933ef0d79a8b0491499f5.png)](https://gyazo.com/22d76ac5907933ef0d79a8b0491499f5)

- スタートページに AWS アカウントの表示と設定した許可セットでのログインが可能になります。
  [![Image from Gyazo](https://i.gyazo.com/f4db5f49f1de7dba13ae10e223f67182.png)](https://gyazo.com/f4db5f49f1de7dba13ae10e223f67182)

# さいごに

AWS Organizations と IAM Identity Center の個人利用は最初のハードルが高いように感じられますが、複数の AWS アカウントに対するスタートページが統一されることで操作性が劇的に上がりました。

是非、「おひとり様 AWS Organizations」を導入することをオススメします。

:::note info
画像の中にはすでに許可セットが作成されているような画面もありますが、設定の流れに大幅な相違はないのでご安心ください。
:::

# 参考 URL

https://aws.amazon.com/jp/blogs/startup/techblog-iam-sso-practice/

https://blog.serverworks.co.jp/tech/2020/03/06/sso/