如何强制 S3 请求通过云端
How to force S3 requests to go through cloudfront
我对 S3 和云前端还很陌生。
我在 S3 存储桶中有一个 Web 应用程序。我从另一个应用程序重新路由到该应用程序。该重新路由在查询字符串中包含一些敏感信息,因此我只想接受 https 请求。
为此,我需要云端并希望避免直接访问存储桶。
桶:abc.xyz.com.s3.amazonaws.com
URL: abc.xyz.com
我在云端启用了选项 https only
和 Restrict Bucket Access
。
虽然这在云端运行良好,但原始 url abc.xyz.com
似乎无法通过云端。 http
仍然可用,https
不可用。
有没有办法强制仅通过云端访问存储桶?
存储桶策略:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity ORIGINACCESSID"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::abc.xyz.com/*"
}
]
}
除了在 CloudFront 中将 Restrict Bucket Access 设置为 Yes 之外,您还需要编辑 S3 存储桶策略本身以类似于:
(将 XXXXXXXXXXXXXX 字符串替换为在 CloudFront 分配的来源中为您创建的来源访问 ID)
{
"Version": "2012-10-17",
"Id": "Policy1476619022974",
"Statement": [
{
"Sid": "Stmt1415003054675",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXXX"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
}
]
}
您可以阅读有关使用源访问身份限制对您的 Amazon S3 内容的访问的更多信息here。
我对 S3 和云前端还很陌生。
我在 S3 存储桶中有一个 Web 应用程序。我从另一个应用程序重新路由到该应用程序。该重新路由在查询字符串中包含一些敏感信息,因此我只想接受 https 请求。 为此,我需要云端并希望避免直接访问存储桶。
桶:abc.xyz.com.s3.amazonaws.com
URL: abc.xyz.com
我在云端启用了选项 https only
和 Restrict Bucket Access
。
虽然这在云端运行良好,但原始 url abc.xyz.com
似乎无法通过云端。 http
仍然可用,https
不可用。
有没有办法强制仅通过云端访问存储桶?
存储桶策略:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity ORIGINACCESSID"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::abc.xyz.com/*"
}
]
}
除了在 CloudFront 中将 Restrict Bucket Access 设置为 Yes 之外,您还需要编辑 S3 存储桶策略本身以类似于:
(将 XXXXXXXXXXXXXX 字符串替换为在 CloudFront 分配的来源中为您创建的来源访问 ID)
{
"Version": "2012-10-17",
"Id": "Policy1476619022974",
"Statement": [
{
"Sid": "Stmt1415003054675",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXXX"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
}
]
}
您可以阅读有关使用源访问身份限制对您的 Amazon S3 内容的访问的更多信息here。