2017-08-30 88 views
0

我试图让Adobe将他们的点击流分析数据(使用Adobe Experience Amazon S3文件传输)发布到我创建的AWS S3存储桶(称为adobe)。因此,我创建了一个IAM用户,将其分配给具有以下IAM策略的组,并且使用IAM用户的访问权限和密钥配置了Adobe S3 File DeliveryAWS 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检查。

任何想法/帮助非常感谢。谢谢。

+0

从错误消息中我看到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

+0

忘了提及,对于网站托管,你必须使用S3 ACL来授予访问权限。请确保只向对象授予读取权限,否则您将向世界打开存储桶。设置ACL指南:http://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-bucket-permissions.html – sudo

+0

我认为你指的是[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浏览器中?请编辑您的问题,以提供更多关于您测试访问权限的详细信息。 –

回答

0

@jarmod - 这就是答案 - 添加一个桶名称而不是桶地址使它工作。谢谢

谢谢其他人。