【发布时间】:2023-03-12 11:00:01
【问题描述】:
我为我的任务设置了一个具有以下权限的 IAM 角色,但我在尝试访问存储桶时遇到 access denied。
{
"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/like bucket/00001 下读取和写入文件夹,但我无法从 bucket/Templates 读取。
我反复重新部署了权限和任务(使用 terraform),但没有任何变化。我已将日志记录添加到应用程序以确保它使用正确的存储桶和路径/键。
我被难住了。有人知道我在这里可能错过了什么吗?
谢谢
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 但我删除了它以查看是否有帮助 - 它没有。也许我需要别的东西?
【问题讨论】: