Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 针对ACL策略的S3静态网页访问被拒绝错误_Amazon Web Services_Amazon S3 - Fatal编程技术网

Amazon web services 针对ACL策略的S3静态网页访问被拒绝错误

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

我有一个S3中托管的网页,只有帐户中的特定用户才能访问。出于测试目的,我在下面添加了bucket策略,该策略在主体中指定了我的iam arn,但在尝试通过S3 url访问页面(位于该bucket中)时,我遇到了拒绝访问错误。。。。。尽管已经签到了

你能告诉我我做错了什么吗

桶策略:

{
"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。