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.
Topik
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.
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.
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.
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:GetObjectTagginguntuk file Amazon S3 yang tidak memiliki versi. -
Tambahkan
s3:GetObjectVersionTagginguntuk 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.
-
Untuk informasi terperinci tentang algoritma enkripsi simetris yang didukung, lihatAlgoritma enkripsi simetris PGP.
-
Untuk informasi tentang algoritma pasangan kunci PGP yang digunakan dengan algoritma simetris ini, lihat. Algoritma pasangan kunci 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
-
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.
-
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
. -
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
dengan alamat email yang Anda gunakan untuk membuat pasangan kunci PGP. Gantiusername@example.comdengan nama file yang ingin Anda enkripsi.testfile.txtgpg -e -rusername@example.comtestfile.txtpenting
Saat mengenkripsi file untuk digunakan dengan al AWS Transfer Family ur kerja, selalu pastikan Anda menentukan penerima non-anonim menggunakan parameter.
-rEnkripsi 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. -
Unggah file terenkripsi ke server Transfer Family Anda.
-
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.
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:GetObjectTagginguntuk file Amazon S3 yang tidak memiliki versi. -
Tambahkan
s3:GetObjectVersionTagginguntuk 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.
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:GetObjectTagginguntuk file Amazon S3 yang tidak memiliki versi. -
Tambahkan
s3:GetObjectVersionTagginguntuk 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.
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.