株式会社ヴァンデミックシステム

Blog

<スポンサーリンク>

普通にユーザーを作ります。
その時に、以下ポリシーを作成し、ユーザーにアタッチします。
このポリシーはまさにAssumeRoleをすることのみができる権限です。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "*"
        }
    ]
}

次にロールを作ります。
上記で作ったユーザーがこのロールにAssumeRoleすることになります。
そのため、操作に必要な権限はこのロールにアタッチします。

信頼されたエンティティに以下を設定します。上記のユーザーからのみの操作を信頼しているという意味になります。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::195341589990:user/yuta"
                ]
            },
            "Action": "sts:AssumeRole",
            "Condition": {}
        }
    ]
}

必要なポリシーをアタッチします。
この場合は、脳死でAdministartorを付けてしまってますが、限定できるならなるべくそのほうがいいと思います。

次はCLIの設定をしていきます。
~/.aws/credentialsに以下を書きます。

[vamdemic-yuta]
aws_access_key_id = AKIAxxxxxxxxxxxxxxx
aws_secret_access_key = 2Ixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
region = ap-northeast-1
output = json

 

~/.aws/configの方に以下を書きます。

[profile vamdemic]
role_arn = arn:aws:iam::195341589990:role/assume-role
source_profile = vamdemic-yuta

適当にCLIをたたいてみて帰ってくればOK。
profileで指定するのは、AssumeRole先のプロファイルを指定します。
あくまで指定したプロファイルでCLIを実行して、source_profileに指定しているユーザーから経由してくるというイメージだと思います。

aws s3 ls --profile vamdemic 

<スポンサーリンク>

コメントを残す

Allowed tags:  you may use these HTML tags and attributes: <a href="">, <strong>, <em>, <h1>, <h2>, <h3>
Please note:  all comments go through moderation.

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)