无法列出来自 IAM 用户帐户的特定存储桶

Not able to list particular bucket from IAM user account

这是我为s3bucket写的代码

我无法从 AWS 控制台中的 IAM 用户 sseth1 S3 仪表板 list/see 存储桶 sseth-learning-account1,尽管存储桶策略已成功保存而没有给我任何错误。我如何才能向 IAM 用户授予 list/see 其任务所需的仅单个存储桶的权限?

    {
    "Version": "2012-10-17",
    "Id": "Policy1644033771978",
    "Statement": [
        {
            "Sid": "Stmt1644033769613",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::196172918120:user/sseth1"
            },
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:GetObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::sseth-learning-account1",
                "arn:aws:s3:::sseth-learning-account1/*"
            ]
        }
    ]
}

您似乎想为 Amazon S3 授予特定用户权限。

推荐的方法是向 IAM 用户添加策略(而不是使用存储桶策略)。

这将与您创建的策略相同,但没有 Principal 因为拥有该策略的 IAM 用户暗示了这一点。

(这不一定是您问题的原因,但您没有提供足够的信息来诊断您的具体问题。我只是在解释实现您的目标的替代方法。)

您的目标似乎是允许特定用户通过 S3 管理控制台访问 Amazon S3 Bucket 而不允许他们查看列表其他桶.

这是不可能的。

但是,您可以 'cheat'...

您(具有完全权限)应转到 S3 管理控制台中的存储桶并访问所需的存储桶。然后,从浏览器中复制 URL 并将此 URL 提供给其他用户。然后,他们可以使用 URL 在 S3 管理控制台中直接访问该存储桶,而无需通过存储桶列表。这样,他们将能够在控制台中查看和使用特定的存储桶