動機

Notionに日記ページを毎晩作るバッチを立てたくなった。

普段ならGCPにプロジェクト立てて構築するところだが、AWS Organizationを設定すればAWSアカウントをGCPのproject的に使えるらしい。これはやってみるしかねえよなあ!?

https://blog.jicoman.info/2021/06/why-persion-should-use-aws-organizations/

基本この記事を参考に作業してみる。

管理者アカウントの作成

AWS Organizationのページからアカウントを作る

たぶんルート的なアカウントになるので、アカウント名を「Root」にした。

が、どうやらすでに作られたことのあるメールアドレスらしい。(前職の福利厚生だったかな・・・)

スクリーンショット 2024-01-27 13.36.07.png

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

スクリーンショット 2024-01-27 13.41.31.png

IAM>セキュリティ認証情報からMFAの有効化もしておく。

AWS Oraganizationからアカウントを作成する

  • AWS Organizations > 組織の追加からアカウントを作成する。
  • IAMロールはデフォルトで設定されているOrganizationAccountAccessRoleを使ってみる
  • ルートユーザとは違うメールアドレスにしないとだめだった(そんな気はしていたが)
    • +<account-name>@gmail.comのエイリアスで作ることにした

とりあえずアカウントは作れたが、スイッチロールができない・・・?

スクリーンショット 2024-01-27 14.28.31.png

スイッチロールの設定

調べてみると、どうやらルートユーザではAssumeRoleができないらしい。

この機能はルートユーザ認証情報でログインした場合には利用できないので、マスターカウント内にIAMユーザを作成してログインしておく必要があります。

AWS Organizations を実際に初めてみる第一歩 - Qiita

ということでIAMユーザを作り、OrganizationAccountAccessRoleAssumeRoleできるポリシーを作成してアタッチする。(自分しか使わないから、IAMユーザに直接アタッチしちゃうよ)

スクリーンショット 2024-01-27 14.46.35.png

よしよし、スイッチロールのボタンは出てきた。

アカウント作成時に設定したOrganizationAccountAccessRoleを指定してスイッチロールしてみる。

スクリーンショット 2024-01-27 14.52.18.png

スクリーンショット 2024-01-27 15.04.37.png

完全に勝ち

あとルートアカウントのIAMユーザにもMFA設定するのを忘れずにね

Chrome拡張機能 AWS Extend Switch Rolesについて

  • そういえば会社でスイッチロールのChrome拡張機能入れてるけど、マネコンで事足りるんじゃね?って思った

  • 調べてみると、マネコンではロール履歴が5件までしか保持されないらしく、それ以上にスイッチロール先があるから拡張機能を入れてるんだと気づくことができた

    各種ブラウザでAWS Extend Switch Roles - Qiita

感想

  • 今の会社だとJoinした段階でスイッチロールできる設定してもらってたから、全然知らない世界を知れてよかった
    • 手順書の功罪・・・
  • ルートアカウントのルートユーザとIAMユーザの2つのMFAがAuthyに入ったのが認知負荷的にちょっと嫌
    • 会社のIAMユーザもAuthyにあるし・・・。
    • 全然関係ないけど「ルートアカウントのルートユーザ」って混乱する