😸

【脱・ログイン地獄】AWSアカウントを「スイッチロール」で瞬時に切り替える魔法。まだChromeのタブを5個も開いてるの?

に公開

※本ページはプロモーションが含まれています
【この記事でわかること】

  1. スイッチロールを使えば、ログアウトせずに別のアカウントへ移動できる。
  2. パスワードは「1個」覚えるだけで、10個のAWS環境を管理できる。
  3. 仕組みは「AssumeRole」そのものである。

【追記】
この記事の「図解」が分かりやすい!と反響をいただいています。
「もっと他のサービスも図解で見たい」という方は、AWSの主要サービスを図解した以下の本もあわせてどうぞ!
(現在、一部無料試し読み公開中です👇)

https://zenn.dev/miyaco_log/books/d26a6fe78b33e9

はじめに:Chromeのタブ、いくつ開いてますか?

「開発環境のS3を見たいから、ログイン。」 「あ、本番のCloudWatchも見なきゃ。一度ログアウトして、本番のIDでログイン…」 「シークレットウィンドウを開いて、別のIDでログイン…」

その作業、人生の無駄です。

AWSには、「スイッチロール(Switch Role)」という神機能があります。 これを使えば、ワンクリックで、忍者のようにアカウント間を飛び回ることができます。

前回の記事で「プロはIAMユーザーを使わない」と書きましたが、今回はその「ブラウザ編」です。

1. 「鍵のジャラジャラ持ち」をやめよう

多くのアカウントを持っている人は、こんな状態になっていませんか?

  • アカウントAのID/パスワード
  • アカウントBのID/パスワード
  • アカウントCのID/パスワード...

これは、部屋ごとに違う鍵をジャラジャラ持ち歩いているのと同じです。管理も大変だし、どれか一つでも漏れたらアウトです。

スイッチロールを使うと、こうなります。

管理用アカウントのID/パスワード(これだけ!)
※もちろん、この1つのアカウントにはMFA(多要素認証)を必ず設定してください。
※このアカウント自体の権限は最小限にしておき、作業は必ずロールに切り替えて行うのがベストプラクティスです。

たった一つの「マスターキー(IAMユーザー)」でログインし、あとは許可された部屋(別のアカウント)へ「変身」して入室します。

▼ 【図解】ジャラジャラ鍵 vs スイッチロール

2. 仕組みは「AssumeRole」そのもの

「変身」と聞いてピンときた方。さすがです。 これは前回の記事で解説した「AssumeRole(帽子を被る)」というコマンド操作を、AWSが「マネジメントコンソール上でボタン一つでできるようにしてくれた機能」です。
https://zenn.dev/miyaco_log/articles/ebec1c1f64c046

  • ログイン: 自分のIAMユーザーで入る。
  • スイッチ: 右上のメニューから「ロールの切り替え」を押す。
  • 裏側の処理: AWSが勝手にSTSに「一時キー」をもらってきて、ブラウザの権限を書き換える。

やっていることはCLI(黒い画面)と同じ。 「自分は開発アカウントの管理者である」という帽子(ロール)を、本番アカウントの帽子に被り直しているだけなのです。

3. 設定のキモは「信頼関係」

これを実現するには、「飛び移りたい先のアカウント(Target)」で、「飛び移り元のアカウント(Source)」を許可する必要があります。

これが「信頼関係(Trust Relationship)」です。

  • 開発環境(移動先)の言い分: 「基本的には誰も入れないけど、『管理アカウントの田中さん(Source)』だけは、この管理者ロールを被ってもいいよ」

この設定を忘れると、スイッチしようとした瞬間に「Invalid permission(許可がありません)」と門前払いされます。

▼ 【図解】信頼関係のイメージ

4. 事故を防ぐ「色の設定」

スイッチロールには、地味だけど最強の機能があります。 「アカウントごとにテーマカラーを変えられる」ことです。

  • 本番環境: <span style="color:red">赤 (Red)</span>
  • 開発環境: <span style="color:green">緑 (Green)</span>
  • 検証環境: <span style="color:blue">青 (Blue)</span>

これを設定しておくと、スイッチした瞬間、画面上部のヘッダーバーの色が変わります。 「今、自分が本番にいること」が視覚的にわかるので、「開発環境だと思ってDBを消したら本番だった」というエンジニアが最も青ざめる事故を防げます。

絶対に、本番環境は「赤」にしてください。 これは先人の血の教訓です。

おわりに:ID管理を一箇所にまとめよう

今回紹介したのは「IAMスイッチロール」ですが、会社規模が大きくなると、これがさらに進化した**「IAM Identity Center(旧 AWS SSO)」**というサービスを使います。

ですが、基本の概念は同じです。 「ユーザー(自分)は一人。権限(ロール)を借りて作業する」

まずは個人のAWSアカウントや、小規模なチームで「スイッチロール」を設定して、タブ地獄から解放されましょう!

📚 AWSの「アカウント管理」で事故りたくない方へ

「スイッチロールの設定、JSONで書くのが怖い」 「IAM Identity Centerって結局なに?」

そんなアカウント管理のベストプラクティスを深く知りたい方には、こちらの本がおすすめです。

▼ AWSの薄い本Ⅱ アカウントセキュリティのベーシックセオリー
https://amzn.to/4jLE2OE

📕 【お知らせ】AWSを「絵」で攻略しませんか?

この記事の図解を面白いと思っていただけたなら、ぜひ私の自著も覗いてみてください。

本の中では、AWSの主要サービスを、この記事と同じ感じで専門用語を極力使わない図解スタイルで解説しています。

「文字を読むのが苦手だけど、AWSの全体像をサクッと掴みたい」という方にぴったりの一冊です。

▼ 絵で見てわかるAWS図解ノート(一部無料試し読みあり)
https://zenn.dev/miyaco_log/books/d26a6fe78b33e9

Discussion