Amazon s3 限制帐户删除S3中的文件夹,但允许对该文件夹进行读/写操作

Amazon s3 限制帐户删除S3中的文件夹,但允许对该文件夹进行读/写操作,amazon-s3,Amazon S3,我希望允许用户完全访问子文件夹,但不允许他们删除子文件夹。我写了这个政策,但它不起作用。它仍然允许用户删除“入站”和“出站”文件夹 是否可以执行我想要的操作?创建一个单独的IAM角色,为该角色授予s3除删除之外的所有权限 只需将策略的最后一部分更改为: { "Sid": "DenyUserFromDeletingStandardFolders", "Action": [ "s3:DeleteObject" ], "Effect": "Deny",

我希望允许用户完全访问子文件夹,但不允许他们删除子文件夹。我写了这个政策,但它不起作用。它仍然允许用户删除“入站”和“出站”文件夹


是否可以执行我想要的操作?

创建一个单独的IAM角色,为该角色授予s3除删除之外的所有权限

只需将策略的最后一部分更改为:

{
    "Sid": "DenyUserFromDeletingStandardFolders",
    "Action": [
        "s3:DeleteObject"
    ],
    "Effect": "Deny",
    "Resource": [
        "arn:aws:s3:::mybucketxxxx/marketing/inbound/",
        "arn:aws:s3:::mybucketxxxx/marketing/outbound/"
    ]
}

这是因为以前的策略授予了
/*
,其中包括
/
,但此策略明确拒绝
/

您所说的“不允许他们删除子文件夹”是什么意思?文件夹实际上不存在于AmazonS3中。相反,对象在键(文件名)中包含其完整路径。要删除子文件夹,他们需要删除文件夹中的每个对象。那么,如果允许他们删除文件夹中的对象,为什么要阻止他们删除文件夹呢?我知道S3中不存在这样的“文件夹”,我粗略地用这个术语来解释我在这里要做的事情。顺便说一句,AWS就是这样指键/路径->()。我不希望他们能够删除此处的“入站”文件夹,例如(mybucketxxxx/marketing/inbound),因为它由多个用户使用,但是,他们可以将文件放在那里,并在处理完文件后将其删除。只有当文件夹中没有对象时,才能“删除”文件夹。如果删除它并不重要,因为如果在该路径中创建对象,它将被重新创建。
{
    "Sid": "DenyUserFromDeletingStandardFolders",
    "Action": [
        "s3:DeleteObject"
    ],
    "Effect": "Deny",
    "Resource": [
        "arn:aws:s3:::mybucketxxxx/marketing/inbound/",
        "arn:aws:s3:::mybucketxxxx/marketing/outbound/"
    ]
}