AWS S3存储桶用于公开发布数据
问题描述:
我试图让Adobe将他们的点击流分析数据(使用Adobe Experience Amazon S3文件传输)发布到我创建的AWS S3存储桶(称为adobe)。因此,我创建了一个IAM用户,将其分配给具有以下IAM策略的组,并且使用IAM用户的访问权限和密钥配置了Adobe S3 File Delivery。AWS S3存储桶用于公开发布数据
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowGroupToSeeBucketListAndAlsoAllowGetBucketLocationRequiredForListBucket",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "AllowRootLevelListingOfCompanyBucket",
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::adobe",
"arn:aws:s3:::adobe/*"
]
}
]
}
不知道斗地址是什么,但尝试:
https://s3-eu-west-1.amazonaws.com/adobe/daily/
每一次的Adobe回来与此错误:
捕获到异常:出现错误(存取遭拒)时调用GetBucketLocation操作:访问被拒绝
我试过虚拟主机这个存储桶,并尝试使用这个存储桶地址:
http://adobe.s3-website-eu-west-1.amazonaws.com
...同样的错误。
使用Cloudberry for S3,我检查了密钥和访问密钥,并且在访问该存储桶和子文件夹方面效果很好。我没有使用CLI检查。
任何想法/帮助非常感谢。谢谢。
答
@jarmod - 这就是答案 - 添加一个桶名称而不是桶地址使它工作。谢谢
谢谢其他人。
从错误消息中我看到Adobe正在使用API来执行S3任务和API,因此不需要S3 URL。如果Adobe为您提供任何AWS账户ID或角色/用户,则必须使用http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2中所述的S3存储桶策略.html。 IAM用户位于您的帐户中,因此该政策不适用于Adobe(除非您已与他们共享访问密钥,并且不建议使用这些密钥)。 – sudo
忘了提及,对于网站托管,你必须使用S3 ACL来授予访问权限。请确保只向对象授予读取权限,否则您将向世界打开存储桶。设置ACL指南:http://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-bucket-permissions.html – sudo
我认为你指的是[Adobe Experience Amazon S3 File Delivery](https: //marketing.adobe.com/resources/help/en_US/sc/clickstream/datafeeds_configure.html)。在你上面的测试中,你是如何访问桶的?您是否使用了[AWS命令行界面(CLI)](http://aws.amazon.com/cli/)以及您创建的IAM用户的凭证,或者您是否只将上述链接置于Web浏览器中?请编辑您的问题,以提供更多关于您测试访问权限的详细信息。 –