AWSで運用を始めると、開発環境と本番環境でAWSアカウントを分けて利用することがあるかと思います。複数アカウントで作業を始めると切り替えが、かなり面倒になってきますよね。
そこで、AWSにはスイッチロールという仕組みがあるので、ちょっと試してみましょう。
スイッチロールとは
所有する異なるAWSアカウントでクロスアカウントアクセスを設定することで、あるアカウントからサインアウトして別アカウントへサインインする必要が無くなります。また、アカウントごとにIAMユーザーをを作成する必要がなくなります。
公式ドキュメントの "IAM チュートリアル: AWS アカウント間の IAM ロールを使用したアクセスの委任"で上記のように説明されています。
この記事で行うこと
2つのAWSアカウントの間でクロスアカウントアクセスの設定をおこない、スイッチロールできるようにします。
具体的には、BアカウントでIAMロールを作成し、Aアカウントからスイッチロールできるようにします。
事前に決めておくこと
Bアカウントで作成するIAMロールへアクセス権限を設定するため、必要な権限を決めておくこと。
スイッチロールを作成する手順
それぞれのアカウントで以下の作業をおこないます。
Bアカウント(切り替え先のアカウント)で行う作業
- Bアカウントへログイン
- IAMのコンソールを開く
- IAMロールを作成する
- 作成されたロールを確認する
- Bアカウントからログアウトする
Aアカウント(切り替え元のアカウント)で行う作業
- Aアカウントへログインする
- 右上のメニューからロールの切り替え
- スイッチロールする情報を入力する
- ロールを切り替える
実際に作成してみましょう
Bアカウント(切り替え先のアカウント)へ設定する
Bアカウントへログイン
IAMのコンソールを開く
IAMロールを作成する
信頼されたエンティティとして別のAWSアカウントで作成する
別のAWSアカウント
を選び、アカウントID
へAアカウント(切り替え元となるアカウント)のID(12桁)を入力しましょう。
付与するアクセス権限ポリシーを選ぶ
スイッチロールした際に許可するアクセス権限ポリシーを選択しましょう。
タグを追加する
ロール名などを設定する
ロール名
を決めます。このロール名は、スイッチロールする時に指定するため、わかりやすい名前にしておくことをオススメします。ロールの説明
は、IAMコンソールの一覧で表示されるため、目的を簡潔に記述しておくことをオススメします。
信頼されたエンティティ
とポリシー
へ設定した値が表示されていることを確認してください。
作成されたロールを確認する
Bアカウントからログアウトする
Aアカウント(切り替え元のアカウント)で切り替えてみる
Aアカウントへログインする
右上のメニューからロールの切り替え
をする
スイッチロールする情報を入力する
アカウント
には、Bアカウント(切り替え先のアカウント)のID(12桁)を入力しましょう。
ロール
には、Bアカウントで作成したIAMロールのロール名を入力しましょう。
表示名
は、適当な名称でOKです。切り替えた際に右上メニューに表示される名称になります。
色は、右上メニューへ表示された時の背景色になります。大事なスイッチ先の場合は、赤にするとか決めるとアカウントが複数になった場合でもわかりやすくなります。
ロールを切り替える
ロールの切り替え
でBアカウントへ切り替わったでしょうか?
切り替わると、右上メニューへ先程入力した表示名
の名称が表示され、現在アクティブです。
へBアカウントのIDとロール名が表示されるようになります。