Langkah 4: Buat skema enkripsi untuk file tabular - AWS Clean Rooms

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Langkah 4: Buat skema enkripsi untuk file tabular

Untuk mengenkripsi data, diperlukan skema enkripsi yang menjelaskan bagaimana data akan digunakan. Bagian ini menjelaskan bagaimana klien enkripsi C3R membantu dalam menghasilkan skema enkripsi untuk file CSV dengan baris header atau file. Parquet

Anda hanya perlu melakukan ini sekali per file. Setelah skema ada, dapat digunakan kembali untuk mengenkripsi file yang sama (atau file apa pun dengan nama kolom yang identik). Jika nama kolom atau skema enkripsi yang diinginkan berubah, Anda harus memperbarui file skema. Untuk informasi selengkapnya, lihat (Opsional) Buat skema (pengguna tingkat lanjut).

penting

Sangat penting bahwa semua pihak yang berkolaborasi menggunakan kunci rahasia bersama yang sama. Pihak yang berkolaborasi juga harus mengoordinasikan nama kolom agar sesuai jika mereka akan JOIN di-ed atau dibandingkan untuk kesetaraan dalam kueri. Jika tidak, kueri SQL mungkin menghasilkan hasil yang tidak terduga atau salah. Namun, ini tidak diperlukan jika pembuat kolaborasi mengaktifkan pengaturan allowJoinsOnColumnsWithDifferentNames enkripsi selama pembuatan kolaborasi. Untuk informasi selengkapnya tentang setelan terkait enkripsi, lihat. Parameter komputasi kriptografi

Ketika dijalankan dalam mode skema, klien enkripsi C3R melewati kolom file input demi kolom, meminta Anda apakah dan bagaimana kolom itu harus diperlakukan. Jika file berisi banyak kolom yang tidak diinginkan untuk output terenkripsi, pembuatan skema interaktif mungkin menjadi membosankan karena Anda harus melewati setiap kolom yang tidak diinginkan. Untuk menghindari hal ini, Anda dapat menulis skema secara manual, atau membuat versi sederhana dari file input yang hanya menampilkan kolom yang diinginkan. Kemudian, generator skema interaktif dapat dijalankan pada file yang dikurangi itu. Klien enkripsi C3R mengeluarkan informasi tentang file skema dan menanyakan bagaimana kolom sumber harus disertakan atau dienkripsi (jika ada) dalam output target.

Untuk setiap kolom sumber dalam file input, Anda diminta untuk:

  1. Berapa banyak kolom target yang harus dihasilkan

  2. Bagaimana setiap kolom target harus dienkripsi (jika ada)

  3. Nama setiap kolom target

  4. Bagaimana data harus diempuk sebelum enkripsi jika kolom dienkripsi sebagai kolom sealed

catatan

Saat Anda mengenkripsi data untuk kolom yang telah dienkripsi sebagai sealed kolom, Anda harus menentukan data mana yang membutuhkan padding. Klien enkripsi C3R menyarankan padding default selama pembuatan skema yang membungkus semua entri dalam kolom dengan panjang yang sama.

Saat menentukan panjangnyafixed, perhatikan bahwa padding dalam byte, bukan bit.

Berikut ini adalah tabel keputusan untuk membuat skema.

Tabel keputusan skema
Keputusan Jumlah kolom target dari kolom sumber <' name-of-column '>? Jenis kolom target: [c]cleartext, [f]fingerprint, atau [s]sealed? Nama judul kolom target <default 'name-of-column'> Tambahkan akhiran <suffix>ke header untuk menunjukkan bagaimana itu dienkripsi, [y] ya atau [n] tidak <default 'yes'> <' name-of-column _disegel'> tipe bantalan: [n] satu, [f] tetap, atau [m] maks <default 'max'>
Biarkan kolom tidak terenkripsi. 1 c Tidak berlaku Tidak berlaku Tidak berlaku
Enkripsi kolom sebagai fingerprint kolom. 1 f Pilih default atau masukkan nama header baru. Masukkan y untuk memilih default (_fingerprint) atau entern. Tidak berlaku
Enkripsi kolom sebagai sealed kolom. 1 s Pilih default atau masukkan nama header baru. Masukkan y untuk memilih default (_sealed) atau entern.

Pilih jenis padding.

Untuk informasi selengkapnya, lihat (Opsional) Buat skema (pengguna tingkat lanjut).

Enkripsi kolom sebagai keduanya fingerprint dansealed. 2

Masukkan kolom target pertama: f.

Masukkan kolom target kedua: s.

Pilih header target untuk setiap kolom target. Masuk y untuk memilih default atau masuk n.

Pilih jenis padding (hanya untuk sealed kolom).

Untuk informasi selengkapnya, lihat (Opsional) Buat skema (pengguna tingkat lanjut).

Berikut ini adalah dua contoh cara membuat skema enkripsi. Konten yang tepat dari interaksi Anda tergantung pada file input dan tanggapan yang Anda berikan.

Contoh: Menghasilkan skema enkripsi untuk fingerprint kolom dan kolom cleartext

Dalam contoh ini, untukads.csv, hanya ada dua kolom: username danad_variant. Untuk kolom ini, kami menginginkan yang berikut:

  • Untuk username kolom yang akan dienkripsi sebagai kolom fingerprint

  • Untuk ad_variant kolom menjadi cleartext kolom

Untuk menghasilkan skema enkripsi untuk fingerprint kolom dan kolom cleartext
  1. (Opsional) Untuk memastikan c3r-cli.jar file dan file yang akan dienkripsi hadir:

    1. Arahkan ke direktori yang diinginkan dan jalankan ls (jika menggunakan Mac atauUnix/Linux) atau dir jika menggunakanWindows).

    2. Lihat daftar file data tabular (misalnya, .csv) dan pilih file untuk dienkripsi.

      Dalam contoh ini, ads.csv adalah file yang ingin kita enkripsi.

  2. Dari CLI, jalankan perintah berikut untuk membuat skema secara interaktif.

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

    catatan
    • Kau bisa larijava --jar PATH/TO/c3r-cli.jar. Atau, jika Anda telah menambahkan PATH/TO/c3r-cli.jar ke variabel lingkungan CLASSPATH Anda, Anda juga dapat menjalankan nama kelas. Klien enkripsi C3R akan mencari di CLASSPATH untuk menemukannya (misalnya,). java com.amazon.psion.cli.Main

    • --interactiveBendera memilih mode interaktif untuk mengembangkan skema. Ini memandu pengguna melalui wizard untuk membuat skema. Pengguna dengan keterampilan tingkat lanjut dapat membuat skema JSON mereka sendiri tanpa menggunakan wizard. Untuk informasi selengkapnya, lihat (Opsional) Buat skema (pengguna tingkat lanjut).

    • --outputBendera menetapkan nama output. Jika Anda tidak menyertakan --output bendera, klien enkripsi C3R mencoba memilih nama keluaran default (seperti <input>.out.csv atau untuk skema,). <input>.json

  3. UntukNumber of target columns from source column ‘username’?, enter 1 dan kemudian tekan Enter.

  4. UntukTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, enter f dan kemudian tekan Enter.

  5. UntukTarget column headername <default 'username'>, tekan Enter.

    Nama default 'username' digunakan.

  6. UntukAdd suffix '_fingerprint' to header to indicate how it was encrypted, [y]es or [n]o <default 'yes'>, enter y dan kemudian tekan Enter.

    catatan

    Mode interaktif menyarankan sufiks untuk ditambahkan ke header kolom terenkripsi (_fingerprintuntuk kolom dan untuk fingerprint kolom). _sealed sealed Sufiks mungkin berguna saat Anda melakukan tugas seperti mengunggah data ke Layanan AWS atau membuat kolaborasi. AWS Clean Rooms Sufiks ini dapat membantu menunjukkan apa yang dapat dilakukan dengan data terenkripsi di setiap kolom. Misalnya, hal-hal tidak akan berfungsi jika Anda mengenkripsi kolom sebagai sealed kolom (_sealed) dan mencoba JOIN melakukannya atau mencoba sebaliknya.

  7. UntukNumber of target columns from source column ‘ad_variant’?, enter 1 dan kemudian tekan Enter.

  8. UntukTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, enter c dan kemudian tekan Enter.

  9. UntukTarget column headername <default 'username'>, tekan Enter.

    Nama default 'ad_variant' digunakan.

    Skema ditulis ke file baru bernamaads.json.

    catatan

    Anda dapat melihat skema dengan membukanya di editor teks apa pun, seperti Notepad on Windows atau TextEdit onmacOS.

  10. Anda sekarang siap untuk mengenkripsi data.

