

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
<a name="gen-encryption-schema-csv"></a>

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)](create-schema.md).

**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 yang relevan dengan enkripsi, lihat. [Parameter komputasi kriptografi](crypto-computing-parameters.md)

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

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

1. Nama setiap kolom target

1. 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 panjangnya`fixed`, 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 \$1disegel'> tipe padding: [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 (\$1fingerprint) atau entern. | Tidak berlaku | 
| Enkripsi kolom sebagai sealed kolom. | 1 | s | Pilih default atau masukkan nama header baru. | Masukkan y untuk memilih default (\$1sealed) atau entern. |  Pilih jenis padding. Untuk informasi selengkapnya, lihat [(Opsional) Buat skema (pengguna tingkat lanjut)](create-schema.md).  | 
| 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)](create-schema.md).  | 

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

**Topics**
+ [

## Contoh: Menghasilkan skema enkripsi untuk fingerprint kolom dan kolom cleartext
](#gen-encryption-schema_join)
+ [

## Contoh: Menghasilkan skema enkripsi dengansealed,fingerprint, dan kolom cleartext
](#gen-encryption-schema)

## Contoh: Menghasilkan skema enkripsi untuk fingerprint kolom dan kolom cleartext
<a name="gen-encryption-schema_join"></a>

Dalam contoh ini, untuk`ads.csv`, hanya ada dua kolom: `username` dan`ad_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).

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

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

1. 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 lari`java --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`
`--interactive`Bendera 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)](create-schema.md).
`--output`Bendera 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`

1. Untuk`Number of target columns from source column ‘username’?`, enter **1** dan kemudian tekan **Enter**.

1. Untuk`Target column type: [c]leartext, [f]ingerprint, or [s]ealed?`, enter **f** dan kemudian tekan **Enter**.

1. Untuk`Target column headername <default 'username'>`, tekan **Enter**.

   Nama default '`username`' digunakan.

1. Untuk`Add 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 (`_fingerprint`untuk kolom dan untuk fingerprint kolom). `_sealed` sealed Sufiks mungkin berguna saat Anda melakukan tugas seperti mengunggah data 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.

1. Untuk`Number of target columns from source column ‘ad_variant’?`, enter **1** dan kemudian tekan **Enter**.

1. Untuk`Target column type: [c]leartext, [f]ingerprint, or [s]ealed?`, enter **c** dan kemudian tekan **Enter**.

1. Untuk`Target column headername <default 'username'>`, tekan **Enter**.

   Nama default '`ad_variant`' digunakan.

   Skema ditulis ke file baru bernama`ads.json`.
**catatan**  
Anda dapat melihat skema dengan membukanya di editor teks apa pun, seperti Notepad on Windows atau TextEdit onmacOS.

1. Anda sekarang siap untuk [mengenkripsi data](encrypt-data.md). 

## Contoh: Menghasilkan skema enkripsi dengansealed,fingerprint, dan kolom cleartext
<a name="gen-encryption-schema"></a>

Dalam contoh ini, untuk`sales.csv`, ada tiga kolom:`username`,`purchased`, dan`product`. 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).

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

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

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

   `java -jar c3r-cli.jar schema sales.csv --interactive --output=sales.json`
**catatan**  
`--interactive`Bendera 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)](create-schema.md).
Untuk file.csv tanpa header kolom, lihat `--noHeaders` tanda untuk perintah skema yang tersedia di CLI.
`--output`Bendera 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`

1. Untuk`Number of target columns from source column ‘username’?`, enter **1** dan kemudian tekan **Enter**.

1. Untuk`Target column type: [c]leartext, [f]ingerprint, or [s]ealed?`, enter **f** dan kemudian tekan **Enter**.

1. Untuk`Target column headername <default 'username'>`, tekan **Enter**.

   Nama default '`username`' digunakan.

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

1. Untuk`Number of target columns from source column ‘purchased’?`, enter **1** dan kemudian tekan **Enter**.

1. Untuk`Target column type: [c]leartext, [f]ingerprint, or [s]ealed?`, enter **c** dan kemudian tekan **Enter**.

1. Untuk`Target column headername <default 'purchased'>`, tekan **Enter**.

   Nama default '`purchased`' digunakan.

1. Untuk`Number of target columns from source column ‘product’?`, enter **1** dan kemudian tekan **Enter**.

1. Untuk`Target column type: [c]leartext, [f]ingerprint, or [s]ealed?`, enter **s** dan kemudian tekan **Enter**.

1. Untuk`Target column headername <default 'product'>`, tekan **Enter**.

   Nama default '`product`' digunakan.

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

1. 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 bernama`sales.json`.

1. Anda sekarang siap untuk [mengenkripsi data](encrypt-data.md). 