本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置 CSE-CUSTOM
要使用 CSE-CUSTOM,必须通过实现密钥环接口来创建自定义密钥提供程序。以下是一个实现示例:
public class CustomKeyring implements Keyring { public CustomKeyring() { // custom code } @Override public EncryptionMaterials onEncrypt(EncryptionMaterials encryptionMaterials) { // custom code } @Override public DecryptionMaterials onDecrypt(DecryptionMaterials decryptionMaterials, List
EncryptedDataKey
list) { // custom code }
您可以在两个主要范围内启用客户端加密自定义密钥 (CSE-CUSTOM):
第一个作用域是集群范围的配置:
[ { "Classification":"core-site", "Properties": { "fs.s3a.encryption.algorithm": "CSE-CUSTOM", "fs.s3a.cse.customKeyringProvider.uri":"
S3 path of custom jar
", "fs.s3a.encryption.cse.custom.keyring.class.name":"fully qualified class name
" } } ]第二个是特定于作业或应用程序的配置。可以为特定的 Spark 应用程序设置 CSE-CUSTOM,如下所示:
spark-submit --conf spark.hadoop.fs.s3a.encryption.algorithm=CSE-CUSTOM --conf spark.hadoop.fs.s3a.encryption.cse.custom.keyring.class.name=
fully qualified class name
注意
确保类路径中存在生成加密/解密密钥所需的自定义 jar。