動機
Notionに日記ページを毎晩作るバッチを立てたくなった。
普段ならGCPにプロジェクト立てて構築するところだが、AWS Organizationを設定すればAWSアカウントをGCPのproject的に使えるらしい。これはやってみるしかねえよなあ!?
https://blog.jicoman.info/2021/06/why-persion-should-use-aws-organizations/
基本この記事を参考に作業してみる。
管理者アカウントの作成
AWS Organizationのページからアカウントを作る
たぶんルート的なアカウントになるので、アカウント名を「Root」にした。
が、どうやらすでに作られたことのあるメールアドレスらしい。(前職の福利厚生だったかな・・・)

メールアドレスに+1というようにエイリアスつけて登録したら通った。よかった。

IAM>セキュリティ認証情報からMFAの有効化もしておく。
AWS Oraganizationからアカウントを作成する
- AWS Organizations > 組織の追加からアカウントを作成する。
- OUってOraganization Userかと思ったらOraganization Unit(組織単位)だった
- 作ったアカウントのルートユーザパスワードはランダムに生成されるので、ログインするときは復旧プロセスを経る必要があるみたい
- IAMロールはデフォルトで設定されている
OrganizationAccountAccessRoleを使ってみる - ルートユーザとは違うメールアドレスにしないとだめだった(そんな気はしていたが)
+<account-name>@gmail.comのエイリアスで作ることにした
とりあえずアカウントは作れたが、スイッチロールができない・・・?

スイッチロールの設定
調べてみると、どうやらルートユーザではAssumeRoleができないらしい。
この機能はルートユーザ認証情報でログインした場合には利用できないので、マスターカウント内にIAMユーザを作成してログインしておく必要があります。
ということでIAMユーザを作り、OrganizationAccountAccessRoleをAssumeRoleできるポリシーを作成してアタッチする。(自分しか使わないから、IAMユーザに直接アタッチしちゃうよ)

よしよし、スイッチロールのボタンは出てきた。
アカウント作成時に設定したOrganizationAccountAccessRoleを指定してスイッチロールしてみる。


完全に勝ち
あとルートアカウントのIAMユーザにもMFA設定するのを忘れずにね
Chrome拡張機能 AWS Extend Switch Rolesについて
-
そういえば会社でスイッチロールのChrome拡張機能入れてるけど、マネコンで事足りるんじゃね?って思った
-
調べてみると、マネコンではロール履歴が5件までしか保持されないらしく、それ以上にスイッチロール先があるから拡張機能を入れてるんだと気づくことができた
感想
- 今の会社だとJoinした段階でスイッチロールできる設定してもらってたから、全然知らない世界を知れてよかった
- 手順書の功罪・・・
- ルートアカウントのルートユーザとIAMユーザの2つのMFAがAuthyに入ったのが認知負荷的にちょっと嫌
- 会社のIAMユーザもAuthyにあるし・・・。
- 全然関係ないけど「ルートアカウントのルートユーザ」って混乱する