Amazon web services 针对ACL策略的S3静态网页访问被拒绝错误
我有一个S3中托管的网页,只有帐户中的特定用户才能访问。出于测试目的,我在下面添加了bucket策略,该策略在主体中指定了我的iam arn,但在尝试通过S3 url访问页面(位于该bucket中)时,我遇到了拒绝访问错误。。。。。尽管已经签到了 你能告诉我我做错了什么吗 桶策略:Amazon web services 针对ACL策略的S3静态网页访问被拒绝错误,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我有一个S3中托管的网页,只有帐户中的特定用户才能访问。出于测试目的,我在下面添加了bucket策略,该策略在主体中指定了我的iam arn,但在尝试通过S3 url访问页面(位于该bucket中)时,我遇到了拒绝访问错误。。。。。尽管已经签到了 你能告诉我我做错了什么吗 桶策略: { "Version": "2012-10-17", "Id": "Policy1484430450679", "Statement": [ { "Sid": "Stmt14844304454
{
"Version": "2012-10-17",
"Id": "Policy1484430450679",
"Statement": [
{
"Sid": "Stmt1484430445422",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123:user/testuser"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::testbucket/*"
}
]}
如果我将主体设置为“*”,则可以通过S3 url访问该网页。您的特定用户是否使用其AWS凭据生成签名url来访问该网页?如果不是,S3如何识别他们是这些用户?@Michael sqlbot我假设如果你登录aws控制台,amazon S3端点将使用相同的cookie详细信息来识别登录用户,但事实似乎并非如此。我已经尝试过预签名url方法,但问题是html使用的css和js也必须经过预签名才能访问,否则将出现403错误。因此,我必须全局公开这些文件,并仅限制对html页面的访问,这不是一个好的解决方案。我想我必须尝试IP级别的限制,以允许在公司网络内访问。任何想法请分享。我假设如果你登录到aws控制台,亚马逊s3端点将使用相同的cookie细节来识别登录用户。。。正如你现在看到的,情况绝对不是这样。S3不是一个应用程序,它是一个资源。。。所以它对观众的身份没有感觉。如果您在控制台中选择一个对象并选择操作>下载,然后右键单击并复制链接以供检查。。。您会发现它是AWS控制台(控制台本身是一个应用程序)代表您创建的一个预签名URL。