Schritt 4: Generieren Sie ein Verschlüsselungsschema für eine tabellarische Datei - AWS Clean Rooms

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schritt 4: Generieren Sie ein Verschlüsselungsschema für eine tabellarische Datei

Um Daten zu verschlüsseln, ist ein Verschlüsselungsschema erforderlich, das beschreibt, wie die Daten verwendet werden. In diesem Abschnitt wird beschrieben, wie der C3R-Verschlüsselungsclient bei der Generierung eines Verschlüsselungsschemas für eine CSV Datei mit einer Kopfzeile oder einer Parquet Datei hilft.

Sie müssen dies nur einmal pro Datei tun. Sobald das Schema existiert, kann es wiederverwendet werden, um dieselbe Datei (oder eine beliebige Datei mit identischen Spaltennamen) zu verschlüsseln. Wenn sich die Spaltennamen oder das gewünschte Verschlüsselungsschema ändern, müssen Sie die Schemadatei aktualisieren. Weitere Informationen finden Sie unter (Optional) Erstellen Sie ein Schema (fortgeschrittene Benutzer).

Wichtig

Es ist von größter Bedeutung, dass alle beteiligten Parteien denselben gemeinsamen geheimen Schlüssel verwenden. Die beteiligten Parteien sollten auch die Spaltennamen so koordinieren, dass sie übereinstimmen, ob sie bei Abfragen JOIN bearbeitet oder auf andere Weise auf Gleichheit verglichen werden. Andernfalls könnten die SQL Abfragen zu unerwarteten oder falschen Ergebnissen führen. Dies ist jedoch nicht erforderlich, wenn der Kollaborationsersteller die allowJoinsOnColumnsWithDifferentNames Verschlüsselungseinstellung bei der Erstellung der Kollaboration aktiviert hat. Weitere Informationen zu verschlüsselungsrelevanten Einstellungen finden Sie unter. Kryptografische Rechenparameter

Wenn der C3R-Verschlüsselungsclient im Schemamodus ausgeführt wird, durchsucht er die Eingabedatei spaltenweise und fragt Sie, ob und wie diese Spalte behandelt werden soll. Wenn die Datei viele Spalten enthält, die für die verschlüsselte Ausgabe nicht benötigt werden, kann die interaktive Schemagenerierung mühsam werden, da Sie jede unerwünschte Spalte überspringen müssen. Um dies zu vermeiden, könnten Sie manuell ein Schema schreiben oder eine vereinfachte Version der Eingabedatei erstellen, die nur die gewünschten Spalten enthält. Dann könnte der interaktive Schema-Generator für diese reduzierte Datei ausgeführt werden. Der C3R-Verschlüsselungsclient gibt Informationen über die Schemadatei aus und fragt Sie, wie die Quellspalten (wenn überhaupt) in der Zielausgabe enthalten oder verschlüsselt werden sollen.

Für jede Quellspalte in der Eingabedatei werden Sie aufgefordert, Folgendes einzugeben:

  1. Wie viele Zielspalten sollen generiert werden

  2. Wie soll jede Zielspalte verschlüsselt werden (wenn überhaupt)

  3. Der Name jeder Zielspalte

  4. Wie Daten vor der Verschlüsselung aufgefüllt werden sollen, wenn die Spalte als sealed Spalte verschlüsselt wird

Anmerkung

Wenn Sie Daten für eine Spalte verschlüsseln, die als Spalte verschlüsselt wurde, müssen Sie festlegen, welche Daten aufgefüllt werden müssen. sealed Der C3R-Verschlüsselungsclient schlägt bei der Schemagenerierung ein Standard-Padding vor, bei dem alle Einträge in einer Spalte auf dieselbe Länge aufgefüllt werden.

Beachten Sie bei der Bestimmung der Länge fürfixed, dass das Auffüllen in Byte und nicht in Bits erfolgt.

Im Folgenden finden Sie eine Entscheidungstabelle für die Erstellung des Schemas.

Schema-Entscheidungstabelle
Entscheidung Anzahl der Zielspalten aus der Quellspalte <' name-of-column '>? Zielspaltentyp: [c]cleartext, [f] fingerprint oder [s]? sealed Headername der Zielspalte <default 'name-of-column'> Fügen Sie der <suffix>Kopfzeile ein Suffix hinzu, um anzugeben, wie sie verschlüsselt wurde, [y] ja oder [n] nein <default 'yes'> <' name-of-column _sealed'> Füllungstyp: [n] eins, [f] fest oder [m] max <default 'max'>
Lassen Sie die Spalte unverschlüsselt. 1 c Nicht zutreffend Nicht zutreffend Nicht zutreffend
Verschlüsseln Sie die Spalte als fingerprint Spalte. 1 f Wählen Sie Standard oder geben Sie einen neuen Header-Namen ein. Geben Sie einy, um Standard (_fingerprint) zu wählen, oder geben Sie die Eingabetaste einn. Nicht zutreffend
Verschlüsseln Sie die Spalte als sealed Spalte. 1 S Wählen Sie Standard oder geben Sie einen neuen Header-Namen ein. Geben Sie einy, um Standard (_sealed) zu wählen, oder geben Sie die Eingabetaste einn.

