我正在试用CloudBerry驱动器工具,将S3存储桶作为我的网络驱动器。我在里面有一个桶和两个文件夹,假设桶名为环境,两个文件夹作为dev和prod。我有三套用户将使用这个-管理,开发和Prod。管理员-必须对这两个文件夹都有R/W权限。Dev -应该只对dev文件夹具有写访问权限,Prod应该有对dev文件夹的读访问权和对prod文件夹的写访问权。
但是,我对IAM权限感到困惑。Admin可以很好地使用S3完全访问权限。但其他两个账户的运作情况并不好。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:DeleteObjectVersion",
"s3:RestoreObject",
"s3:PutObjectVersionTagging",
"s3:PutObjectTagging",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::environment/dev/*"
}
]
}有了这个,我应该能够R/W到开发文件夹,这是我无法做到的。使用CloudBerry驱动器,我可以复制粘贴文件,但不能上传到S3。此外,S3中的文件在这里列出(这是必需的),但不能访问相同的文件(错误附加)。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:DeleteObjectTagging",
"s3:DeleteObjectVersion",
"s3:GetObjectVersionTagging",
"s3:ReplicateTags",
"s3:RestoreObject",
"s3:PutObjectVersionTagging",
"s3:DeleteObjectVersionTagging",
"s3:ListMultipartUploadParts",
"s3:ReplicateObject",
"s3:GetObjectVersionTorrent",
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:ObjectOwnerOverrideToBucketOwner",
"s3:GetObjectTorrent",
"s3:AbortMultipartUpload",
"s3:GetObjectVersionAcl",
"s3:GetObjectTagging",
"s3:PutObjectTagging",
"s3:GetObjectVersionForReplication",
"s3:DeleteObject",
"s3:ReplicateDelete",
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::environment/Prod"
}
]
}有了这个,我应该能够R/W到prod文件夹,这是我无法做到的。使用CloudBerry驱动器,我可以复制粘贴文件,但不能上传到S3。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:GetObjectVersionTorrent",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:GetObjectTorrent",
"s3:GetObjectVersionTagging",
"s3:GetObjectVersionAcl",
"s3:GetObjectTagging",
"s3:GetObjectVersionForReplication",
"s3:GetObjectVersion",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::environment"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"dev/*"
]
}
}
}
]
}这里列出了S3中的文件(这是必需的),但无法访问相同的文件(错误附加)。
希望我清楚自己的要求:1.dev用户只能访问dev文件夹,prod用户可以访问prod文件夹,R/W用户可以访问dev文件夹3,所有这些都是使用CloudBerry驱动器为S3完成的。
注意:我已经搜索了很多,并且尝试了几乎所有的东西,包括一些策略,这些策略展示了如何为特定的用户文件夹提供写权限。

发布于 2019-01-11 13:30:19
很抱歉写了一个延迟的答案:但是在我的脚本中,用这样的方式改变条件:
"Condition":{"StringLike":{"s3:prefix":["home/David/*"]}}感谢ceejayoz指出了这个错误。
https://serverfault.com/questions/897218
复制相似问题