通常の複数のAWSアカウントの管理方法
課題
- 同一のシステムのランドスケープを複数のAWSアカウントに分けているような場合、IAMユーザーを別々に発行してログイン、ログアウトして環境を切り替えるのは面倒です。
Switch Role方式
- 「IAMユーザーは1つのアカウントだけで発行」し、スイッチ先では「信頼するAWSアカウントの特定のユーザーに付与してよいIAM Roleを発行」することで、一つの入り口から複数の環境に切り替えて操作が可能です。
やってみよう Let's do it!
それでは上記の「Switch Role方式」の図にある構成を用いて、実際に設定してみましょう。
1. スイッチ先でロールを作成する
まずはスイッチ先である本番アカウント側で、スイッチ元に権限移譲するロールを作成します。
IAM画面に移動し、左のロールのペインからロールの作成を押下して進めていきます。
1-1. ロール名を入力する
1-2. クロスアカウントアクセスのロールを選択する
1-3. 権限を付与するアカウントIDを入力する
1-4. アクセスポリシーを設定する
1-5. 内容を確認してロール作成
2. スイッチ元でロールを設定する
続いて開発アカウントに移動して、Switch Roleできるように設定します
2-1. インラインポリシーを選択してカスタムポリシーを作成する
2-2. カスタムポリシーを入力し、Resource部分に1で作成したロールのARNを入力する
2-3. Switch Role(ロールの切り替え)の設定をする
2-4. ロールの切り替えを選択する
2-5. ロールの情報を入力して切り替え設定をする
2-6. ロールの切り替えが行われる
その他考慮ポイント
MFAのつけどころ
1-3でスイッチ時にMFAがつけられると紹介しましたが、どこでMFAをかけるかはどこのセキュリティレベルを上げるか、同一レベルとするかの考え方によって以下のようなつけどころが変わるかなと思います。
- 開発アカウントへのログイン時のみ(スイッチする際はMFA不要)
- 開発アカウントへのログイン時、およびデモ用/本番用へのスイッチ時にも
- 開発アカウントは不要、デモ用/本番用へのスイッチ時のみ