特定のs3バケットにのみアクセス権限を与えるiamポリシー

公式を参考に、プログラムアクセスか、マネジメントコンソールでのアクセスかに応じて、以下のように設定する。

プログラムアクセスにより、特定のバケットに対するRead/Write権限を付与するiamポリシー

{
   "Version": "2012-10-17",
   "Statement": [
     {
       "Effect": "Allow",
       "Action": ["s3:ListBucket", "s3:GetBucketLocation"],
       "Resource": ["arn:aws:s3:::<BUCKET-NAME>"]
     },
     {
       "Effect": "Allow",
       "Action": [
         "s3:PutObject",
         "s3:GetObject",
         "s3:DeleteObject"
       ],
       "Resource": ["arn:aws:s3:::<BUCKET-NAME>/*"]
     }
   ]
 }

マネジメントコンソールにて、特定のバケットに対するRead/Writeを権限を付与するiamポリシー

マネジメントコンソールで閲覧する際は s3:ListAllMyBucketsも必要なので、 プログラムによるアクセスを許可する場合には以下のように設定する

{
   "Version": "2012-10-17",
   "Statement": [
     {
       "Effect": "Allow",
       "Action": [
         "s3:GetBucketLocation",
         "s3:ListAllMyBuckets"
       ],
       "Resource": "*"
     },
     {
       "Effect": "Allow",
       "Action": ["s3:ListBucket"],
       "Resource": ["arn:aws:s3:::<BUCKET-NAME>"]
     },
     {
       "Effect": "Allow",
       "Action": [
         "s3:PutObject",
         "s3:GetObject",
         "s3:DeleteObject"
       ],
       "Resource": ["arn:aws:s3:::<BUCKET-NAME>/*"]
     }
   ]
 }

このエントリーをはてなブックマークに追加
Takatomo Honda avatar
About Takatomo Honda
システム開発 / プロトタイプ開発 / 開発組織の構築 / アプリケーションの内製化 /等、お気軽にご相談ください。