Amazon web services 在AmazonS3上为私人组托管
我正在研究在AmazonS3上托管一个静态网站,但需要使它只对某些了解证书的人开放 在下面找不到除IP限制以外的任何选项。我不能这样做,因为我不知道每个人谁会访问这个IPAmazon web services 在AmazonS3上为私人组托管,amazon-web-services,security,authentication,amazon-s3,web,Amazon Web Services,Security,Authentication,Amazon S3,Web,我正在研究在AmazonS3上托管一个静态网站,但需要使它只对某些了解证书的人开放 在下面找不到除IP限制以外的任何选项。我不能这样做,因为我不知道每个人谁会访问这个IP { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action":
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::testfoo/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "150.101.204.0/24"
},
"NotIpAddress": {
"aws:SourceIp": "150.101.204.188/32"
}
}
}
]
}
我正在寻找一个类似于我们在apache中使用.htaccess的选项,在授予访问权限之前,将请求基本的身份验证用户名和密码 我编辑这个答案是为了扩展关于如何使用cloudfront和lambda@edge. 我在使用lambda@Edge作为为s3存储桶实现无服务器基本身份验证的一种方法 简言之,Lambda@Edge允许您将AWS Lambda函数附加到CloudFront行为。CloudFront是Amazon的CDN解决方案,可以坐在S3存储桶前面,提供低延迟响应、高传输速度、使用Amazon提供的免费SSL证书支持自定义域,并与其他AWS服务(现在包括Lambda)集成
S3铲斗设置 我不会详细介绍如何创建S3 bucket,但基本上在创建S3 bucket(例如S3 bucket安全示例)之后,上传文件并在属性中启用静态网站托管。此时无需启用任何权限。如果您尝试使用URL访问s3存储桶,则访问将被拒绝
设置云端 注意:这是将cloudfront用于s3存储桶的最低基本设置 参照此,从创建cloudfront发行版
设置函数 注意:在撰写本文时,此函数使用的此触发器(cloudfront)仅适用于美国东部(北弗吉尼亚州)地区(美国东部-1)
我编辑这个答案是为了扩展关于如何使用cloudfront和lambda@edge. 我在使用lambda@Edge作为为s3存储桶实现无服务器基本身份验证的一种方法 简言之,Lambda@Edge允许您将AWS Lambda函数附加到CloudFront行为。CloudFront是Amazon的CDN解决方案,可以坐在S3存储桶前面,提供低延迟响应、高传输速度、使用Amazon提供的免费SSL证书支持自定义域,并与其他AWS服务(现在包括Lambda)集成
S3铲斗设置 我不会详细介绍如何创建S3 bucket,但基本上在创建S3 bucket(例如S3 bucket安全示例)之后,上传文件并在属性中启用静态网站托管。此时无需启用任何权限。如果您尝试使用URL访问s3存储桶,则访问将被拒绝
设置云端 注意:这是将cloudfront用于s3存储桶的最低基本设置 参照此,从创建cloudfront发行版