View a markdown version of this page

Gunakan langkah-langkah yang telah ditentukan - AWS Transfer Family

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

Gunakan langkah-langkah yang telah ditentukan

Saat membuat alur kerja, Anda dapat memilih untuk menambahkan salah satu langkah standar berikut yang dibahas dalam topik ini. Anda juga dapat memilih untuk menambahkan langkah-langkah pemrosesan file kustom Anda sendiri. Untuk informasi selengkapnya, lihat Gunakan langkah-langkah pemrosesan file khusus.

Salin berkas

Langkah menyalin file membuat salinan file yang diunggah di lokasi Amazon S3 baru. Saat ini, Anda dapat menggunakan langkah salin file hanya dengan Amazon S3.

Langkah salin file berikut menyalin file ke test folder diamzn-s3-demo-destination-bucket.

Jika langkah salin file bukan langkah pertama alur kerja Anda, Anda dapat menentukan lokasi file. Dengan menentukan lokasi file, Anda dapat menyalin file yang digunakan pada langkah sebelumnya atau file asli yang diunggah. Anda dapat menggunakan fitur ini untuk membuat beberapa salinan file asli sambil menjaga file sumber tetap utuh untuk arsip file dan penyimpanan catatan. Sebagai contoh, lihat Contoh tag dan hapus alur kerja.

Layar alur kerja dengan Salin file yang dibuat dari langkah sebelumnya... tombol dipilih.

Berikan rincian bucket dan kunci

Anda harus memberikan nama bucket dan kunci untuk tujuan langkah salin file. Kuncinya bisa berupa nama jalur atau nama file. Apakah kunci diperlakukan sebagai nama jalur atau nama file ditentukan oleh apakah Anda mengakhiri kunci dengan karakter garis miring maju (/).

Jika karakter terakhir adalah/, file Anda disalin ke folder, dan namanya tidak berubah. Jika karakter terakhir adalah alfanumerik, file yang Anda unggah diganti namanya menjadi nilai kunci. Dalam hal ini, jika file dengan nama itu sudah ada, perilaku tergantung pada pengaturan untuk bidang Overwrite yang ada.

  • Jika Overwrite existing dipilih, file yang ada diganti dengan file yang sedang diproses.

  • Jika Overwrite existing tidak dipilih, tidak ada yang terjadi, dan pemrosesan alur kerja berhenti.

    Tip

    Jika penulisan bersamaan dijalankan pada jalur file yang sama, itu dapat mengakibatkan perilaku tak terduga saat mengganti file.

Misalnya, jika nilai kunci Anda adalahtest/, file yang Anda unggah disalin ke test folder. Jika nilai kunci Anda adalahtest/today, (dan Overwrite existing dipilih) setiap file yang Anda unggah disalin ke file bernama today dalam test folder, dan setiap file berikutnya akan menggantikan file sebelumnya.

catatan

Amazon S3 mendukung bucket dan objek, dan tidak memiliki hierarki. Namun, Anda dapat menggunakan awalan dan pembatas dalam nama kunci objek untuk menyiratkan hierarki dan mengatur data Anda dengan cara yang mirip dengan folder.

Menggunakan variabel bernama dalam langkah menyalin file

Pada langkah menyalin file, Anda dapat menggunakan variabel untuk menyalin file secara dinamis ke folder khusus pengguna. Saat ini, Anda dapat menggunakan ${transfer:UserName} atau ${transfer:UploadDate} sebagai variabel untuk menyalin file ke lokasi tujuan untuk pengguna tertentu yang mengunggah file, atau berdasarkan tanggal saat ini.

Dalam contoh berikut, jika pengguna mengungg richard-roe ah file, itu akan disalin ke amzn-s3-demo-destination-bucket/richard-roe/processed/ folder. Jika pengguna mengun mary-major ggah file, itu akan disalin ke amzn-s3-demo-destination-bucket/mary-major/processed/ folder.

Layar parameter untuk langkah penyalinan, menunjukkan bucket dan kunci, diparameter menggunakanUserName.

