EC2でIAMロールを使ってみる
今日はEC2インスタンスにIAMロールを設定したときのメモ。
IAMロールを作成する。
今回最初に作成したIAMロールは以下の通りです。
「AWS Service Roles」は「Amazon EC2」、「Select Policy Template」で、「Administratior Access」を選択しました。
※わざと権限を強くしています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" } ] }
動作を見る
次にEC2インスタンスを起動します。インスタンスの初回起動時に先ほど作成したIAMロールを適用しておきます。
既存のインスタンスにIAMロールを適用することは出来ないようで、新規にインスタンスを作成するときにIAMロールを適用します。
そして、awscliを使ってIAMロールの情報を取得してみます。
$ aws iam get-role --role-name=awscli { "Role": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Principal": { "Service": "ec2.amazonaws.com" }, "Effect": "Allow", "Sid": "" } ] }, "RoleId": "AROAIRHMLVIHPSKK6PT2M", "CreateDate": "2014-06-17T15:40:09Z", "RoleName": "awscli", "Path": "/", "Arn": "arn:aws:iam::375349571281:role/awscli" } }
ロールの情報が取得できたので、無事適用できた模様。
ロールの権限を変えてみる。
次にロールの権限を「Power Users Access」に変更。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "NotAction": "iam:*", "Resource": "*" } ] }
先ほどと同じようにawscliでIAMロールの情報を取得してみます。
$ aws iam get-role --role-name=awscli A client error (AccessDenied) occurred when calling the GetRole operation: User: arn:aws:sts::375349571281:assumed-role/awscli/i-7eeb3c55 is not authorized to perform: iam:GetRole on resource: role awscli
今度は拒否されました。
使いこなせば結構楽しいことが楽に出来そうです。
今日はこんなところで。