Menyiapkan alur kerja terkelola untuk mendekripsi file - AWS Transfer Family

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

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. AWS Transfer Family

Langkah 1: Konfigurasikan peran eksekusi

Buat peran eksekusi AWS Identity and Access Management (IAM) yang dapat digunakan Transfer Family untuk meluncurkan alur kerja. Proses pembuatan peran eksekusi dijelaskan dalamKebijakan IAM untuk alur kerja.

catatan

Sebagai bagian dari menciptakan peran eksekusi, pastikan untuk membangun hubungan kepercayaan antara peran eksekusi dan Transfer Family, seperti yang dijelaskan dalamUntuk membangun hubungan kepercayaan.

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 DOC-EXAMPLE-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 Izin yang diperlukan untuk langkah kustom dijelaskan diIzin IAM untuk langkah khusus.

{ "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:::DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET"] "Condition": { "StringEquals": { "s3:RequestObjectTag/Archive": "yes" } } }, { "Sid": "DecryptSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*" } ] }

Langkah 2: Buat alur kerja terkelola

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/.

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

  3. Masukkan detail berikut:

    • Masukkan deskripsi, misalnyaDecrypt workflow example.

    • Di bagian Langkah nominal, pilih Tambah langkah.

  4. Untuk Pilih jenis langkah, pilih Dekripsi file, lalu pilih Berikutnya.

  5. 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 DOC-EXAMPLE-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.

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

  7. 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-1234abcd5678efghisebagai contoh ID alur kerja.

Langkah 3: Tambahkan alur kerja ke server dan buat pengguna

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/.

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

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

  4. Pada halaman Edit detail tambahan, di bagian Alur kerja terkelola, pilih alur kerja Anda, dan pilih peran eksekusi yang sesuai.

  5. 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/.

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

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

  4. Untuk pengguna baru Anda, masukkan detail berikut:

    • Untuk Nama Pengguna, masukkandecrypt-user.

    • Untuk Peran, pilih peran pengguna yang dapat mengakses server Anda.

    • Untuk direktori Home, pilih bucket Amazon S3 yang Anda gunakan sebelumnya, misalnya,. DOC-EXAMPLE-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.

  5. 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

Gunakan salah satu klien PGP yang didukung untuk menghasilkan key pair PGP. Proses ini dijelaskan secara rinci dalamHasilkan kunci PGP.

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. Namun, jika Anda memilih ECC, pastikan untuk memilih salah satu NIST atau BrainPool untuk kurva elips. Jangan memilihCurve 25519.

  2. 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

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.

Untuk menyimpan kunci pribadi PGP di Secrets Manager
  1. Masuk ke AWS Management Console dan buka AWS Secrets Manager konsol di https://console.aws.amazon.com/secretsmanager/.

  2. Pada panel navigasi kiri, pilih Rahasia.

  3. Pada halaman Rahasia, pilih Simpan rahasia baru.

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

  5. Di bagian pasangan kunci/Nilai, pilih tab kunci/Nilai.

    • Kunci — MasukkanPGPPrivateKey.

    • nilai — Tempelkan teks kunci pribadi Anda ke bidang nilai.

  6. Pilih Tambah baris, dan di bagian pasangan kunci/Nilai, pilih tab kunci/Nilai.

  7. Pilih Selanjutnya.

  8. 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 rahasianyaaws/transfer/s-11112222333344445/@pgp-default.

    • Untuk membuat rahasia hanya untuk pengguna yang Anda buat sebelumnya, beri nama rahasianyaaws/transfer/s-11112222333344445/decrypt-user.

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

  10. 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.

Langkah 6: Enkripsi file

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.

  • --openpgpBendera adalah opsional. Bendera ini membuat file terenkripsi sesuai dengan standar OpenPGP RFC4880.

  • Perintah ini membuat file bernama testfile.txt.gpg di lokasi yang sama dengantestfile.txt.

Langkah 7: Jalankan alur kerja dan lihat hasilnya

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 untuk melihat file yang didekripsi.

Untuk menjalankan alur kerja dekripsi
  1. Buka terminal perintah.

  2. 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
  3. Jalankan perintah pwd. Jika berhasil, perintah ini akan mengembalikan yang berikut:

    Remote working directory: /DOC-EXAMPLE-BUCKET/decrypt-user

    Direktori Anda mencerminkan nama bucket Amazon S3 Anda.

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

    put testfile.txt.gpg
  5. 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.