Demikian pula, Anda dapat menggunakan ${transfer:UploadDate} sebagai variabel untuk menyalin file ke lokasi tujuan yang dinamai untuk tanggal saat ini. Dalam contoh berikut, jika Anda menetapkan tujuan ${transfer:UploadDate}/processed pada 1 Februari 2022, file yang diunggah disalin ke amzn-s3-demo-destination-bucket/2022-02-01/processed/ folder.

Layar parameter untuk langkah penyalinan, menunjukkan bucket dan kunci, diparameter menggunakanUploadDate.

Anda juga dapat menggunakan kedua variabel ini bersama-sama, menggabungkan fungsinya. Misalnya, Anda dapat mengatur awalan kunci Tujuan kefolder/${transfer:UserName}/${transfer:UploadDate}/, yang akan membuat folder bersarang, misalnyafolder/marymajor/2023-01-05/.

Izin IAM untuk langkah penyalinan

Untuk memungkinkan langkah penyalinan berhasil, pastikan peran eksekusi untuk alur kerja Anda berisi izin berikut.

{ "Sid": "ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }
catatan

Iz s3:ListBucket in hanya diperlukan jika Anda tidak memilih Overwrite existing. Izin ini memeriksa bucket Anda untuk melihat apakah file dengan nama yang sama sudah ada. Jika Anda telah memilih Overwrite existing, alur kerja tidak perlu memeriksa file, dan hanya dapat menulisnya.

Jika file Amazon S3 Anda memiliki tag, Anda perlu menambahkan satu atau dua izin ke kebijakan IAM Anda.

  • Tambahkan s3:GetObjectTagging untuk file Amazon S3 yang tidak memiliki versi.

  • Tambahkan s3:GetObjectVersionTagging untuk file Amazon S3 yang berversi.

Dekripsi file

Blog AWS penyimpanan memiliki posting yang menjelaskan cara mendekripsi file tanpa menulis kode apa pun menggunakan alur kerja Transfer Family Managed, Enkripsi dan mendekripsi file dengan PGP dan. AWS Transfer Family

Algoritma enkripsi simetris yang didukung

Untuk dekripsi PGP, Transfer Family mendukung algoritma enkripsi simetris yang digunakan untuk mengenkripsi data file aktual dalam file PGP.

Gunakan dekripsi PGP dalam alur kerja Anda

Transfer Family memiliki dukungan bawaan untuk dekripsi Pretty Good Privacy (PGP). Anda dapat menggunakan dekripsi PGP pada file yang diunggah melalui SFTP, FTPS, atau FTP ke Amazon Simple Storage Service (Amazon S3) atau Amazon Elastic File System (Amazon EFS).

Untuk menggunakan dekripsi PGP, Anda harus membuat dan menyimpan kunci pribadi PGP yang akan digunakan untuk dekripsi file Anda. Pengguna Anda kemudian dapat mengenkripsi file dengan menggunakan kunci enkripsi PGP yang sesuai sebelum mengunggah file ke server Transfer Family Anda. Setelah Anda menerima file terenkripsi, Anda dapat mendekripsi file-file tersebut dalam alur kerja Anda. Untuk tutorial detail, lihat Menyiapkan alur kerja terkelola untuk mendekripsi file.

Untuk informasi tentang algoritma dan rekomendasi PGP yang didukung, lihatAlgoritma enkripsi dan dekripsi PGP.

Untuk menggunakan dekripsi PGP dalam alur kerja Anda
  1. Identifikasi server Transfer Family untuk meng-host alur kerja Anda, atau buat yang baru. Anda harus memiliki ID server sebelum Anda dapat menyimpan kunci PGP Anda AWS Secrets Manager dengan nama rahasia yang benar.

  2. Simpan kunci PGP Anda di AWS Secrets Manager bawah nama rahasia yang diperlukan. Lihat perinciannya di Kelola kunci PGP. Alur kerja dapat secara otomatis menemukan kunci PGP yang benar untuk digunakan untuk dekripsi berdasarkan nama rahasia di Manajer Rahasia.

    catatan

    Saat Anda menyimpan rahasia di Manajer Rahasia, Anda Akun AWS dikenakan biaya. Untuk informasi tentang harga, lihat AWS Secrets Manager Harga.

  3. Enkripsi file dengan menggunakan pasangan kunci PGP Anda. (Untuk daftar klien yang didukung, lihatKlien PGP yang didukung.) Jika Anda menggunakan baris perintah, jalankan perintah berikut. Untuk menggunakan perintah ini, ganti username@example.com dengan alamat email yang Anda gunakan untuk membuat pasangan kunci PGP. Ganti testfile.txt dengan nama file yang ingin Anda enkripsi.

    gpg -e -r username@example.com testfile.txt
    penting

    Saat mengenkripsi file untuk digunakan dengan al AWS Transfer Family ur 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 digunakan untuk dekripsi. Informasi debugging untuk masalah ini tersedia diMemecahkan masalah enkripsi penerima anonim.

  4. Unggah file terenkripsi ke server Transfer Family Anda.

  5. Konfigurasikan langkah dekripsi dalam alur kerja Anda. Untuk informasi selengkapnya, lihat Tambahkan langkah dekripsi.

Tambahkan langkah dekripsi

Langkah dekripsi mendekripsi file terenkripsi yang diunggah ke Amazon S3 atau Amazon EFS sebagai bagian dari alur kerja Anda. Untuk detail tentang mengkonfigurasi dekripsi, lihatGunakan dekripsi PGP dalam alur kerja Anda.

Saat Anda membuat langkah dekripsi untuk alur kerja, Anda harus menentukan tujuan untuk file yang didekripsi. Anda juga harus memilih apakah akan mengganti file yang ada jika file sudah ada di lokasi tujuan. Anda dapat memantau hasil alur kerja dekripsi dan mendapatkan log audit untuk setiap file secara real time dengan menggunakan Amazon CloudWatch Logs.

Setelah Anda memilih jenis file Decrypt untuk langkah Anda, halaman Konfigurasi parameter akan muncul. Isi nilai-nilai untuk bagian Konfigurasi parameter dekripsi PGP.

Opsi yang tersedia adalah sebagai berikut:

  • Nama langkah — Masukkan nama deskriptif untuk langkah tersebut.

  • Lokasi file — Dengan menentukan lokasi file, Anda dapat mendekripsi file yang digunakan pada langkah sebelumnya atau file asli yang diunggah.

    catatan

    Parameter ini tidak tersedia jika langkah ini adalah langkah pertama alur kerja.

  • Tujuan untuk file yang didekripsi — Pilih bucket Amazon S3 atau sistem file Amazon EFS sebagai tujuan untuk file yang didekripsi.

    • Jika memilih Amazon S3, Anda harus memberikan nama bucket tujuan dan awalan kunci tujuan. Untuk membuat parameter awalan kunci tujuan berdasarkan nama pengguna, masukkan ${transfer:UserName} untuk Awal an kunci tujuan. Demikian pula, untuk membuat parameter awalan kunci tujuan berdasarkan tanggal upload, masukkan ${Transfer:UploadDate} untuk Awal an kunci Tujuan.

    • Jika Anda memilih Amazon EFS, Anda harus menyediakan sistem file tujuan dan jalur.

    catatan

    Opsi penyimpanan yang Anda pilih di sini harus sesuai dengan sistem penyimpanan yang digunakan oleh server Transfer Family yang terkait dengan alur kerja ini. Jika tidak, Anda akan menerima kesalahan saat mencoba menjalankan alur kerja ini.

  • Mengganti yang ada — Jika Anda mengunggah file, dan file dengan nama file yang sama sudah ada di tujuan, perilaku tergantung pada pengaturan untuk parameter ini:

    • Jika Overwrite existing dipilih, file yang ada diganti dengan file yang sedang diproses.

    • Jika Overwrite existing tidak dipilih, tidak ada yang terjadi, dan pemrosesan alur kerja berhenti.

      Tip

      Jika penulisan bersamaan dijalankan pada jalur file yang sama, itu dapat mengakibatkan perilaku tak terduga saat mengganti file.

Tangkapan layar berikut menunjukkan contoh opsi yang mungkin Anda pilih untuk langkah dekripsi file Anda.

Kon AWS Transfer Family sol, menunjukkan bagian Konfigurasi parameter dekripsi PGP dengan nilai sampel.

Izin IAM untuk langkah dekripsi

Agar langkah dekripsi berhasil, pastikan peran eksekusi untuk alur kerja Anda berisi izin berikut.

{ "Sid": "ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Sid": "Decrypt", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*" }
catatan

Iz s3:ListBucket in hanya diperlukan jika Anda tidak memilih Overwrite existing. Izin ini memeriksa bucket Anda untuk melihat apakah file dengan nama yang sama sudah ada. Jika Anda telah memilih Overwrite existing, alur kerja tidak perlu memeriksa file, dan hanya dapat menulisnya.

Jika file Amazon S3 Anda memiliki tag, Anda perlu menambahkan satu atau dua izin ke kebijakan IAM Anda.

  • Tambahkan s3:GetObjectTagging untuk file Amazon S3 yang tidak memiliki versi.

  • Tambahkan s3:GetObjectVersionTagging untuk file Amazon S3 yang berversi.

Berkas tag

Untuk menandai file yang masuk untuk pemrosesan hilir lebih lanjut, gunakan langkah tag. Masukkan nilai tag yang ingin Anda tetapkan ke file yang masuk. Saat ini, operasi tag hanya didukung jika Anda menggunakan Amazon S3 untuk penyimpanan server Transfer Family.

Contoh langkah tag berikut menetapkan scan_outcome dan clean sebagai kunci tag dan nilai, masing-masing.

Layar alur kerja yang menampilkan detail untuk langkah penandaan.

Untuk memungkinkan langkah tag berhasil, pastikan peran eksekusi untuk alur kerja Anda berisi izin berikut.

{ "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }
catatan

Jika alur kerja Anda berisi langkah tag yang berjalan sebelum langkah menyalin atau dekripsi, Anda perlu menambahkan satu atau dua izin ke kebijakan IAM Anda.

  • Tambahkan s3:GetObjectTagging untuk file Amazon S3 yang tidak memiliki versi.

  • Tambahkan s3:GetObjectVersionTagging untuk file Amazon S3 yang berversi.

Hapus berkas

Untuk menghapus file yang diproses dari langkah alur kerja sebelumnya atau untuk menghapus file yang awalnya diunggah, gunakan langkah hapus file.

Layar alur kerja yang menampilkan detail untuk langkah hapus.

Untuk memungkinkan langkah penghapusan berhasil, pastikan peran eksekusi untuk alur kerja Anda berisi izin berikut.

{ "Sid": "Delete", "Effect": "Allow", "Action": [ "s3:DeleteObjectVersion", "s3:DeleteObject" ], "Resource": "arn:aws:secretsmanager:region:account-ID:secret:aws/transfer/*" }

Variabel bernama untuk alur kerja

Untuk langkah menyalin dan mendekripsi, Anda dapat menggunakan variabel untuk melakukan tindakan secara dinamis. Saat ini, AWS Transfer Family mendukung variabel bernama berikut.

  • Gunakan ${transfer:UserName} untuk menyalin atau mendekripsi file ke tujuan berdasarkan pengguna yang mengunggah file.

  • Gunakan ${transfer:UploadDate} untuk menyalin atau mendekripsi file ke lokasi tujuan berdasarkan tanggal saat ini.

Contoh tag dan hapus alur kerja

Contoh berikut menggambarkan alur kerja yang menandai file masuk yang perlu diproses oleh aplikasi hilir, seperti platform analisis data. Setelah menandai file yang masuk, alur kerja kemudian menghapus file yang diunggah semula untuk menghemat biaya penyimpanan.

Console
Contoh tag dan pindahkan alur kerja
  1. Buka AWS Transfer Family konsol di https://console.aws.amazon.com/transfer/.

  2. Di panel navigasi kiri, pilih Alur kerja.

  3. Pada halaman Alu r kerja, pilih Buat alur kerja.

  4. Pada halaman Buat alur kerja, masukkan deskripsi. Deskripsi ini muncul di halaman Alu r Kerja.

  5. Tambahkan langkah pertama (salin).

    1. Di bagian Langkah nominal, pilih Tam bah langkah.

    2. Pilih Salin file, lalu pilih Ber ikutnya.

    3. Masukkan nama langkah, lalu pilih bucket tujuan dan awalan kunci.

      Layar alur kerja yang menampilkan detail untuk langkah salin, menampilkan bucket tujuan dan awalan kunci.
    4. Pilih Berikutnya, lalu tinjau detail untuk langkah tersebut.

    5. Pilih Buat langkah untuk menambahkan langkah dan lanjutkan.

  6. Tambahkan langkah kedua (tag).

    1. Di bagian Langkah nominal, pilih Tam bah langkah.

    2. Pilih File tag, lalu pilih Ber ikutnya.

    3. Masukkan nama langkah.

    4. Untuk Lokasi file, pilih Tandai file yang dibuat dari langkah sebelumnya.

    5. Masukkan K unci dan Nilai.

      Layar Konfigurasi untuk langkah alur kerja penandaan, dengan tombol radio Tag file yang dibuat dari langkah sebelumnya dipilih.
    6. Pilih Berikutnya, lalu tinjau detail untuk langkah tersebut.

    7. Pilih Buat langkah untuk menambahkan langkah dan lanjutkan.

  7. Tambahkan langkah ketiga (hapus).

    1. Di bagian Langkah nominal, pilih Tam bah langkah.

    2. Pilih Hapus file, lalu pilih Ber ikutnya.

      Layar Konfigurasi untuk langkah hapus alur kerja, dengan tombol radio Hapus file sumber asli dipilih.
    3. Masukkan nama langkah.

    4. Untuk Lokasi file, pilih Hapus file sumber asli.

    5. Pilih Berikutnya, lalu tinjau detail untuk langkah tersebut.

    6. Pilih Buat langkah untuk menambahkan langkah dan lanjutkan.

  8. Tinjau konfigurasi alur kerja, lalu pilih Buat alur kerja.

CLI
Contoh tag dan pindahkan alur kerja
  1. Simpan kode berikut ke dalam file; misalnya,tagAndMoveWorkflow.json. Ganti masing-masing user input placeholder dengan informasi Anda sendiri.

    [ { "Type": "COPY", "CopyStepDetails": { "Name": "CopyStep", "DestinationFileLocation": { "S3FileLocation": { "Bucket": "amzn-s3-demo-bucket", "Key": "test/" } } } }, { "Type": "TAG", "TagStepDetails": { "Name": "TagStep", "Tags": [ { "Key": "name", "Value": "demo" } ], "SourceFileLocation": "${previous.file}" } }, { "Type": "DELETE", "DeleteStepDetails":{ "Name":"DeleteStep", "SourceFileLocation": "${original.file}" } } ]

    Langkah pertama menyalin file yang diunggah ke lokasi Amazon S3 baru. Langkah kedua menambahkan tag (pasangan nilai kunci) ke file (previous.file) yang disalin ke lokasi baru. Dan, akhirnya, langkah ketiga menghapus file asli (original.file).

  2. Buat alur kerja dari file yang disimpan. Ganti masing-masing user input placeholder dengan informasi Anda sendiri.

    aws transfer create-workflow --description "short-description" --steps file://path-to-file --region region-ID

    Contoh:

    aws transfer create-workflow --description "copy-tag-delete workflow" --steps file://tagAndMoveWorkflow.json --region us-east-1
    catatan

    Untuk detail selengkapnya tentang menggunakan file untuk memuat parameter, lihat Cara memuat parameter dari file.

  3. Perbarui server yang ada.

    catatan

    Langkah ini mengasumsikan Anda sudah memiliki server Transfer Family dan Anda ingin mengaitkan alur kerja dengannya. Jika belum, lihat Mengkonfigurasi titik akhir server SFTP, FTPS, atau FTP. Ganti masing-masing user input placeholder dengan informasi Anda sendiri.

    aws transfer update-server --server-id server-ID --region region-ID --workflow-details '{"OnUpload":[{ "WorkflowId": "workflow-ID","ExecutionRole": "execution-role-ARN"}]}'

    Contoh:

    aws transfer update-server --server-id s-1234567890abcdef0 --region us-east-2 --workflow-details '{"OnUpload":[{ "WorkflowId": "w-abcdef01234567890","ExecutionRole": "arn:aws:iam::111111111111:role/nikki-wolf-execution-role"}]}'