運用保守作業にスイッチロールを導入!概要と設定方法まとめ

おつかれさまです。あきお(@akio_furutimes)です。

プロジェクト内で「AWSコンソールでの作業が適切な権限で行えていない。」という課題がありました。以下のルールがありましたが、メンテナンス作業の増加やIAMユーザーを切替える手間により、常時メンテナンス用のIAMユーザーを使う状況でした。

  • インスタンス停止や設定変更以外は参照用IAMユーザーを使用
あきお
ちなみに、個々にメンテナンスと参照用のIAMユーザーがあります。

この状況は自ら地雷を踏みにいくようなもので、検証環境と本番環境を間違える危険が常に付きまといます。そこでスイッチロールというサービスを導入しました。

これにより、IAMユーザーを切替える手間が減り、適切な権限で作業ができるようになりました。今回はそんなスイッチロールの概要と設定内容をまとめていきます。

スイッチロールとは

スイッチロールとは1つのアカウントで、複数のロールへの切替えが可能になるサービスです。

あきお
図解した方がわかりやすいので以下にまとめました。

スイッチロールを使わない場合

ユーザーは用途に応じて特定の権限を持つユーザーにログインします。参照用からメンテナンス用に切替えたい場合は、一度ログアウトしてからログインが必要です。

スイッチロールを使った場合

ユーザーは作業アカウントでログインして特定の権限を持つロールを設定します。参照用からメンテナンス用に切替えたい場合は、ロールを切替えるだけです。

あきお
ユーザー管理とアカウント切替えの手間が軽減するため、作業工数が削減が見込まれます。

設定方法

スイッチロールを使った場合の構成図に合わせて以下2つのロールを作成します。

  • M-SWITCH-ROLE(メンテナンス用ロール)
  • R-SWITCH-ROLE(参照用ロール)

M-SWITCH-ROLE(メンテナンス用ロール)

コンソールからIAMの設定画面に移動します。ロールを選択しロールを作成していきます。

別のAWSアカウントを選択してコンソールのアカウントIDを入力し次に進みます。ポリシーには管理者権限のAdministratorAccessを設定しました。

ロール名とロールの説明にM-SWITCH-ROLEを入力してM-SWITCH-ROLEの作成完了です。

R-SWITCH-ROLE(参照用ロール)

M-SWITCH-ROLEと同様にロールを選択しロールを作成していきます。

別のAWSアカウントを選択してコンソールのアカウントIDを入力し次に進みます。ポリシーには参照権限のReadOnlyAccessを設定しました。

ロール名とロールの説明にR-SWITCH-ROLEを入力してR-SWITCH-ROLEの作成完了です。

スイッチロール設定

AWSのコンソール画面トップに戻り、ユーザー名をクリックします。メニューの中のロールの切り替えを選択します。

あきお
このロールの切り替え画面で先ほど作成した2つのロールを設定します。

アカウントにアカウントID、ロールにはM-SWITCH-ROLEを入力します。表示名はわかりやすいようM-SWITCH-ROLE@メンテナンス用ロールとしました。色は赤を選択しています。

ロールの切り替えを押すとこのように今設定しているロール名が表示されます。これでロールの設定は完了です。

R-SWITCH-ROLE(参照用ロール)もM-SWITCH-ROLEと同様に設定し、色は青を選択しました。

あきお
ユーザー名をクリックすると設定した2つのロールが表示されています。

まとめ

このようにロールで権限を分割することでユーザー管理とアカウント切替えの手間が軽減されました。現在運用のルールとして以下を決めました。

  • メンテナンス作業以外はログイン後参照用ロールに切替える
  • メンテナンス用ロールでの作業は2人作業

まだまだ課題は多くありますが、誤作業をしても影響を最小限に抑える設計を目指します。

それでは、おつかれさまでした。

スイッチロールまとめ
スイッチロールまとめ
AWS公式ドキュメントのロール切り替えまとめ
この記事が気に入ったらフォローしてね!