本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 CSE-CUSTOM
若要使用 CSE-CUSTOM,您必須實作 Keyring 介面來建立自訂金鑰提供者。以下是實作範例:
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
" } } ]第二個是任務或應用程式特定的組態。CSE-CUSTOM 可以為特定 Spark 應用程式設定,如下所示:
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。