Web services 如果不公开,我们如何主持网站

Web services 如果不公开,我们如何主持网站,web-services,amazon-web-services,amazon-s3,Web Services,Amazon Web Services,Amazon S3,尝试在没有公共访问权限的情况下在s3存储桶中托管submit form index.hmtl文件 { "Version": "2008-10-17", "Id": "permissionTohttps", "Statement": [ { "Sid": "AddPerm",

尝试在没有公共访问权限的情况下在s3存储桶中托管submit form index.hmtl文件

             {
                "Version": "2008-10-17",
                "Id": "permissionTohttps",
                "Statement": [
                    {
                        "Sid": "AddPerm",
                        "Effect": "Allow",
                        "Principal": {
                            "AWS": "arn:aws:iam::xxxxxxxxx:root"
                        },
                        "Action": "s3:GetObject",
                        "Resource": "arn:aws:s3:::test-2018/test/*",
                        "Condition": {
                            "Bool": {
                                "aws:SecureTransport": "true"
                            }
                        }
                    }
                ]
            }

尝试在s3存储桶中托管submit form index.hmtl文件而不使用公共访问权

如果您在s3存储桶上启用网站托管,它将是公共的

             {
                "Version": "2008-10-17",
                "Id": "permissionTohttps",
                "Statement": [
                    {
                        "Sid": "AddPerm",
                        "Effect": "Allow",
                        "Principal": {
                            "AWS": "arn:aws:iam::xxxxxxxxx:root"
                        },
                        "Action": "s3:GetObject",
                        "Resource": "arn:aws:s3:::test-2018/test/*",
                        "Condition": {
                            "Bool": {
                                "aws:SecureTransport": "true"
                            }
                        }
                    }
                ]
            }

目前还不清楚您希望如何限制对web表单的访问,但您可以通过禁用bucket上的网站托管,然后设置一个AWS CloudFront发行版,该发行版使用您的S3 bucket作为源(发行版的源文件),来实现这一点。然后,您可以要求已签名的URL来访问CloudFront发行版(这将要求您拥有其他一些可以发布已签名URL的网站)。您也可以使用WAF规则(Web ACL),该规则只允许来自您想要的IP范围的请求。

我们没有任何IP范围。那么您的选择就非常有限,只能将S3存储桶隐藏在CloudFront分发版后面。另一个想法是将表单托管在API网关后面的Lambda函数中,然后可以使用Cognito或自定义授权器限制对API网关端点的访问。如果您的公司使用Active Directory和ADFS,Cognito将与之集成(以及任何OpenID连接提供商,等等)