【发布时间】:2015-12-27 06:10:51
【问题描述】:
我是 AWS 的新手,我正在尝试授予用户访问 S3 存储桶的权限。 我创建了一个 IAM 用户,并拥有与该用户关联的访问密钥和秘密访问密钥 ID,但我正在努力弄清楚如何授予该用户对 S3 存储桶的权限。我想授予他们对存储桶的写访问权限(但不是读权限),但我会从所有访问权限开始,看看我是否可以获得权限。
我尝试通过策略创建工具创建策略,然后将策略附加到用户,但是当我尝试通过策略模拟器访问存储桶时,我收到错误“隐式拒绝没有匹配的语句”
这是策略生成器创建的策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1451195578000",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::techp.websitebackup/*"
]
}
]
}
我认为尝试将此策略附加到 S3 中的存储桶,但出现错误:语句缺少必需元素 - 语句“Stmt1451195578000”缺少“主体”元素
我想我可能误解了 AWS 上的权限是如何工作的,你能提供一些指导吗?
谢谢 v
【问题讨论】:
-
我假设您使用非 root 帐户将策略附加到存储桶。
-
离你不远了。委托人是作为策略主体的实体(在本例中为用户)。如果这是存储桶策略,您需要指定它适用的用户。如果您将此用作用户策略(在 IAM 中),则隐含委托人。此外,从授予所有特权开始是您的好主意。授予您认为自己需要的东西,却没有意识到所有这些东西可能是什么,这是一个常见的错误。
-
完美,谢谢 Michael - 这很有意义,也很有意义,为什么我在将策略附加到用户时不会出错,但在附加到存储桶时会出错(因为它需要委托人)
标签: amazon-web-services amazon-s3