Amazon aws s3アクセス制御
やりたいこと
- 特定のバケット配下のユーザ名のフォルダのみファイルの作成や削除をさせたい。
- ログインしたIAMユーザ名のフォルダのみ操作可能になる
- 権限がないバケット名は参照できる
手順
-
AdministratorAccess
権限があるIAMユーザで実施
1. グループ作成
IAM
->Group
で適当な名前のグループを作成する。
例) alluser
2. Policy作成
IAM
->Policy
でポリシーを作成する。
例) test-s3-alluser
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::bucketroot0001"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::bucketroot0001/${aws:username}/*"
}
]
}
3. ポリシーのアタッチ
IAM
->Policy
で作成した
test-s3-alluser`を選択しグループにアタッチする
4. バケットを作成する。
s3から<BACKET-NAME>
/IAMユーザ名
を作成する。