

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

# Menyiapkan alur kerja terkelola untuk mendekripsi file
<a name="workflow-decrypt-tutorial"></a>

Tutorial ini menggambarkan cara mengatur alur kerja terkelola yang berisi langkah dekripsi. Tutorial ini juga menunjukkan cara mengunggah file terenkripsi ke bucket Amazon S3 dan kemudian melihat file yang didekripsi di bucket yang sama.

**catatan**  
Blog AWS penyimpanan memiliki posting yang menjelaskan cara mendekripsi file tanpa menulis kode apa pun menggunakan alur kerja Transfer Family Managed, [Enkripsi dan dekripsi file dengan PGP dan](https://aws.amazon.com/blogs/storage/encrypt-and-decrypt-files-with-pgp-and-aws-transfer-family/). AWS Transfer Family

**Topics**
+ [Langkah 1: Konfigurasikan peran eksekusi](#create-example-execution-role)
+ [Langkah 2: Buat alur kerja terkelola](#create-example-workflow)
+ [Langkah 3: Tambahkan alur kerja ke server dan buat pengguna](#add-workflow-to-server)
+ [Langkah 4: Buat key pair PGP](#create-example-pgp-key-pair)
+ [Langkah 5: Simpan kunci pribadi PGP di AWS Secrets Manager](#output-private-key-to-secrets)
+ [Langkah 6: Enkripsi file](#encrypt-example-file)
+ [Langkah 7: Jalankan alur kerja dan lihat hasilnya](#test-decrypt-workflow)

## Langkah 1: Konfigurasikan peran eksekusi
<a name="create-example-execution-role"></a>

Buat peran eksekusi AWS Identity and Access Management (IAM) yang dapat digunakan Transfer Family untuk meluncurkan alur kerja. Proses pembuatan peran eksekusi dijelaskan dalam[Kebijakan IAM untuk alur kerja](workflow-execution-role.md).

**catatan**  
Sebagai bagian dari menciptakan peran eksekusi, pastikan untuk membangun hubungan kepercayaan antara peran eksekusi dan Transfer Family, seperti yang dijelaskan dalam[Untuk membangun hubungan kepercayaan](requirements-roles.md#establish-trust-transfer).

Kebijakan peran eksekusi berikut berisi semua izin yang diperlukan untuk memulai alur kerja yang Anda buat dalam tutorial ini. Untuk menggunakan kebijakan contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri. Ganti `amzn-s3-demo-bucket` dengan nama bucket Amazon S3 tempat Anda mengunggah file terenkripsi.

**catatan**  
Tidak setiap alur kerja memerlukan setiap izin yang tercantum dalam contoh ini. Anda dapat membatasi izin berdasarkan jenis langkah dalam alur kerja spesifik Anda. Izin yang diperlukan untuk setiap jenis langkah yang telah ditentukan dijelaskan dalam. [Gunakan langkah-langkah yang telah ditentukan](nominal-steps-workflow.md) Izin yang diperlukan untuk langkah kustom dijelaskan di[Izin IAM untuk langkah khusus](custom-step-details.md#custom-step-iam).

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "WorkflowsS3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectTagging",
                "s3:GetObjectVersion",
                "s3:PutObject",
                "s3:PutObjectTagging",
                "s3:ListBucket",
                "s3:PutObjectTagging",
                "s3:PutObjectVersionTagging",
                "s3:DeleteObjectVersion",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Sid": "DecryptSecret",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:aws/transfer/*"
        }
    ]
}
```

## Langkah 2: Buat alur kerja terkelola
<a name="create-example-workflow"></a>

Sekarang Anda perlu membuat alur kerja yang berisi langkah dekripsi.

**Untuk membuat alur kerja yang berisi langkah dekripsi**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Di panel navigasi kiri, pilih **Alur kerja, lalu pilih **Buat** alur kerja**. 

1. Masukkan detail berikut:
   + Masukkan deskripsi, misalnya**Decrypt workflow example**.
   + Di bagian **Langkah nominal**, pilih **Tambah langkah**.

1. **Untuk **Pilih jenis langkah**, pilih **Dekripsi file**, lalu pilih Berikutnya.**

1. <a name="configure-destination-details"></a>Dalam kotak dialog **Konfigurasi parameter**, tentukan yang berikut ini:
   + Masukkan nama langkah deskriptif, misalnya,**decrypt-step**. Spasi tidak diperbolehkan dalam nama langkah.
   + Untuk **Tujuan untuk file yang didekripsi**, pilih Amazon S3.
   + Untuk **nama bucket Tujuan**, pilih bucket Amazon S3 yang sama dengan yang Anda tentukan seperti `amzn-s3-demo-bucket` dalam kebijakan IAM yang Anda buat di Langkah 1.
   + Untuk **awalan kunci Destination, masukkan nama awalan** (folder) tempat Anda ingin menyimpan file yang didekripsi di bucket tujuan, misalnya,. **decrypted-files/**
**catatan**  
Pastikan untuk menambahkan trailing slash (**/**) ke awalan Anda.
   + Untuk tutorial ini, biarkan **Overwrite sudah** dihapus. Saat pengaturan ini dihapus, jika Anda mencoba mendekripsi file dengan nama identik dari file yang ada, pemrosesan alur kerja berhenti, dan file baru tidak diproses.

   Pilih **Berikutnya** untuk pindah ke layar ulasan.

1. Tinjau detail untuk langkahnya. Jika semuanya benar, pilih **Buat langkah**.

1. Alur kerja Anda hanya membutuhkan satu langkah dekripsi, jadi tidak ada langkah tambahan untuk mengonfigurasi. Pilih **Buat alur kerja** untuk membuat alur kerja baru.

Perhatikan ID alur kerja untuk alur kerja baru Anda. Anda akan memerlukan ID ini untuk langkah selanjutnya. Tutorial ini menggunakan *`w-1234abcd5678efghi`* sebagai contoh ID alur kerja. 

## Langkah 3: Tambahkan alur kerja ke server dan buat pengguna
<a name="add-workflow-to-server"></a>

Sekarang Anda memiliki alur kerja dengan langkah dekripsi, Anda harus mengaitkannya dengan server Transfer Family. Tutorial ini menunjukkan cara melampirkan alur kerja ke server Transfer Family yang ada. Atau, Anda dapat membuat server baru untuk digunakan dengan alur kerja Anda.

Setelah Anda melampirkan alur kerja ke server, Anda harus membuat pengguna yang dapat SFTP ke server dan memicu alur kerja untuk berjalan.

**Untuk mengonfigurasi server Transfer Family untuk menjalankan alur kerja**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Di panel navigasi kiri, pilih **Server**, lalu pilih server dari daftar. Pastikan server ini mendukung protokol SFTP.

1. Pada halaman detail untuk server, gulir ke bawah ke bagian **Detail tambahan**, lalu pilih **Edit**. 

1. Pada halaman **Edit detail tambahan**, di bagian **Alur kerja terkelola**, pilih alur kerja Anda, dan pilih peran eksekusi yang sesuai.
   + Untuk **Alur Kerja untuk upload file lengkap**, pilih alur kerja yang Anda buat[Langkah 2: Buat alur kerja terkelola](#create-example-workflow), misalnya,. **w-1234abcd5678efghi**
   + Untuk **peran eksekusi alur kerja terkelola**, pilih peran IAM yang Anda buat. [Langkah 1: Konfigurasikan peran eksekusi](#create-example-execution-role)

1. Gulir ke bagian bawah halaman, dan pilih **Simpan** untuk menyimpan perubahan Anda.

Perhatikan ID untuk server yang Anda gunakan. Nama AWS Secrets Manager rahasia yang Anda gunakan untuk menyimpan kunci PGP Anda sebagian didasarkan pada ID server.

**Untuk menambahkan pengguna yang dapat memicu alur kerja**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Di panel navigasi kiri, pilih **Server, lalu pilih server** yang Anda gunakan untuk mendekripsi alur kerja.

1. Pada halaman detail server, gulir ke bawah ke bagian **Pengguna**, dan pilih **Tambah pengguna**. 

1. Untuk pengguna baru Anda, masukkan detail berikut:
   + Untuk **Nama Pengguna**, masukkan**decrypt-user**.
   + Untuk **Peran**, pilih peran pengguna yang dapat mengakses server Anda.
   + Untuk **direktori Home**, pilih bucket Amazon S3 yang Anda gunakan sebelumnya, misalnya,. `amzn-s3-demo-bucket`
   + Untuk **kunci publik SSH**, tempelkan kunci publik yang sesuai dengan kunci pribadi yang Anda miliki. Lihat perinciannya di [Hasilkan kunci SSH untuk pengguna yang dikelola layanan](sshkeygen.md).

1. Pilih **Tambah** untuk menyimpan pengguna baru Anda.

Catat nama pengguna Transfer Family Anda untuk server ini. Rahasianya sebagian didasarkan pada nama pengguna. Untuk kesederhanaan, tutorial ini menggunakan rahasia default yang dapat digunakan oleh setiap pengguna server.

## Langkah 4: Buat key pair PGP
<a name="create-example-pgp-key-pair"></a>

Gunakan salah satu [klien PGP yang didukung](pgp-key-clients.md) untuk menghasilkan key pair PGP. Proses ini dijelaskan secara rinci dalam[Hasilkan kunci PGP](generate-pgp-keys.md).

**Untuk menghasilkan key pair PGP**

1. Untuk tutorial ini, Anda dapat menggunakan `gpg` (`GnuPG`) versi 2.0.22 klien untuk menghasilkan key pair PGP yang menggunakan RSA sebagai algoritma enkripsi. Untuk klien ini, jalankan perintah berikut, dan berikan alamat email dan frasa sandi. Anda dapat menggunakan nama atau alamat email apa pun yang Anda suka. Pastikan Anda mengingat nilai yang Anda gunakan, karena Anda harus memasukkannya nanti dalam tutorial.

   ```
   gpg --gen-key
   ```
**catatan**  
Jika Anda menggunakan `GnuPG` versi 2.3.0 atau yang lebih baru, Anda harus menjalankannya. `gpg --full-gen-key` Ketika diminta untuk jenis kunci yang akan dibuat, pilih RSA atau ECC. Jika Anda memilih **ECC**, Anda dapat memilih dariNIST, BrainPool dan Curve25519 untuk kurva elips. 

1. Ekspor kunci pribadi dengan menjalankan perintah berikut. Ganti `user@example.com` dengan alamat email yang Anda gunakan saat membuat kunci.

   ```
   gpg --output workflow-tutorial-key.pgp --armor --export-secret-key user@example.com
   ```

   Perintah ini mengekspor kunci pribadi ke **workflow-tutorial-key.pgp** file. Anda dapat memberi nama file output apa pun yang Anda suka. Anda juga dapat menghapus file kunci pribadi setelah Anda menambahkannya AWS Secrets Manager.

## Langkah 5: Simpan kunci pribadi PGP di AWS Secrets Manager
<a name="output-private-key-to-secrets"></a>

Anda perlu menyimpan kunci pribadi di Secrets Manager, dengan cara yang sangat spesifik, sehingga alur kerja dapat menemukan kunci pribadi saat alur kerja menjalankan langkah dekripsi pada file yang diunggah.

**catatan**  
Ketika Anda menyimpan rahasia di Secrets Manager, Anda Akun AWS dikenakan biaya. Untuk informasi tentang harga, lihat [AWS Secrets Manager Harga](https://aws.amazon.com/secrets-manager/pricing).

**Untuk menyimpan kunci pribadi PGP di Secrets Manager**

1. Masuk ke Konsol Manajemen AWS dan buka AWS Secrets Manager konsol di [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Pada panel navigasi kiri, pilih **Rahasia**. 

1. Pada halaman **Rahasia**, pilih **Simpan rahasia baru**.

1. Pada halaman **Pilih jenis rahasia**, untuk **tipe Rahasia**, pilih **Jenis rahasia lainnya**.

1. Di bagian **pasangan kunci/Nilai**, pilih tab **kunci/Nilai**.
   + **Kunci** — Masukkan**PGPPrivateKey**.
   + **nilai** — Tempelkan teks kunci pribadi Anda ke bidang nilai.

1. Pilih **Tambah baris**, dan di bagian **pasangan kunci/Nilai**, pilih tab **kunci/Nilai**.
   + **Kunci** — Masukkan**PGPPassphrase**.
   + **value** — Masukkan kata sandi yang Anda gunakan saat membuat key pair PGP. [Langkah 4: Buat key pair PGP](#create-example-pgp-key-pair)

1. Pilih **Berikutnya**.

1. Pada halaman **Konfigurasi rahasia**, masukkan nama dan deskripsi untuk rahasia Anda. Anda dapat membuat rahasia untuk pengguna tertentu atau yang dapat digunakan oleh semua pengguna. Jika ID server Anda*`s-11112222333344445`*, beri nama rahasianya sebagai berikut.
   + Untuk membuat rahasia default untuk semua pengguna, beri nama rahasianya**aws/transfer/*s-11112222333344445*/@pgp-default**.
   + Untuk membuat rahasia hanya untuk pengguna yang Anda buat sebelumnya, beri nama rahasianya**aws/transfer/*s-11112222333344445*/decrypt-user**.

1. Pilih **Berikutnya**, dan kemudian terima default pada halaman **Konfigurasi** rotasi. Lalu pilih **Selanjutnya**.

1. Pada halaman **Review**, pilih **Store** untuk membuat dan menyimpan rahasia.

Untuk informasi selengkapnya tentang menambahkan kunci pribadi PGP ke Secrets Manager, lihat [Menggunakan AWS Secrets Manager untuk menyimpan kunci PGP Anda](manage-pgp-keys.md#store-pgp-key-details).

## Langkah 6: Enkripsi file
<a name="encrypt-example-file"></a>

Gunakan `gpg` program untuk mengenkripsi file untuk digunakan dalam alur kerja Anda. Jalankan perintah berikut untuk mengenkripsi file:

```
gpg -e -r marymajor@example.com --openpgp testfile.txt
```

Sebelum menjalankan perintah ini, perhatikan hal berikut:
+ Untuk `-r` argumennya, ganti `marymajor@example.com` dengan alamat email yang Anda gunakan saat membuat key pair PGP.
+ `--openpgp`Bendera adalah opsional. [Bendera ini membuat file terenkripsi sesuai dengan standar OpenPGP. RFC4880](https://www.rfc-editor.org/rfc/rfc4880)
+ Perintah ini membuat file bernama **testfile.txt.gpg** di lokasi yang sama dengan**testfile.txt**.

**penting**  
Saat mengenkripsi file untuk digunakan dengan AWS Transfer Family alur kerja, selalu pastikan Anda menentukan penerima non-anonim menggunakan parameter. `-r` Enkripsi anonim (tanpa menentukan penerima) dapat menyebabkan kegagalan dekripsi dalam alur kerja karena sistem tidak akan dapat mengidentifikasi kunci mana yang akan digunakan untuk dekripsi. Informasi debugging untuk masalah ini tersedia di[Memecahkan masalah enkripsi penerima anonim](workflow-issues.md#workflows-decrypt-anonymous). 

## Langkah 7: Jalankan alur kerja dan lihat hasilnya
<a name="test-decrypt-workflow"></a>

Untuk menjalankan alur kerja, Anda terhubung ke server Transfer Family dengan pengguna yang Anda buat di Langkah 3. Kemudian Anda dapat melihat di bucket Amazon S3 yang Anda tentukan di [Langkah 2.5, konfigurasikan parameter tujuan](#configure-destination-details) untuk melihat file yang didekripsi.

**Untuk menjalankan alur kerja dekripsi**

1. Buka terminal perintah.

1. Jalankan perintah berikut, ganti `your-endpoint` dengan endpoint Anda yang sebenarnya, dan `transfer-key` dengan kunci pribadi SSH pengguna Anda:

   ```
   sftp -i transfer-key decrypt-user@your-endpoint
   ```

   Misalnya, jika kunci pribadi disimpan`~/.ssh/decrypt-user`, dan titik akhir Anda, perintahnya adalah sebagai berikut: `s-11112222333344445.server.transfer.us-east-2.amazonaws.com`

   ```
   sftp -i  ~/.ssh/decrypt-user decrypt-user@s-11112222333344445.server.transfer.us-east-2.amazonaws.com
   ```

1. Jalankan perintah `pwd`. Jika berhasil, perintah ini akan mengembalikan yang berikut:

   ```
   Remote working directory: /amzn-s3-demo-bucket/decrypt-user
   ```

   Direktori Anda mencerminkan nama bucket Amazon S3 Anda.

1. Jalankan perintah berikut untuk mengunggah file dan memicu alur kerja untuk dijalankan:

   ```
   put testfile.txt.gpg
   ```

1. Untuk tujuan file yang didekripsi, Anda menentukan `decrypted-files/` folder saat Anda membuat alur kerja. Sekarang, Anda dapat menavigasi ke folder itu dan daftar isinya.

   ```
   cd ../decrypted-files/
   ls
   ```

   Jika berhasil, `ls` perintah mencantumkan `testfile.txt` file. Anda dapat mengunduh file ini dan memverifikasi bahwa itu sama dengan file asli yang Anda enkripsi sebelumnya.