支持 Kinesis 连接器中的加密
** 您的特性请求与问题有关吗 ? 请说明。 **
pw.io.kinesis.read'和pw.io.kinensis.write'目前无法为目标流配置服务器侧加密(SSE)。 Amazon Kinesis Data Streams通过AWS KMS支持SSE,它使用指定的KMS密钥加密休息时的所有数据. 无法通过Pathway连接器启用、更新或验证这一设置,因此无法作为管道定义的一部分强制执行加密要求。
说明你想要的解决方案
在“pw.io.kinesis.read”和“pw.io.kinesis.write”中添加加密配置支持。 具体而言,这意味着接受两个新的可选参数(如: " 加密-类型 " 和 " key-id " ),直接映射到Kinesis " StartStream Encription " API中的相应字段:
加密-类型'——要使用的加密类型;目前Kinesis中唯一有效的值是KMS'。key id'- KMS 关键标识符:一个全球唯一的关键标识符,一个完整的密钥ARN,一个别名ARN,或者一个前缀有"别名/'的别名。 AWS管理的默认密钥可以被指定为"异名/AWS/kinesis".
在提供这些参数时,连接器在开始读取或写入之前,应叫作 " StartStream Encrpytion " ,以确保在生成或消耗任何数据之前对流进行加密。 如果流已用指定的密钥加密,则调用为不调用.
** 说明你考虑过的备选办法**
- 通过AWS管理控制台或AWSCLI(`AWS启动-流加密 ' )手动启动SSE,然后再运行Pathway管道——工程,但需要出带设置步骤,不能在管道一级执行或自动化。
- 使用AWS Lambda或基础设施-as-code工具(例如Terraform)分别管理流加密——在外部供给工具中增加业务上线和对接管道。
** 其他情况**
请注意,一旦SSE在Kinesis流上启用,加密和解密对生产者和消费者完全透明:PutRecord'、PutRecords'和`GetRecords'不作任何修改地调用工作。 因此,这个特性请求具体涉及配置流中的加密,而不是处理连接器内加密的有效载荷.
通过“ key id” 指定的 KMS 密钥必须可供连接器使用的 IAM 角色使用。 如果使用客户管理的密钥而不是默认的 " AWS/kinesis " 密钥,必须明确给予生产者和消费者在该密钥上的 " kms:GenerateDataKey " 和 " kms:Decrypt " 权限,否则 " PutRecord " / " GetRecords " 的电话将失效.
内容来源: pathwaycom/pathway