Class FieldEncryptionExecutor
java.lang.Object
io.confluent.kafka.schemaregistry.rules.FieldRuleExecutor
io.confluent.kafka.schemaregistry.encryption.FieldEncryptionExecutor
- All Implemented Interfaces:
RuleBase,RuleExecutor,AutoCloseable,org.apache.kafka.common.Configurable
In envelope encryption, a user generates a data encryption key (DEK) locally, encrypts data with
the DEK, sends the DEK to a KMS to be encrypted (with a key managed by KMS - KEK), and then
stores the encrypted DEK. At a later point, a user can retrieve the encrypted DEK for the
encrypted data, use the KEK from KMS to decrypt the DEK, and use the decrypted DEK to decrypt
the data.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final byte[]static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class io.confluent.kafka.schemaregistry.rules.FieldRuleExecutor
PRESERVE_SOURCE_FIELDSFields inherited from interface io.confluent.kafka.schemaregistry.rules.RuleBase
DEFAULT_NAME -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class io.confluent.kafka.schemaregistry.rules.FieldRuleExecutor
isPreserveSource, transform
-
Field Details
-
TYPE
- See Also:
-
ENCRYPT_KEK_NAME
- See Also:
-
ENCRYPT_KMS_KEY_ID
- See Also:
-
ENCRYPT_KMS_TYPE
- See Also:
-
ENCRYPT_DEK_ALGORITHM
- See Also:
-
ENCRYPT_DEK_EXPIRY_DAYS
- See Also:
-
KMS_TYPE_SUFFIX
- See Also:
-
EMPTY_AAD
public static final byte[] EMPTY_AAD -
CACHE_EXPIRY_SECS
- See Also:
-
CACHE_SIZE
- See Also:
-
CLOCK
- See Also:
-
-
Constructor Details
-
FieldEncryptionExecutor
public FieldEncryptionExecutor()
-
-
Method Details
-
addOriginalConfigs
public boolean addOriginalConfigs() -
configure
- Specified by:
configurein interfaceorg.apache.kafka.common.Configurable- Specified by:
configurein interfaceRuleBase- Overrides:
configurein classFieldRuleExecutor
-
type
-
getEncryptionExecutor
-
newTransform
public FieldEncryptionExecutor.FieldEncryptionExecutorTransform newTransform(RuleContext ctx) throws RuleException - Specified by:
newTransformin classFieldRuleExecutor- Throws:
RuleException
-
close
- Throws:
RuleException
-