IAMで作成したユーザーでAWS Management Consoleにログインする方法は、IAMで作成したアカウントでManagement Consoleにログインするまで(T_TANAKAさんのブログ)で詳しく説明されてますが、IAMを扱うツールがPHPだったため、以前にIAM Command Line Toolkitを使ってELBで利用したSSL証明書の確認で紹介したIAM Command Line Toolkitを利用した方法を試してみました。

IAMの導入に関して、Windows環境ではありますが、
IAM Command Line Toolkitを使ってELBで利用したSSL証明書の確認で紹介しています。
今回はMac環境での実行ですが、JAVA_HOMEとAWS_IAM_HOMEの設定も含め
やり方はほとんど同じです。

まずは、ユーザー(suzuki)の作成から行ってみます。

$ ./iam-usercreate --aws-credential-file credentials.txt 
> -u suzuki

次に、パスワードの設定です。

$ ./iam-useraddloginprofile --aws-credential-file credentials.txt 
> -u suzuki 
> -p xxxxxxxx

この状態で、下記のURLにアクセスするとIAMユーザー用のログイン画面が表示されます。
(000000000000はAWSのアカウント番号です)
https://000000000000.signin.aws.amazon.com/console/s3

ログインすると下記のようにS3のコンソールが表示されますが、
ポリシーが設定されていないので、何も出来ない状態です。

ということで、S3を利用出来るように設定してみます。

ポリシーの設定は、下記コマンドで可能です。

$ ./iam-useraddpolicy --aws-credential-file credentials.txt 
> -u suzuki 
> -p test001 
> -a s3:* 
> -e Allow 
> -r arn:aws:s3:::*

上記はS3に対するすべてのアクションをS3のすべてのリソースに対して許可しています。
(AWS Policy Generatorを利用すると、このあたりも簡単に作成できます。)

この状態で、再度S3のコンソールを確認すると、
下記のように、いつもの利用出来る状態が確認できます。

次は、S3のバケットやフォルダ単位でのアクセスコントロールを試してみます。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら