pyarrow.parquet.encryption.EncryptionConfiguration

class pyarrow.parquet.encryption.EncryptionConfiguration(footer_key, column_keys=None, *, encryption_algorithm=None, plaintext_footer=None, double_wrapping=None, cache_lifetime=None, internal_key_material=None, data_key_length_bits=None)

Bases: _Weakrefable

Configuration of the encryption, such as which columns to encrypt

__init__(*args, **kwargs)

Methods

__init__(*args, **kwargs)

Attributes

cache_lifetime

Lifetime of cached entities (key encryption keys, local wrapping keys, KMS client objects).

column_keys

List of columns to encrypt, with master key IDs.

data_key_length_bits

Length of data encryption keys (DEKs), randomly generated by parquet key management tools.

double_wrapping

Use double wrapping - where data encryption keys (DEKs) are encrypted with key encryption keys (KEKs), which in turn are encrypted with master keys.

encryption_algorithm

Parquet encryption algorithm.

footer_key

ID of the master key for footer encryption/signing

internal_key_material

Store key material inside Parquet file footers; this mode doesn’t produce additional files.

plaintext_footer

Write files with plaintext footer.

cache_lifetime

Lifetime of cached entities (key encryption keys, local wrapping keys, KMS client objects).

column_keys

List of columns to encrypt, with master key IDs.

data_key_length_bits

Length of data encryption keys (DEKs), randomly generated by parquet key management tools. Can be 128, 192 or 256 bits.

double_wrapping

Use double wrapping - where data encryption keys (DEKs) are encrypted with key encryption keys (KEKs), which in turn are encrypted with master keys. If set to false, use single wrapping - where DEKs are encrypted directly with master keys.

encryption_algorithm

Parquet encryption algorithm. Can be “AES_GCM_V1” (default), or “AES_GCM_CTR_V1”.

footer_key

ID of the master key for footer encryption/signing

internal_key_material

Store key material inside Parquet file footers; this mode doesn’t produce additional files. If set to false, key material is stored in separate files in the same folder, which enables key rotation for immutable Parquet files.

Write files with plaintext footer.