我想使用AWS .net SDK创建用户以应用权限(对文件夹的访问权限有限)。存储桶中的每个用户都有一个文件夹,用户只能访问分配的文件夹。
简而言之,我的脚本将会这样做:
答案 0 :(得分:0)
<强> 1。创建AWS用户
在AWS Identity&amp;中创建用户访问管理(IAM),使用CreateUser()
请求。
<强> 2。创建文件夹
无需创建文件夹。 Amazon S3中实际上不存在文件夹。相反,键名(filename)包括对象的路径。因此,存储在文件夹bar.jpg
中的foo
的密钥为foo/bar.jpg
。当您在该位置创建对象时,伪装文件夹将自动显示(排序)。
第3。授予对文件夹的访问权限
使用变量的单个IAM策略可用于授予所有用户对存储桶中自己的子路径(实际上是文件夹)的访问权限。
来自IAM Policy Variables Overview:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": ["s3:ListBucket"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::mybucket"],
"Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}}
},
{
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::mybucket/${aws:username}/*"]
}
]
}