2011年4月8日金曜日

IAMユーザーにポリシーを設定して確認

スズキです。

ポリシーの確認は、APIレベルで行う必要がある場合があるので、
その場合は、言語のSDK(AWS SDK for PHP)で確認する必要があります。

前提として、"suzuki"っていうユーザーが"suz-lab"グループに属しているとします。

まずは、アクション"ec2:DescribeInstances"を許可するポリシーを適用します。

(Macで実行)
$ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
$ export AWS_IAM_HOME=/opt/aws/iam
$ cd /opt/aws/iam/bin
$ ./iam-groupaddpolicy --aws-credential-file /credentials.txt \
> -a ec2:DescribeInstances \
> -e Allow \
> -g suz-lab \
> -p policy01 \
> -r "*"

そして、下記のようなコードで確認します。
("ACCESS KEY/SECRET KEY"はこちらで発行するような"suzuki"のものを利用)


--------【PHP】--------
require_once("./sdk.class.php");
$ec2 = new AmazonEC2();
$ec2->set_region(AmazonEC2::REGION_US_E1);
$response = $ec2->describe_instances(array(
    'InstanceId' => 'i-XXXXXXXX'
));
var_dump($response);
--------

これで"status"が200で返ってくれば成功です。

必要なポリシーを調査するのがたいへん...
--------
http://www.suz-lab.com

0 コメント: