1
/
5

AWS CLIで簡単にAssumeRole(スイッチロール)

マネジメントコンソールでスイッチロールができることは、皆さまご存知と思います。
IAM Userにsts:AssumeRoleの権限を与えることで、IAM Roleの権限を引き受けることができます。


AWS CLIでも、もちろん同じことができます。

1. credentialsファイルの編集

ファイル「~/.aws/credentials」が無ければ作成し、以下のように記述(追記)する。

[default]
aws_access_key_id = AKIAXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

※自分のIAM Userのクレデンシャルを記載

2. configファイルの編集

ファイル「~/.aws/config」が無ければ作成し、以下のように記述(追記)する。

[profile tempsession]
role_arn = <引き受けるIAMロールのARNを記載>
source_profile = default

※tempsessionはプロファイル名であり任意
※source_profile = 以降の内容は、元となるプロファイル名(「~/.aws/credentials」に記述されているもの)なのでdefault以外を指定も可

3. CLI実行

AssumeRoleしてAWS CLIを実行したいときは以下のように–profileオプションをつけて実行する。

aws s3 ls s3://bucketname --profile tempsession 
#もしくは
aws --profile tempsession s3 ls s3://bucketname

あるいは環境変数AWS_DEFAULT_PROFILEを設定すれば、毎回–profileオプションを設定しなくてもよい

export AWS_DEFAULT_PROFILE=tempsession
aws s3 ls s3://bucketname
株式会社サーバーワークスでは一緒に働く仲間を募集しています
同じタグの記事
今週のランキング