はじめに
「AWSでロールを切り替えるには、どこから操作すればいいの?」
「切り替えを試してもエラーが出る場合は、何を確認すればいい?」と迷っていませんか。
複数のAWSアカウントや権限を使い分けていると、別のロールで作業したくても、AWSマネジメントコンソールの入力項目や必要な権限が分からず迷うことがあります。
この記事では、AWSロールを切り替える手順と事前に確認する設定、切り替えできない場合に確認したいポイントを紹介します。
AWSのロールの切り替えとは?

AWSのロールの切り替えとは、現在サインインしているユーザーから別のIAMロールへ切り替え、そのロールに設定された権限でAWSのリソースを操作する仕組みです。
ここでは、ロールを切り替えることで利用できる権限がどのように変わるのかを説明します。
ロールを切り替えると利用できる権限が変わる
IAMロールへ切り替えると、その後は切り替え先のロールに設定された権限でAWSのリソースを操作します。
切り替え前のユーザーに許可されていた操作でも、ロール側に権限がなければ実行できません。
ロールを切り替えた後は、現在のロールにどのような権限が設定されているか確認してから操作すると安心です。
AWSでロールを切り替える前に確認すること
AWSでロールを切り替えるには、切り替え先を特定する情報と、ロールを引き受けるための権限設定が必要です。
ここでは、ロールを切り替える前に確認する3つの項目を順に説明します。
切り替え先のアカウントIDまたはエイリアスとロール名を確認する
ロールを切り替える前に、切り替え先AWSアカウントの12桁のアカウントIDまたはアカウントエイリアスと、IAMロール名を確認します。
アカウントIDまたはエイリアスが、切り替えたいAWSアカウントと一致しているか確認しましょう。
あわせてIAMに登録されているロール名を確認し、切り替え画面に同じ名称を入力します。
ロールを引き受ける権限が付与されているか確認する
現在利用しているIAMユーザーやロールに、切り替え先のIAMロールを引き受けるためのsts:AssumeRole権限があるか確認します。
sts:AssumeRoleが許可されていても、対象のResourceに切り替え先ロールのARNが含まれていなければ切り替えできません。
権限ポリシーを確認し、対象となるロールのARNまで正しく指定されているか確認しましょう。
切り替え先ロールの信頼関係を確認する
切り替え先のIAMロールでは、信頼ポリシーにロールを引き受ける側が指定されているか確認します。
信頼ポリシーではsts:AssumeRoleが許可され、Principalに対象のAWSアカウントやIAMプリンシパルが含まれている必要があります。
対象に含まれていない場合はロールへ切り替えられないため、権限とあわせて信頼関係も確認しておきましょう。
AWSマネジメントコンソールでロールを切り替える方法
AWSマネジメントコンソールでは、ロールの切り替え画面から切り替え先のアカウントとロールを指定して操作します。
ここでは、ロールの切り替え画面を開いてから元の環境へ戻るまでの手順を順に説明します。
ロールの切り替え画面を開く
AWSマネジメントコンソールへサインインし、画面右上のアカウントメニューを開きます。
メニューから「ロールの切り替え」を選択すると、切り替え先の情報を入力する画面が表示されます。
すでにロールを使用している場合も、アカウントメニューから別のロールへの切り替えを進めます。
アカウントIDまたはエイリアスとロール名を入力する
切り替え画面で、切り替え先AWSアカウントの12桁のアカウントIDまたはアカウントエイリアスを入力します。
続いてIAMロール名を入力し、内容に間違いがないか確認しましょう。
「ロールの切り替え」を選択すると、指定したロールへ切り替わります。
切り替え後のロールと権限を確認する
切り替えが完了したら、画面右上の表示から現在のロール名とAWSアカウントを確認します。
そのうえで使用するAWSサービスを開き、必要な操作ができるか確認しましょう。
操作できない場合は、切り替え先のロールに必要な権限が設定されているか確認します。
元のユーザーやロールに戻す
作業が終わったら、画面右上のアカウントメニューから元の認証情報へ戻るための項目を選択します。
切り替え後は、表示されているユーザー名やロール名を確認しましょう。
元の環境に戻ったことを確認できれば、ロールの切り替え作業は完了です。
AWSでロールの切り替えができないときの確認ポイント
AWSでロールを切り替えられない場合は、表示されている画面やエラーメッセージに応じて原因を切り分けます。
ここでは、ロールを切り替えられないときに確認する項目を状況別に説明します。
「ロールの切り替え」が表示されない場合
アカウントメニューに「ロールの切り替え」が表示されない場合は、現在のサインイン方法を確認します。
IAM Identity Centerなど、認証方法によってはコンソール上のロール切り替えを利用できない場合があります。
現在使用しているユーザーやロールを確認し、その認証方法で切り替えが可能か確認しましょう。
IAM Identity Centerでサインインしている場合は、通常のIAMユーザーとの違いや権限の割り当て方法も確認しておくと、ロールを切り替えられない理由を判断しやすくなります。
▶AWS IAM Identity Centerとは?IAMとの違いや使い方をわかりやすく解説
AccessDeniedが表示される場合
AccessDeniedが表示された場合は、現在のIAMユーザーやロールにsts:AssumeRoleが許可されているか確認します。
あわせて、Resourceに切り替え先ロールのARNが指定されているかも確認しましょう。
それでも切り替えられない場合は、切り替え先ロールの信頼ポリシーに、現在のAWSアカウントやIAMプリンシパルが含まれているか確認します。
sts:AssumeRoleを確認しても解決しない場合は、IAMポリシーの権限設定そのものに問題がないか確認してみましょう。
▶AWSのIAMポリシーとは?権限設定の仕組みと確認方法を解説
指定したロールへ切り替えられない場合
指定したロールへ切り替えられない場合は、入力したAWSアカウントIDまたはアカウントエイリアスとIAMロール名を確認します。
入力内容に誤りがあると正しいロールを指定できないため、案内された情報と照らし合わせてみましょう。
入力内容が正しい場合は、対象ロールを引き受ける権限があるか確認します。
ルートユーザーで操作していないか確認する
ルートユーザーでサインインしている場合は、IAMロールへ切り替えることができません。
画面右上のアカウントメニューから、現在のサインイン方法を確認しましょう。
ルートユーザーを使用している場合は一度サインアウトし、必要な権限を持つIAMユーザーなどでサインインしてから切り替えます。
まとめ
AWSでロールを切り替えると、切り替え先のIAMロールに設定された権限でAWSのリソースを操作できます。
切り替える前に、12桁のAWSアカウントIDまたはアカウントエイリアスとロール名、sts:AssumeRoleの許可、切り替え先ロールの信頼関係を確認しておきましょう。
AWSマネジメントコンソールでは、「ロールの切り替え」からアカウントとロールを指定し、切り替え後に現在のロール名と必要な操作を実行できるか確認します。
切り替えできない場合は、サインイン方法、AccessDeniedの内容、入力したアカウントIDやロール名、ルートユーザーで操作していないかの順に確認すると原因を切り分けやすくなります。











