我需要通过提供 STS 令牌来允许匿名用户访问 Amazon S3 存储桶中的单个文件夹。
我找到了有关如何根据策略和策略变量提供对一个存储桶中用户特定文件夹的访问权限的指南。在那里您使用长期用户密钥。是否有可能实现类似的东西,但使用 STS 令牌并且只有一个用户与多个用户各自拥有自己的文件夹?
我需要通过提供 STS 令牌来允许匿名用户访问 Amazon S3 存储桶中的单个文件夹。
我找到了有关如何根据策略和策略变量提供对一个存储桶中用户特定文件夹的访问权限的指南。在那里您使用长期用户密钥。是否有可能实现类似的东西,但使用 STS 令牌并且只有一个用户与多个用户各自拥有自己的文件夹?
当您AssumeRole
通过 STS 服务调用时,您会包含一个策略文档,该文档指定临时凭证将具有哪些权限。在该策略文档中,您将指定您希望此用户拥有的确切 S3 权限。您不需要使用策略变量,因为此时您正在为单个用户生成策略文档(不需要用户变量,因为您知道在这种情况下的确切用户是谁)。
您的策略文档将如下所示(替换my-bucket
并my-folder
使用您要授予特定用户访问权限的实际存储桶名称和文件夹名称):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*"
],
"Resource": "arn:aws:s3:::my-bucket/my-folder/*"
}
]
}