Wählen Sie den Polstertyp.

Weitere Informationen finden Sie unter (Optional) Erstellen Sie ein Schema (fortgeschrittene Benutzer).

Verschlüsseln Sie die Spalte sowohl als auchfingerprint. sealed 2

Geben Sie die erste Zielspalte ein: f.

Geben Sie die zweite Zielspalte ein: s.

Wählen Sie die Zielüberschriften für jede Zielspalte aus. Geben Sie einy, um Standard zu wählen, oder geben Sie ein n.

Wählen Sie den Fülltyp (nur für sealed Spalten).

Weitere Informationen finden Sie unter (Optional) Erstellen Sie ein Schema (fortgeschrittene Benutzer).

Im Folgenden finden Sie zwei Beispiele für die Erstellung von Verschlüsselungsschemas. Der genaue Inhalt Ihrer Interaktion hängt von der Eingabedatei und den Antworten ab, die Sie geben.

Beispiel: Generieren Sie ein Verschlüsselungsschema für eine fingerprint Spalte und eine cleartext Spalte

In diesem Beispiel gibt ads.csv es für nur zwei Spalten: username undad_variant. Für diese Spalten wollen wir Folgendes:

  • Damit die username Spalte als fingerprint Spalte verschlüsselt wird

  • Damit die ad_variant Spalte eine cleartext Spalte ist

Um ein Verschlüsselungsschema für eine fingerprint Spalte und eine cleartext Spalte zu generieren
  1. (Optional) Um sicherzustellen, dass die c3r-cli.jar Datei und die zu verschlüsselnde Datei vorhanden sind:

    1. Navigieren Sie zum gewünschten Verzeichnis und führen Sie es aus ls (falls Sie ein Mac oderUnix/verwendenLinux) oder dir wenn SieWindows) verwenden.

    2. Sehen Sie sich die Liste der tabellarischen Datendateien an (z. B. CSV) und wählen Sie eine zu verschlüsselnde Datei aus.

      In diesem Beispiel ads.csv ist das die Datei, die wir verschlüsseln möchten.

  2. Führen Sie in der den folgenden Befehl ausCLI, um interaktiv ein Schema zu erstellen.

    java -jar c3r-cli.jar schema ads.csv --interactive --output=ads.json

    Anmerkung
    • Sie können ausführenjava --jar PATH/TO/c3r-cli.jar. Oder, wenn Sie PATH/TO/c3r-cli.jar zu Ihrer CLASSPATH Umgebungsvariablen etwas hinzugefügt haben, können Sie auch den Klassennamen ausführen. Der C3R-Verschlüsselungsclient sucht in derCLASSPATH, um ihn zu finden (zum Beispieljava com.amazon.psion.cli.Main).

    • Das --interactive Flag wählt den interaktiven Modus für die Entwicklung des Schemas aus. Dadurch wird der Benutzer durch einen Assistenten zum Erstellen des Schemas geführt. Benutzer mit fortgeschrittenen Kenntnissen können ihr eigenes Schema erstellen, JSON ohne den Assistenten verwenden zu müssen. Weitere Informationen finden Sie unter (Optional) Erstellen Sie ein Schema (fortgeschrittene Benutzer).

    • Das --output Flag legt einen Ausgabenamen fest. Wenn Sie das --output Flag nicht angeben, versucht der C3R-Verschlüsselungsclient, einen Standardausgabenamen zu wählen (z. B. <input>.out.csv oder für das Schema<input>.json).

  3. Geben Sie für Number of target columns from source column ‘username’? die Eingabe ein 1 und drücken Sie dann die Eingabetaste.

  4. Geben Sie für Target column type: [c]leartext, [f]ingerprint, or [s]ealed? ein f und drücken Sie dann die Eingabetaste.

  5. Drücken Sie für Target column headername <default 'username'> die Eingabetaste.

    Der Standardname 'username' wird verwendet.

  6. Geben Sie für Add suffix '_fingerprint' to header to indicate how it was encrypted, [y]es or [n]o <default 'yes'> ein y und drücken Sie dann die Eingabetaste.

    Anmerkung

    Der interaktive Modus schlägt Suffixe vor, die zu den verschlüsselten Spaltenüberschriften hinzugefügt werden sollen (_fingerprintfür fingerprint Spalten und _sealed für sealed Spalten). Die Suffixe können hilfreich sein, wenn Sie Aufgaben wie das Hochladen von Daten in Kollaborationen oder das Erstellen von Kollaborationen ausführen. AWS-Services AWS Clean Rooms Anhand dieser Suffixe kann angegeben werden, was mit den verschlüsselten Daten in den einzelnen Spalten geschehen kann. Zum Beispiel funktionieren Dinge nicht, wenn Sie eine Spalte als sealed Spalte (_sealed) verschlüsseln und versuchen, dies zu JOIN tun, oder wenn Sie es umgekehrt versuchen.

  7. Geben Sie für Number of target columns from source column ‘ad_variant’? die Eingabe ein 1 und drücken Sie dann die Eingabetaste.

  8. Geben Sie für Target column type: [c]leartext, [f]ingerprint, or [s]ealed? ein c und drücken Sie dann die Eingabetaste.

  9. Drücken Sie für Target column headername <default 'username'> die Eingabetaste.

    Der Standardname 'ad_variant' wird verwendet.

    Das Schema wird in eine neue Datei mit dem Namen geschriebenads.json.

    Anmerkung

    Sie können das Schema anzeigen, indem Sie es in einem beliebigen Texteditor öffnen, z. B. Notepad on Windows oder TextEdit onmacOS.

  10. Sie sind jetzt bereit, Daten zu verschlüsseln.

