AWSでは、ユーザーが一時的に権限を切り替えるために、IAMロールを使用してAssumeRole機能を利用できます。この記事ではIAMロールを作成し、AssumeRoleによる権限切替を行うまでの手順をまとめています。
📌 手順概要
以下の流れで進めます。
- IAMロール作成
- ユーザー(またはグループ)にAssumeRoleポリシーを付与
- 権限切替(AssumeRole)の実施
① IAMロールを作成する
IAM画面からロールを新規作成し、「信頼されたエンティティタイプ」で「AWSアカウント」を選択、自分のアカウントIDを設定します。
信頼関係(Trust Relationship)JSONの例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::【自分のAWSアカウントID】:root" },
"Action": "sts:AssumeRole"
}
]
}
ロールの作成後、必要な権限(ポリシー)をロールにアタッチします。
② AssumeRole用のポリシーを作成してユーザーに付与
既存ユーザーに対してAssumeRole権限を付与するために、次のポリシーを作成します。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::【自分のAWSアカウントID】:role/【ロール名】"
}]
}
このポリシーをユーザーやグループに直接アタッチします。
③ ロール切替の実施(動作確認)
CLIでAssumeRoleを行う場合は、以下のコマンドを実行します。
aws sts assume-role \
--role-arn arn:aws:iam::【自分のAWSアカウントID】:role/【ロール名】 \
--role-session-name TestSession
マネジメントコンソール上での切り替えは以下のURLを利用できます。
https://signin.aws.amazon.com/switchrole?roleName=【ロール名】&account=【自分のAWSアカウントID】
✅ IAMロール切替の完成イメージ
IAMユーザー(AssumeRole権限を持つ)
└─ sts:AssumeRoleポリシー
└─ IAMロール(必要な権限を持つロール)
⚠️ ポイント
- ロールの信頼関係(Trust Relationship)設定は、切替元のアカウントやユーザーを正しく設定すること。
- IAMポリシー数(最大10個まで)に注意し、ポリシーを統合しましょう。
以上の手順で、簡単かつ安全にAWSでの権限切替(AssumeRole)が可能になります。