Contoh: Menghasilkan skema enkripsi dengansealed,fingerprint, dan kolom cleartext

Dalam contoh ini, untuksales.csv, ada tiga kolom:username,purchased, danproduct. Untuk kolom ini, kami menginginkan yang berikut:

  • Untuk product kolom menjadi sealed kolom

  • Untuk username kolom yang akan dienkripsi sebagai kolom fingerprint

  • Untuk purchased kolom menjadi cleartext kolom

Untuk menghasilkan skema enkripsi dengansealed,fingerprint, dan kolom cleartext
  1. (Opsional) Untuk memastikan c3r-cli.jar file dan file yang akan dienkripsi hadir:

    1. Arahkan ke direktori yang diinginkan dan jalankan ls (jika menggunakan Mac atauUnix/Linux) atau dir jika menggunakanWindows).

    2. Lihat daftar file data tabular (.csv) dan pilih file untuk dienkripsi.

      Dalam contoh ini, sales.csv adalah file yang ingin kita enkripsi.

  2. Dari CLI, jalankan perintah berikut untuk membuat skema secara interaktif.

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

    catatan
    • --interactiveBendera memilih mode interaktif untuk mengembangkan skema. Ini memandu pengguna melalui alur kerja terpandu untuk membuat skema.

    • Jika Anda adalah pengguna tingkat lanjut, Anda dapat membuat skema JSON Anda sendiri tanpa menggunakan alur kerja yang dipandu. Untuk informasi selengkapnya, lihat (Opsional) Buat skema (pengguna tingkat lanjut).

    • Untuk file.csv tanpa header kolom, lihat --noHeaders tanda untuk perintah skema yang tersedia di CLI.

    • --outputBendera menetapkan nama output. Jika Anda tidak menyertakan --output bendera, klien enkripsi C3R mencoba memilih nama keluaran default (seperti <input>.out atau untuk skema,). <input>.json

  3. UntukNumber of target columns from source column ‘username’?, enter 1 dan kemudian tekan Enter.

  4. UntukTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, enter f dan kemudian tekan Enter.

  5. UntukTarget column headername <default 'username'>, tekan Enter.

    Nama default 'username' digunakan.

  6. UntukAdd suffix '_fingerprint' to header to indicate how it was encrypted, [y]es or [n]o <default 'yes'>, enter y dan kemudian tekan Enter.

  7. UntukNumber of target columns from source column ‘purchased’?, enter 1 dan kemudian tekan Enter.

  8. UntukTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, enter c dan kemudian tekan Enter.

  9. UntukTarget column headername <default 'purchased'>, tekan Enter.

    Nama default 'purchased' digunakan.

  10. UntukNumber of target columns from source column ‘product’?, enter 1 dan kemudian tekan Enter.

  11. UntukTarget column type: [c]leartext, [f]ingerprint, or [s]ealed?, enter s dan kemudian tekan Enter.

  12. UntukTarget column headername <default 'product'>, tekan Enter.

    Nama default 'product' digunakan.

  13. Untuk‘product_sealed’ padding type: [n]one, [f]ixed, or [m]ax <default ’max’?>, tekan Enter untuk memilih default.

  14. Untuk Byte-length beyond max length to pad cleartext to in ‘product_sealed’ <default ‘0’>? tekan Enter untuk memilih default.

    Skema ditulis ke file baru bernamasales.json.

  15. Anda sekarang siap untuk mengenkripsi data.