WEB開発備忘録

AWS/S3へAPI経由でファイル操作するためのIAM

(参考)
AWS リソースの管理に関するポリシーの例
IAM ポリシーエレメントのリファレンス

AWS/S3のファイルをプログラム経由(API)で操作するためのIAMを作ります。
その際にIAMユーザーに設定する権限(ポリシー)は以下のようにJsonで

{
  "Version": "2012-10-17",
  "Statement": [
   {
     "Effect": "Allow",
     "Action":[ "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:ListBucket"],
     "Resource": [
       "arn:aws:s3:::バケット名","arn:aws:s3:::バケット名/*"
     ]
   }
  ]
}

 

内訳を解説

JsonでIAMユーザーのpolicyを指定します。

{
  "Version": "2012-10-17",
  ポリシー言語バージョン。最新が「2012-10-17」で記述推奨されている(参考)
  "Statement": [
    {
     "Effect": "Allow",
    記述内容の許可/拒否を明示的に指定(Allow/Deny)(参考)
     "Action":["アクション1","アクション2"],
    許可または拒否されるアクション(参考)
    S3におけるアクションの一覧はこちら
      "Resource": ["取扱オブジェクト1","取扱オブジェクト2"]
      ステートメントで取り扱う一連のオブジェクトを指定(参考)
    すべてのリソース指定時はワイルドカード(*)
       例) 「"arn:aws:s3:::バケット名/*"」
    }
  ]
}