JHH*_*JHH 4 amazon-s3 aws-kms amazon-kinesis-firehose
我正在为 S3 设置 Kinesis Firehose 传输流,我注意到您可以设置自定义 KMS 密钥以用于加密 S3 上的文件。
但是,如果 S3 存储桶已启用 KMS 加密,则无论如何都会对文件进行加密。不同之处当然是将使用默认的 AWS 管理器 S3 KMS 密钥,而不是提供给 Firehose 的客户管理的自定义 KMS 密钥。
通常有什么理由使用自定义 KMS 密钥来加密 S3 上的 Firehose 数据,而不是依赖默认的 S3 KMS 密钥?如果您也是 S3 存储桶的所有者并控制其设置,或者在您无法控制目标的设置时也是启用加密的主要用途,那么这样做是否有任何意义桶?
还是 Firehose 关联的 KMS 密钥也用于加密传输中的数据,而不是 S3 提供的用于加密静态数据的 KMS 密钥?
小智 5
Kinesis Firehose 将使用您指定的 KMS 密钥在登录 S3 时加密对象。您可能无法控制 S3 存储桶的加密设置,并且无论出于何种原因,您可能希望使用与 S3 默认 KMS 加密密钥不同的 KMS 密钥(具有不同的权限)。在不同层次结构的 S3 存储桶中可以有许多不同的对象,需要或不需要不同的 KMS 加密。
S3 不应“双重加密”您的数据。来自 Kinesis Firehose 的 KMS 加密将在 S3 放置标头中指定,因此 S3 在执行实际写入时将知道要使用哪些加密设置。如果 S3 存储桶上有默认 KMS 设置,并且在放置标头(无论是 SSE 还是 KMS)中找不到加密设置,则 S3 应应用存储桶设置中指定的默认加密。