我有一个附加了自定义策略的 IAM 角色,允许访问我们称之为foo-bar
的 S3 存储桶。我尝试通过PutObject
和其他一些操作授予对该特定资源的访问权限。该 IAM 角色附加到 EC2 实例,但当我使用aws s3 sync. s3://foo-bar
时,该 EC2 实例无权上传文件。
为了测试这是否是策略问题,我刚刚向 * 资源授予 S3:*,但它仍然不会上传。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"cloudformation:ListExports",
"s3:*"
],
"Resource": "*"
}
]
}
我在 CLI 上得到的错误是:
上载失败:基础结构\vpc.模板到 s3://foo-bar/基础结构/vpc.template 调用 PutObject 操作时出错(访问被拒绝(:访问被拒绝
我还需要执行其他操作才能授予其访问权限吗?为什么附加到 IAM 角色的策略不起作用?
我尝试用--debug
运行它以查看发生了什么。 这帮助我发现我有一个本地.aws/credentials
文件,它覆盖了附加到机器的 IAMRole。
如果需要凭据文件 - 可以使用不同的配置文件[some name]
并使用--profile
来选择它。
呵呵。