I’m hungry

おもにAmazonでの衝動買いや技術的な話をぼちぼちと。

Amazon S3のバケットに特定のユーザだけアクセスさせたい時どうするかメモ

2011-07-01 14:35:30 | ネットサービス/テクノロジ
S3を設定したときのメモ書き

S3は「バケット」を作成してObjectをPUT/GET/DELETEする。
AWS Management ConsoleのS3タブから作成する。


■バケット毎にアクセス制御したいとき

普通のログインアカウント(契約してるメールアドレス)のアクセスキーだと
基本なんでもできてしまうので開発を別の人にやってもらうとかの場合使えない。
(別でなくてもセキュリティ的に問題だと思うけど)

Management ConsoleからIAM(Identity and Access Management)タブを選択して
ユーザ/グループを作成し、バケットに対するアクセス権限を付与してやればよい。ような気がする。
(※どんな設計にすればいいのか正解がわからない)

ユーザにはAmazonが用意しているパーミッション

・Administrator User
・Power User
・Read Only User

などがあるが、今回のように「S3に存在する特定のバケットにだけアクセスさせたい」という
ケースの場合は個別にセキュリティポリシーを作成して設定することができる。

セキュリティポリシーは

AWS Policy Generator
http://awspolicygen.s3.amazonaws.com/policygen.html

で作成することができる。

今回の場合はこんな流れ。

・Type of Policyは「IAM Policy」を選択
・EffectはAllow、AWS ServiceはAmazon S3を選択
・ActionsでListAllMyBucketsを選択。
・Amazon Resource Name(ARN)には、 arn:aws:s3:::* と記入。「Add Statement」をクリック。
・ActionsでListBucketとGetBucketLocationを選択。
・ARNは arn:aws:s3:::バケット名 と記入。「Add Statement」をクリック。
・ActionsでAll Actionsをチェック。ARNは arn:aws:s3:::バケット名/* と記入。「Add Statement」をクリック。

※ポリシーはJSON形式で出力され、それをIAMでインポートする。

設定に関しては
http://blog.dateofrock.com/2011/04/s3iam.html
が凄く役に立った。



Comment    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« redmineインストールメモ | TOP | firefox5でリロードボタンを... »
最新の画像もっと見る

post a comment

ブログ作成者から承認されるまでコメントは反映されません。

Recent Entries | ネットサービス/テクノロジ