繁体   English   中英

使用 kms 加密密钥将 dataframe 作为 csv 写入 S3 而不提供密钥

Write dataframe as csv to S3 with kms encrypted keys without providing key

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我通过 spark dataframe 创建了 CSV 文件,这些文件会自动加密 KMS。

供您参考,我提供了一个创建这些 KMS 加密文件的示例代码片段。 如果您在写作时看到我没有提供任何 KMS 密钥。 如果您说出根本原因,这将非常有帮助。

val df=spark.read.format("csv").option("header", "true").load("s3:///test/App_IP.csv")
df.createOrReplaceTempView("test")
val df1=spark.sql("select name from test")
df1.coalesce(1).write.format("com.databricks.spark.csv").option("header", "true").save("s3://test/city5/")

我从 EMR 集群 (emr-5.24.0) 中的 spark-shell 执行的这段代码,spark 版本是 Spark 2.4.2

1 个回复

您可以按照 EMR 文档Amazon S3 Server-Side Encryption中的说明使用 S3 加密:

fs.s3.enableServerSideEncryption :设置为 true 时,存储在 Amazon S3 中的对象使用服务器端加密进行加密。 如果未指定密钥,则使用 SSE-S3。 fs.s3.serverSideEncryption.kms.keyId :指定 AWS KMS 密钥 ID 或 ARN。 如果指定了密钥,则使用 SSE-KMS。

创建启用了 SSE-S3 的集群:

aws emr create-cluster --release-label emr-5.24.0 \
--instance-count 3 --instance-type m5.xlarge --emrfs Encryption=ServerSide

创建启用了 SSE-KMS 的集群:

aws emr create-cluster --release-label emr-5.24.0 \ --instance-count 3 \
--instance-type m5.xlarge --use-default-roles \
--emrfs Encryption=ServerSide,Args=[fs.s3.serverSideEncryption.kms.keyId=<keyId>]

或者通过提供集群配置 JSON:

[
  ...
   {
    "Classification":"emrfs-site",
    "Properties": {
       "fs.s3.enableServerSideEncryption": "true",
       "fs.s3.serverSideEncryption.kms.keyId":"<keyId>"
    }
  }
]
2 AWS Boto S3 API读取KMS加密密钥

我试图读取使用AWS KMS加密的密钥,我首先遇到以下错误。 S3ResponseError:400错误请求InvalidArgument使用AWS KMS托管密钥指定服务器端加密的请求需要使用AWS Signature版本4。 设置os.environ['S3_USE_SIG ...

3 如何下载一个kms加密的s3对象

我创建了一个没有策略的s3存储桶,并上传了一个带kms加密的文件。 我已经授予我的ec2实例完全s3访问权限,但仍然无法下载加密文件(使用aws CLI)。 它显示以下错误:“调用GetObject操作时发生错误(AccessDenied):访问被拒绝”但我可以使用相同的实例从同一个桶下载非 ...

9 在由 AWS 托管密钥加密的 AWS 跨账户 S3 PutObject 中未找到 KMS 异常

我正在尝试将账户 B 中的 Glue 中的虚拟文件放入账户 A 中的 S3 存储桶。S3 存储桶(测试存储桶)正在启用 AWS-KMS 加密并启用 aws/s3 托管密钥。 我在账户 A-S3 存储桶(测试存储桶)中添加了以下权限: 向账户 B 中的 IAM Glue 角色添加了以下策略 这是我的胶 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM