0 / 0
Torna alla versione inglese della documentazione
Gestione chiavi per applicazione
Ultimo aggiornamento: 07 ott 2024
Gestione chiavi per applicazione

Questo argomento descrive come gestire le chiavi di codifica delle colonne per applicazione. Spiega come fornire chiavi di master e come scrivere e leggere i dati crittografati utilizzando queste chiavi padronali.

Fornire chiavi di master

Per fornire le chiavi principali:

  1. Passare le chiavi master esplicite, nel seguente formato:

    parameter name: "encryption.key.list"
    parameter value: "<master key ID>:<master key (base64)> , <master key ID>:<master key (base64)>.."
    

    Ad esempio:

    sc.hadoopConfiguration.set("encryption.key.list" , "k1:iKwfmI5rDf7HwVBcqeNE6w== , k2:LjxH/aXxMduX6IQcwQgOlw== , k3:rnZHCxhUHr79Y6zvQnxSEQ==")
    

    La lunghezza delle chiavi principali prima della codifica base64 può essere di 16, 24 o 32 bytes (128, 192 o 256).

Scrittura dati crittografati

Per scrivere i dati crittografati:

  1. Specificare quali colonne crittografare, e quali chiavi principali utilizzare:

    parameter name:  "encryption.column.keys"
    parameter value: "<master key ID>:<column>,<column>;<master key ID>:<column> .."
    
  2. Specificare la chiave di piè di pagina:

    parameter name:  "encryption.footer.key"
    parameter value:  "<master key ID>"
    

    Ad esempio:

    dataFrame.write
    .option("encryption.footer.key" , "k1")
    .option("encryption.column.keys" , "k2:SSN,Address;k3:CreditCard")
    .parquet("<path to encrypted files>")
    
    Nota: ` "" ` deve contenere la stringa ` .encrypted ` nell'URL, ad esempio `/path/to/my_table.parquet.encrypted`. Se il parametro ` "encryption.column.keys" ` o il parametro ` "encryption.footer.key" ` non è impostato, verrà generata un'eccezione.

Lettura dati crittografati

I metadati richiesti vengono memorizzati nei file Parquet crittografati.

Per leggere i dati crittografati:

  1. Fornire le chiavi di codifica:

    sc.hadoopConfiguration.set("encryption.key.list" , "k1:iKwfmI5rDf7HwVBcqeNE6w== , k2:LjxH/aXxMduX6IQcwQgOlw== , k3:rnZHCxhUHr79Y6zvQnxSEQ==")
    
  2. Chiamate i comandi di lettura dei parquet regolari, quali:

    val dataFrame = spark.read.parquet("<path to encrypted files>")
    
    Nota: ` "" ` deve contenere la stringa ` .encrypted ` nell'URL, ad esempio `/path/to/my_table.parquet.encrypted`.

Argomento principale: La crittografia del Parquet