Beispiel: Generieren Sie ein Verschlüsselungsschema mit sealed Spaltenfingerprint, und cleartext

In diesem Beispiel gibt sales.csv es für drei Spalten: usernamepurchased, undproduct. Für diese Spalten wollen wir Folgendes:

  • Damit die product Spalte eine sealed Spalte ist

  • Damit die username Spalte als fingerprint Spalte verschlüsselt wird

  • Damit die purchased Spalte eine cleartext Spalte ist

Um ein Verschlüsselungsschema mit sealedfingerprint, und cleartext Spalten zu generieren
  1. (Optional) Um sicherzustellen, dass die c3r-cli.jar Datei und die zu verschlüsselnde Datei vorhanden sind:

    1. Navigieren Sie zum gewünschten Verzeichnis und führen Sie es aus ls (falls Sie ein Mac oderUnix/verwendenLinux) oder dir wenn SieWindows) verwenden.

    2. Sehen Sie sich die Liste der tabellarischen Datendateien (.csv) an und wählen Sie eine zu verschlüsselnde Datei aus.

      In diesem Beispiel sales.csv ist das die Datei, die wir verschlüsseln möchten.

  2. Führen Sie in der den folgenden Befehl ausCLI, um interaktiv ein Schema zu erstellen.

    java -jar c3r-cli.jar schema sales.csv --interactive --output=sales.json

    Anmerkung
    • Das --interactive Flag wählt den interaktiven Modus für die Schemaentwicklung aus. Dadurch wird der Benutzer durch einen geführten Arbeitsablauf zur Erstellung des Schemas geführt.

    • Wenn Sie ein erfahrener Benutzer sind, können Sie Ihr eigenes Schema erstellen, JSON ohne den geführten Workflow verwenden zu müssen. Weitere Informationen finden Sie unter (Optional) Erstellen Sie ein Schema (fortgeschrittene Benutzer).

    • Informationen zu CSV-Dateien ohne Spaltenüberschriften finden Sie unter dem --noHeaders Kennzeichen für den Befehl schema, das in der verfügbar ist. CLI

    • Das --output Flag legt einen Ausgabenamen fest. Wenn Sie das --output Flag nicht angeben, versucht der C3R-Verschlüsselungsclient, einen Standardausgabenamen zu wählen (z. B. <input>.out oder für das Schema<input>.json).

  3. Geben Sie für Number of target columns from source column ‘username’? die Eingabe ein 1 und drücken Sie dann die Eingabetaste.

  4. Geben Sie für Target column type: [c]leartext, [f]ingerprint, or [s]ealed? ein f und drücken Sie dann die Eingabetaste.

  5. Drücken Sie für Target column headername <default 'username'> die Eingabetaste.

    Der Standardname 'username' wird verwendet.

  6. Geben Sie für Add suffix '_fingerprint' to header to indicate how it was encrypted, [y]es or [n]o <default 'yes'> ein y und drücken Sie dann die Eingabetaste.

  7. Geben Sie für Number of target columns from source column ‘purchased’? ein 1 und drücken Sie dann die Eingabetaste.

  8. Geben Sie für Target column type: [c]leartext, [f]ingerprint, or [s]ealed? ein c und drücken Sie dann die Eingabetaste.

  9. Drücken Sie für Target column headername <default 'purchased'> die Eingabetaste.

    Der Standardname 'purchased' wird verwendet.

  10. Geben Sie für Number of target columns from source column ‘product’? ein 1 und drücken Sie dann die Eingabetaste.

  11. Geben Sie für Target column type: [c]leartext, [f]ingerprint, or [s]ealed? ein s und drücken Sie dann die Eingabetaste.

  12. Drücken Sie für Target column headername <default 'product'> die Eingabetaste.

    Der Standardname 'product' wird verwendet.

  13. Drücken Sie für die Eingabetaste ‘product_sealed’ padding type: [n]one, [f]ixed, or [m]ax <default ’max’?>, um die Standardeinstellung auszuwählen.

  14. Byte-length beyond max length to pad cleartext to in ‘product_sealed’ <default ‘0’>?Drücken Sie die Eingabetaste, um die Standardeinstellung auszuwählen.

    Das Schema wird in eine neue Datei mit dem Namen geschriebensales.json.

  15. Sie sind jetzt bereit, Daten zu verschlüsseln.