Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Fase 4: Generazione di uno schema di crittografia per un file tabulare
Per crittografare i dati, è necessario uno schema di crittografia che descriva come verranno utilizzati i dati. Questa sezione descrive come il client di crittografia C3R aiuta a generare uno schema di crittografia per un CSV file con una riga di intestazione o un file. Parquet
È necessario eseguire questa operazione solo una volta per file. Una volta che lo schema esiste, può essere riutilizzato per crittografare lo stesso file (o qualsiasi file con nomi di colonna identici). Se i nomi delle colonne o lo schema di crittografia desiderato cambiano, è necessario aggiornare il file dello schema. Per ulteriori informazioni, consulta (Facoltativo) Creare uno schema (utenti esperti).
Importante
È fondamentale che tutte le parti che collaborano utilizzino la stessa chiave segreta condivisa. Le parti che collaborano dovrebbero inoltre coordinare i nomi delle colonne in modo che corrispondano se verranno visualizzati o JOIN confrontati in altro modo per garantire l'uguaglianza nelle interrogazioni. In caso contrario, le SQL interrogazioni potrebbero produrre risultati imprevisti o errati. Tuttavia, ciò non è necessario se il creatore della collaborazione ha abilitato l'impostazione di allowJoinsOnColumnsWithDifferentNames
crittografia durante la creazione della collaborazione. Per ulteriori informazioni sulle impostazioni relative alla crittografia, consulta. Parametri di calcolo crittografico
Quando viene eseguito in modalità schema, il client di crittografia C3R analizza il file di input colonna per colonna, chiedendo se e come tale colonna debba essere trattata. Se il file contiene molte colonne non desiderate per l'output crittografato, la generazione dello schema interattivo potrebbe diventare noiosa perché è necessario saltare ogni colonna indesiderata. Per evitare ciò, è possibile scrivere manualmente uno schema o creare una versione semplificata del file di input contenente solo le colonne desiderate. Quindi, il generatore di schemi interattivo potrebbe essere eseguito su quel file ridotto. Il client di crittografia C3R fornisce informazioni sul file di schema e chiede all'utente come includere o crittografare (se del caso) le colonne di origine nell'output di destinazione.
Per ogni colonna di origine nel file di input, viene richiesto di:
-
Quante colonne di destinazione devono essere generate
-
Come deve essere crittografata ogni colonna di destinazione (se non del tutto)
-
Il nome di ogni colonna di destinazione
-
Come devono essere aggiunti i dati prima della crittografia se la colonna viene crittografata come sealed colonna
Nota
Quando si crittografano i dati per una colonna che è stata crittografata come sealed colonna, è necessario determinare quali dati devono essere riempiti. Il client di crittografia C3R suggerisce un riempimento predefinito durante la generazione dello schema che riempie tutte le voci di una colonna con la stessa lunghezza.
Quando si determina la lunghezza difixed
, si noti che il padding è in byte, non in bit.
Di seguito è riportata una tabella decisionale per la creazione dello schema.
Decisione | Numero di colonne di destinazione dalla colonna di origine <' name-of-column '>? | Tipo di colonna di destinazione: [c]cleartext, [f] fingerprint o [s]? sealed | Nome dell'intestazione della colonna di destinazione <default 'name-of-column'> | Aggiungi il suffisso <suffix>all'intestazione per indicare come è stata crittografata, [y] sì o [n] no <default 'yes'> | <' name-of-column _sealed'> tipo di imbottitura: [n] one, [f] fissa o [m] max <default 'max'> |
---|---|---|---|---|---|
Lascia la colonna non crittografata. | 1 | c | Non applicabile | Non applicabile | Non applicabile |
Crittografa la colonna come fingerprint colonna. | 1 | f | Scegli il valore predefinito o inserisci un nuovo nome di intestazione. | Immettete y per scegliere default (_fingerprint ) o invion . |
Non applicabile |
Crittografa la colonna come sealed colonna. | 1 | s | Scegli il valore predefinito o inserisci un nuovo nome di intestazione. | Immettete y per scegliere default (_sealed ) o invion . |
Scegliete il tipo di imbottitura. Per ulteriori informazioni, consulta (Facoltativo) Creare uno schema (utenti esperti). |
Crittografa la colonna sia come siafingerprint. sealed | 2 |
Inserisci la prima colonna di destinazione: f. Inserisci la seconda colonna di destinazione: s. |
Scegli le intestazioni di destinazione per ogni colonna di destinazione. | Inserisci y per scegliere il valore predefinito o inserisci n. |
Scegli il tipo di spaziatura (solo per sealed le colonne). Per ulteriori informazioni, consulta (Facoltativo) Creare uno schema (utenti esperti). |
Di seguito sono riportati due esempi di come creare schemi di crittografia. Il contenuto esatto dell'interazione dipende dal file di input e dalle risposte fornite.
Esempi
Esempio: generazione di uno schema di crittografia per una fingerprint colonna e una cleartext colonna
In questo esempio, perads.csv
, ci sono solo due colonne: username
ead_variant
. Per queste colonne, vogliamo quanto segue:
-
Affinché la
username
colonna venga crittografata comefingerprint
colonna -
Perché la
ad_variant
colonna sia unacleartext
colonna
Per generare uno schema di crittografia per una fingerprint colonna e una cleartext colonna
-
(Facoltativo) Per garantire la presenza del c3r-cli.jar file e del file da crittografare:
-
Accedere alla directory desiderata ed eseguire
ls
(se si utilizza un Mac oUnix/Linux) odir
se si utilizzaWindows). -
Visualizza l'elenco dei file di dati tabulari (ad esempio, .csv) e scegli un file da crittografare.
In questo esempio,
ads.csv
è il file che vogliamo crittografare.
-
-
DaCLI, esegui il seguente comando per creare uno schema in modo interattivo.
java -jar c3r-cli.jar schema ads.csv --interactive --output=ads.json
Nota
-
Puoi correre
java --jar PATH/TO/c3r-cli.jar
. Oppure, se l'hai aggiuntaPATH/TO/c3r-cli.jar
alla variabile di CLASSPATH ambiente, puoi anche eseguire il nome della classe. Il client di crittografia C3R cercherà di trovarla (ad esempio,java com.amazon.psion.cli.Main
). CLASSPATH -
Il
--interactive
flag seleziona la modalità interattiva per lo sviluppo dello schema. Questo guida l'utente attraverso una procedura guidata per la creazione dello schema. Gli utenti con competenze avanzate possono creare il proprio schema JSON senza utilizzare la procedura guidata. Per ulteriori informazioni, consulta (Facoltativo) Creare uno schema (utenti esperti). -
Il
--output
flag imposta un nome di output. Se non includi il--output
flag, il client di crittografia C3R tenta di scegliere un nome di output predefinito (ad esempio<input>.out.csv
o per lo schema,<input>.json
).
-
-
Per
Number of target columns from source column ‘username’?
, inserisci1
e poi premi Invio. -
Per
Target column type: [c]leartext, [f]ingerprint, or [s]ealed?
, inseriscif
e poi premi Invio. -
Per
Target column headername <default 'username'>
, premi Invio.Viene utilizzato il nome predefinito
username
''. -
Per
Add suffix '_fingerprint' to header to indicate how it was encrypted, [y]es or [n]o <default 'yes'>
, inserisciy
e poi premi Invio.Nota
La modalità interattiva suggerisce suffissi da aggiungere alle intestazioni delle colonne crittografate (
_fingerprint
per fingerprint colonne e_sealed
per sealed colonne). I suffissi possono essere utili quando si eseguono attività come il caricamento di dati o la creazione di collaborazioni. Servizi AWS AWS Clean Rooms Questi suffissi possono aiutare a indicare cosa si può fare con i dati crittografati in ogni colonna. Ad esempio, le cose non funzioneranno se si crittografa una colonna come sealed colonna (_sealed
) e si tenta di inserirla o si tenta il JOIN contrario. -
Per
Number of target columns from source column ‘ad_variant’?
, inserisci1
e poi premi Invio. -
Per
Target column type: [c]leartext, [f]ingerprint, or [s]ealed?
, inseriscic
e poi premi Invio. -
Per
Target column headername <default 'username'>
, premi Invio.Viene utilizzato il nome predefinito
ad_variant
''.Lo schema viene scritto in un nuovo file chiamato
ads.json
.Nota
È possibile visualizzare lo schema aprendolo in qualsiasi editor di testo, ad esempio Notepad on Windows or TextEdit onmacOS.
-
Ora sei pronto per crittografare i dati.
Esempio: generazione di uno schema di crittografia con sealedfingerprint, e colonne cleartext
In questo esempio, forsales.csv
, sono presenti tre colonne:username
,purchased
, eproduct
. Per queste colonne, vogliamo quanto segue:
-
Perché la
product
colonna sia unasealed
colonna -
Perché la
username
colonna venga crittografata comefingerprint
colonna -
Perché la
purchased
colonna sia unacleartext
colonna
Per generare uno schema di crittografia con sealedfingerprint, e cleartext colonne
-
(Facoltativo) Per garantire la presenza del c3r-cli.jar file e del file da crittografare:
-
Accedere alla directory desiderata ed eseguire
ls
(se si utilizza un Mac oUnix/Linux) odir
se si utilizzaWindows). -
Visualizza l'elenco dei file di dati tabulari (.csv) e scegli un file da crittografare.
In questo esempio,
sales.csv
è il file che vogliamo crittografare.
-
-
DaCLI, esegui il seguente comando per creare uno schema in modo interattivo.
java -jar c3r-cli.jar schema sales.csv --interactive --output=sales.json
Nota
-
Il
--interactive
flag seleziona la modalità interattiva per lo sviluppo dello schema. Questo guida l'utente attraverso un flusso di lavoro guidato per la creazione dello schema. -
Se sei un utente esperto, puoi creare il tuo schema JSON senza utilizzare il flusso di lavoro guidato. Per ulteriori informazioni, consulta (Facoltativo) Creare uno schema (utenti esperti).
-
Per i file.csv senza intestazioni di colonna, consultate il
--noHeaders
flag relativo al comando schema disponibile in. CLI -
Il
--output
flag imposta un nome di output. Se non includi il--output
flag, il client di crittografia C3R tenta di scegliere un nome di output predefinito (ad esempio<input>.out
o per lo schema,<input>.json
).
-
-
Per
Number of target columns from source column ‘username’?
, inserisci1
e poi premi Invio. -
Per
Target column type: [c]leartext, [f]ingerprint, or [s]ealed?
, inseriscif
e poi premi Invio. -
Per
Target column headername <default 'username'>
, premi Invio.Viene utilizzato il nome predefinito
username
''. -
Per
Add suffix '_fingerprint' to header to indicate how it was encrypted, [y]es or [n]o <default 'yes'>
, inserisciy
e poi premi Invio. -
Per
Number of target columns from source column ‘purchased’?
, inserisci1
e poi premi Invio. -
Per
Target column type: [c]leartext, [f]ingerprint, or [s]ealed?
, inseriscic
e poi premi Invio. -
Per
Target column headername <default 'purchased'>
, premi Invio.Viene utilizzato il nome predefinito
purchased
''. -
Per
Number of target columns from source column ‘product’?
, inserisci1
e poi premi Invio. -
Per
Target column type: [c]leartext, [f]ingerprint, or [s]ealed?
, inseriscis
e poi premi Invio. -
Per
Target column headername <default 'product'>
, premi Invio.Viene utilizzato il nome predefinito
product
''. -
Per
‘product_sealed’ padding type: [n]one, [f]ixed, or [m]ax <default ’max’?>
, premi Invio per scegliere il valore predefinito. -
Per
Byte-length beyond max length to pad cleartext to in ‘product_sealed’ <default ‘0’>?
premere Invio per scegliere l'impostazione predefinita.Lo schema viene scritto in un nuovo file chiamato
sales.json
. -
Ora sei pronto per crittografare i dati.