我为我的任务设置了一个 IAM 角色,并赋予了以下权限,但我在尝试访问存储桶时收到了拒绝访问的错误提示。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucket/Templates/*",
"arn:aws:s3:::bucket/*",
"arn:aws:s3:::anotherBucket/*"
]
}
]
}
容器实例具有标准 AmazonEC2ContainerServiceforEC2Role 策略的角色。
我似乎可以读取和写入 bucket/ 下的文件夹,如 bucket/00001,但我无法从 bucket/Templates 读取。
我已经多次重新部署了权限和任务(使用 terraform),但没有任何变化。我已经向应用程序添加日志,以确保它正在使用正确的 bucket 和路径/密钥。
我陷入了困境。有人知道我可能遗漏了什么吗?
谢谢。
PS:我突然想到,我无法访问的桶中的文件是使用其他凭据而不是任务使用的凭据复制到那里的。
aws s3 cp ..\Api\somefiles\000000000001\ s3://bucket/000000000001 --recursive --profile p aws s3 cp ..\Api\somefiles\Templates\000000000001\ s3://bucket/Templates/000000000001 --recursive --profile p 我在 cp 命令中使用了 -acl bucket-owner-full-control,但我删除了它以查看是否有帮助,但没有。也许我需要其他的东西吗?