我想在从AWS Firehose到S3的传输过程中保护我的数据。我可以在S3中为静止的数据启用加密,但如何确保数据在从Firehose传输到S3时得到加密?此外,我使用Kinesis代理将网络服务器上的数据放入Kinesis Firehose。有没有一种方法可以在从web服务器传输到Firehose的过程中加密数据?
服务之间的数据传输将使用https
端点而不是http
。
您可以通过添加一个存储桶策略来确保数据通过HTTPS传输到S3存储桶,该策略将拒绝对非基于HTTPS的请求的访问,例如下面的请求。
{
"Id": "ExamplePolicy",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSSLRequestsOnly",
"Action": "s3:*",
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::awsexamplebucket",
"arn:aws:s3:::awsexamplebucket/*"
],
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
},
"Principal": "*"
}
]
}
代理应该再次仅通过HTTPS与服务通信,您可以通过从安全组中删除对端口80的访问权限或在NACL中阻止端口80访问权限来强制执行此操作(尽管这可能非常极端(。
此外,如果使用EC2实例,则为要连接的服务添加VPC端点。