现有AWS EMR集群上运行PySpark代码,可以读写S3上的数据文件,Snowflake数据仓库也需要导入S3上的文件到表。现在要用AWS KMS有客户端密钥加密S3上的文件,同时允许PySpark代码,可以读写S3上的数据文件,Snowflake数据仓库导入S3上的文件到表。
为了实现AWS EMR上的PySpark读写KMS加密的S3文件,并让Snowflake导入这些文件,请按照以下步骤操作:
一、S3文件加密配置
- 使用SSE-KMS加密S3文件
- 上传文件时设置加密头:
aws s3 cp localfile s3://your-bucket/path/ --sse aws:kms --sse-kms-key-id <KMS_KEY_ARN>
- 或通过AWS控制台上传时选择“AWS-KMS”加密并指定CMK。
- 上传文件时设置加密头:
二、配置EMR集群访问KMS加密文件
- IAM角色权限
- 确保EMR的EC2实例角色(如
EMR_EC2_DefaultRole
)附加以下策略:{ "Version": "2012-10-17", "Statement": [ { "Effect": "All
- 确保EMR的EC2实例角色(如