【发布时间】:2014-01-31 23:22:05
【问题描述】:
是否可以(通过 IAM、存储桶策略或其他方式)强制 Amazon S3仅通过 HTTPS/SSL 提供内容并拒绝所有常规、未加密的 HTTP 访问?
【问题讨论】:
标签: ssl amazon-web-services https amazon-s3
是否可以(通过 IAM、存储桶策略或其他方式)强制 Amazon S3仅通过 HTTPS/SSL 提供内容并拒绝所有常规、未加密的 HTTP 访问?
【问题讨论】:
标签: ssl amazon-web-services https amazon-s3
我相信这可以使用存储桶策略来实现。使用条件 aws:SecureTransport: false 拒绝对相关存储桶的所有 HTTP 请求。
以下内容未经测试,但它应该让您了解如何针对您的情况进行设置。
{
"Statement":[
{
"Action": "s3:*",
"Effect":"Deny",
"Principal": "*",
"Resource":"arn:aws:s3:::bucketname/*",
"Condition":{
"Bool":
{ "aws:SecureTransport": false }
}
}
]
}
【讨论】:
在这里,您允许传入流量,但拒绝非 SSL 流量。如果您想返回,只需删除 2nd 语句:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::yourbucketnamehere/*"
},
{
"Sid": "PublicReadGetObject",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::yourbucketnamehere/*",
"Condition":{
"Bool":
{ "aws:SecureTransport": false }
}
}
]
}
别忘了将您的存储桶名称放在yourbucketnamehere。
现在您需要安装 SSL 证书。 All the information can be found here.
【讨论】: