我需要通过提供 STS token 来允许匿名用户访问 Amazon S3 存储桶中的单个文件夹。

我找到了有关如何根据策略和策略变量提供对一个存储桶中特定于用户的文件夹的访问权限的指南。在那里您使用长期用户 key 。是否有可能实现类似的东西,但使用 STS token 并且只有一个用户与多个用户,每个用户都有自己的文件夹?

最佳答案

当您通过 STS 服务调用 AssumeRole 时,您将包含一个策略文档,该文档指定临时凭证将具有哪些权限。在该策略文档中,您将指定您希望该用户拥有的确切 S3 权限。您不需要使用策略变量,因为此时您正在为单个用户生成策略文档(不需要用户变量,因为您知道在这种情况下确切的用户是谁)。

您的策略文档将如下所示(将 my-bucketmy-folder 替换为您要授予特定用户访问权限的实际存储桶名称和文件夹名称):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:Get*"
            ],
            "Resource": "arn:aws:s3:::my-bucket/my-folder/*"
        }
    ]
}

关于amazon-web-services - 通过 AWS STS token 授予对存储桶中单个文件夹的访问权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45996438/

10-16 04:07