Konfigurasikan penyimpanan untuk digunakan dengan AWS Transfer Family - AWS Transfer Family

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

Konfigurasikan penyimpanan untuk digunakan dengan AWS Transfer Family

Topik ini menjelaskan opsi penyimpanan yang dapat Anda gunakan AWS Transfer Family. Anda dapat menggunakan Amazon S3 atau Amazon EFS sebagai penyimpanan untuk server Transfer Family Anda.

Konfigurasikan bucket Amazon S3

AWS Transfer Family mengakses bucket Amazon S3 untuk melayani permintaan transfer pengguna, jadi Anda perlu menyediakan bucket Amazon S3 sebagai bagian dari pengaturan server yang mendukung protokol transfer file Anda. Anda dapat menggunakan bucket yang sudah ada, atau Anda dapat membuat yang baru.

catatan

Anda tidak harus menggunakan server dan bucket Amazon S3 yang berada di AWS Wilayah yang sama, tetapi kami merekomendasikan ini sebagai praktik terbaik.

Saat Anda mengatur pengguna, Anda menetapkan masing-masing peran IAM kepada mereka. Peran ini menentukan tingkat akses yang mereka miliki ke bucket Amazon S3 Anda.

Untuk informasi tentang cara membuat bucket baru, lihat Bagaimana cara membuat bucket S3? di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

catatan

Anda dapat menggunakan Amazon S3 Object Lock untuk mencegah objek ditimpa untuk jangka waktu yang tetap atau tanpa batas waktu. Ini bekerja dengan cara yang sama dengan Transfer Family seperti layanan lainnya. Jika suatu objek ada dan dilindungi, menulis ke file itu atau menghapusnya tidak diperbolehkan. Untuk detail selengkapnya tentang Kunci Objek Amazon S3, lihat Menggunakan Kunci Objek Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Titik akses Amazon S3

AWS Transfer Family mendukung Poin Akses Amazon S3, fitur Amazon S3 yang memungkinkan Anda mengelola akses granular ke kumpulan data bersama dengan mudah. Anda dapat menggunakan alias S3 Access Point di mana pun Anda menggunakan nama bucket S3. Anda dapat membuat ratusan titik akses di Amazon S3 untuk pengguna yang memiliki izin berbeda untuk mengakses data bersama di bucket Amazon S3.

Misalnya, Anda dapat menggunakan titik akses untuk memungkinkan tiga tim berbeda memiliki akses ke kumpulan data bersama yang sama di mana satu tim dapat membaca data dari S3, tim kedua dapat menulis data ke S3, dan tim ketiga dapat membaca, menulis, dan menghapus data dari S3. Untuk menerapkan kontrol akses granular seperti yang disebutkan di atas, Anda dapat membuat titik akses S3 yang berisi kebijakan yang memberikan akses asimetris ke tim yang berbeda. Anda dapat menggunakan titik akses S3 dengan server Transfer Family Anda untuk mencapai kontrol akses yang halus, tanpa membuat kebijakan bucket S3 kompleks yang mencakup ratusan kasus penggunaan. Untuk mempelajari lebih lanjut tentang cara menggunakan titik akses S3 dengan server Transfer Family, lihat Tingkatkan kontrol akses data dengan AWS Transfer Family dan posting blog Amazon S3.

catatan

AWS Transfer Family saat ini tidak mendukung Titik Akses Multi-Wilayah Amazon S3.

Perilaku Amazon S3 HeadObject

catatan

Saat membuat atau memperbarui server Transfer Family, Anda dapat mengoptimalkan kinerja untuk direktori Amazon S3, yang menghilangkan panggilan. HeadObject

Di Amazon S3, bucket dan objek adalah sumber daya utama, dan objek disimpan dalam bucket. Amazon S3 dapat meniru sistem file hierarkis, tetapi terkadang dapat berperilaku berbeda dari sistem file biasa. Misalnya, direktori bukan konsep kelas satu di Amazon S3 tetapi didasarkan pada kunci objek. AWS Transfer Family menyimpulkan jalur direktori dengan memisahkan kunci objek dengan karakter garis miring maju (/), memperlakukan elemen terakhir sebagai nama file, lalu mengelompokkan nama file yang memiliki awalan yang sama bersama-sama di bawah jalur yang sama. Objek nol-byte dibuat untuk mewakili jalur folder saat Anda membuat direktori kosong menggunakan mkdir atau dengan menggunakan konsol Amazon S3. Kunci untuk benda-benda ini berakhir dengan garis miring ke depan. Objek nol-byte ini dijelaskan dalam Mengatur objek di konsol Amazon S3 menggunakan folder di Panduan Pengguna Amazon S3.

Saat Anda menjalankan ls perintah, dan beberapa hasilnya adalah objek zero-byte Amazon S3 (objek ini memiliki kunci yang diakhiri dengan karakter garis miring ke depan), Transfer Family mengeluarkan HeadObject permintaan untuk masing-masing objek ini (lihat di Referensi API Layanan Penyimpanan Sederhana Amazon untuk HeadObjectdetailnya). Hal ini dapat mengakibatkan masalah berikut saat menggunakan Amazon S3 sebagai penyimpanan Anda dengan Transfer Family.

Memberikan kemampuan untuk hanya menulis dan daftar file

Dalam beberapa kasus, Anda mungkin hanya ingin menawarkan akses tulis ke objek Amazon S3 Anda. Misalnya, Anda mungkin ingin menyediakan akses untuk menulis (atau mengunggah) dan mencantumkan objek dalam ember, tetapi tidak untuk membaca (mengunduh) objek. Untuk melakukan ls dan mkdir memerintahkan dengan menggunakan klien transfer file, Anda harus memiliki Amazon S3 ListObjects dan PutObject izin. Namun, ketika Transfer Family perlu melakukan HeadObject panggilan untuk menulis atau mencantumkan file, panggilan gagal dengan kesalahan Akses ditolak, karena panggilan ini memerlukan GetObject izin.

catatan

Saat membuat atau memperbarui server Transfer Family, Anda dapat mengoptimalkan kinerja untuk direktori Amazon S3, yang menghilangkan panggilan. HeadObject

Dalam hal ini, Anda dapat memberikan akses dengan menambahkan kondisi kebijakan AWS Identity and Access Management (IAM) yang menambahkan GetObject izin hanya untuk objek yang diakhiri dengan garis miring ()/. Kondisi ini mencegah GetObject panggilan pada file (sehingga tidak dapat dibaca), tetapi memungkinkan pengguna untuk membuat daftar dan melintasi folder. Kebijakan contoh berikut hanya menawarkan akses tulis dan daftar ke bucket Amazon S3 Anda. Untuk menggunakan kebijakan ini, ganti DOC-EXAMPLE-BUCKET dengan nama bucket Anda.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListing", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" }, { "Sid": "AllowReadWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] }, { "Sid": "DenyIfNotFolder", "Effect": "Deny", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "NotResource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/" ] } ] }
catatan

Kebijakan ini tidak mengizinkan pengguna untuk menambahkan file. Dengan kata lain, pengguna yang diberi kebijakan ini tidak dapat membuka file untuk menambahkan konten ke dalamnya, atau memodifikasinya. Selain itu, jika kasus penggunaan Anda memerlukan HeadObject panggilan sebelum mengunggah file, kebijakan ini tidak akan berfungsi untuk Anda.

Sejumlah besar objek nol-byte menyebabkan masalah latensi

Jika bucket Amazon S3 Anda berisi sejumlah besar objek nol-byte ini, Transfer Family mengeluarkan banyak panggilan, yang dapat mengakibatkan HeadObject penundaan pemrosesan. Solusi yang disarankan untuk masalah ini adalah mengaktifkan Direktori yang Dioptimalkan untuk mengurangi latensi.

Misalnya, Anda masuk ke direktori home Anda, dan Anda memiliki 10.000 subdirektori. Dengan kata lain, bucket Amazon S3 Anda memiliki 10.000 folder. Dalam skenario ini, jika Anda menjalankan perintah ls (daftar), operasi daftar memakan waktu antara enam dan delapan menit. Namun, jika Anda mengoptimalkan direktori Anda, operasi ini hanya membutuhkan beberapa detik. Anda mengatur opsi ini di layar Konfigurasikan detail tambahan selama pembuatan server atau prosedur pembaruan. Prosedur-prosedur ini dirinci di bawah Mengkonfigurasi titik akhir server SFTP, FTPS, atau FTP topik.

catatan

Klien GUI dapat mengeluarkan ls perintah di luar kendali Anda, jadi penting untuk mengaktifkan pengaturan ini jika Anda bisa.

Jika Anda tidak atau tidak dapat mengoptimalkan direktori Anda, solusi alternatif untuk masalah ini adalah menghapus semua objek zero-byte Anda. Perhatikan hal berikut:

  • Direktori kosong tidak akan ada lagi. Direktori hanya ada karena nama mereka berada di kunci suatu objek.

  • Tidak mencegah seseorang menelepon mkdir dan merusak semuanya lagi. Anda dapat mengurangi ini dengan membuat kebijakan yang mencegah pembuatan direktori.

  • Beberapa skenario menggunakan objek 0-byte ini. Misalnya, Anda memiliki struktur seperti /inboxes/customer1000 dan direktori kotak masuk dibersihkan setiap hari.

Terakhir, satu lagi solusi yang mungkin adalah membatasi jumlah objek yang terlihat melalui kondisi kebijakan untuk mengurangi jumlah HeadObject panggilan. Agar ini menjadi solusi yang bisa diterapkan, Anda harus menerima bahwa Anda mungkin hanya dapat melihat sekumpulan terbatas semua sub-direktori Anda.

Konfigurasikan sistem file Amazon EFS

AWS Transfer Family mengakses Amazon Elastic File System (Amazon EFS) untuk melayani permintaan transfer pengguna Anda. Jadi, Anda harus menyediakan sistem file Amazon EFS sebagai bagian dari pengaturan server yang mendukung protokol transfer file Anda. Anda dapat menggunakan sistem file yang ada, atau Anda dapat membuat yang baru.

Perhatikan hal berikut:

  • Saat Anda menggunakan server Transfer Family dan sistem file Amazon EFS, server dan sistem file harus sama Wilayah AWS.

  • Server dan sistem file tidak perlu berada di akun yang sama. Jika server dan sistem file tidak berada dalam akun yang sama, kebijakan sistem file harus memberikan izin eksplisit untuk peran pengguna.

    Untuk informasi tentang cara menyiapkan beberapa akun, lihat Mengelola AWS akun di organisasi Anda di Panduan AWS Organizations Pengguna.

  • Saat Anda mengatur pengguna, Anda menetapkan masing-masing peran IAM kepada mereka. Peran ini menentukan tingkat akses yang mereka miliki ke sistem file Amazon EFS Anda.

  • Untuk detail tentang pemasangan sistem file Amazon EFS, lihat Memasang sistem file Amazon EFS.

Untuk detail selengkapnya tentang cara AWS Transfer Family dan Amazon EFS bekerja sama, lihat Menggunakan AWS Transfer Family untuk mengakses file di sistem file Amazon EFS Anda di Panduan Pengguna Amazon Elastic File System.

Kepemilikan file Amazon EFS

Amazon EFS menggunakan model izin file Portable Operating System Interface (POSIX) untuk mewakili kepemilikan file.

Di POSIX, pengguna dalam sistem dikategorikan ke dalam tiga kelas izin yang berbeda: Ketika Anda mengizinkan pengguna untuk mengakses file yang disimpan dalam sistem file Amazon EFS menggunakan AWS Transfer Family, Anda harus menetapkan mereka “profil POSIX.” Profil ini digunakan untuk menentukan akses mereka ke file dan direktori di sistem file Amazon EFS.

  • User (u): Pemilik file atau direktori. Biasanya, pencipta file atau direktori juga pemiliknya.

  • Grup (g): Kumpulan pengguna yang membutuhkan akses identik ke file dan direktori yang mereka bagikan.

  • Lainnya (o): Semua pengguna lain yang memiliki akses ke sistem kecuali pemilik dan anggota grup. Kelas izin ini juga disebut sebagai “Publik.”

Dalam model izin POSIX, setiap objek sistem file (file, direktori, tautan simbolis, pipa bernama, dan soket) dikaitkan dengan tiga set izin yang disebutkan sebelumnya. Objek Amazon EFS memiliki mode gaya Unix yang terkait dengannya. Nilai mode ini mendefinisikan izin untuk melakukan tindakan pada objek tersebut.

Selain itu, pada sistem bergaya Unix, pengguna dan grup dipetakan ke pengidentifikasi numerik, yang digunakan Amazon EFS untuk mewakili kepemilikan file. Untuk Amazon EFS, objek dimiliki oleh satu pemilik dan satu grup. Amazon EFS menggunakan ID numerik yang dipetakan untuk memeriksa izin saat pengguna mencoba mengakses objek sistem file.

Menyiapkan pengguna Amazon EFS untuk Transfer Family

Sebelum mengatur pengguna Amazon EFS, Anda dapat melakukan salah satu hal berikut:

catatan

Server Transfer Family tidak mendukung jalur akses Amazon EFS untuk menetapkan izin POSIX. Profil POSIX pengguna Transfer Family (dijelaskan di bagian sebelumnya) menawarkan kemampuan untuk mengatur izin POSIX. Izin ini ditetapkan pada tingkat pengguna, untuk akses granular, berdasarkan UID, GID, dan GID sekunder.

Konfigurasikan pengguna Transfer Family di Amazon EFS

Transfer Family memetakan pengguna ke UID/GID dan direktori yang Anda tentukan. Jika UID/GID/direktori belum ada di EFS, maka Anda harus membuatnya sebelum menetapkannya di Transfer ke pengguna. Detail untuk membuat pengguna Amazon EFS dijelaskan dalam Bekerja dengan pengguna, grup, dan izin di Tingkat Sistem File Jaringan (NFS) di Panduan Pengguna Amazon Elastic File System.

Langkah-langkah untuk mengatur pengguna Amazon EFS di Transfer Family
  1. Petakan EFS UID dan GID untuk pengguna Anda di Transfer Family menggunakan PosixProfilebidang.

  2. Jika Anda ingin pengguna memulai di folder tertentu saat login, Anda dapat menentukan direktori EFS di bawah HomeDirectorybidang.

Anda dapat mengotomatiskan proses, dengan menggunakan CloudWatch aturan dan fungsi Lambda. Misalnya fungsi Lambda yang berinteraksi dengan EFS, lihat Menggunakan Amazon EFS untuk AWS Lambda aplikasi tanpa server Anda.

Selain itu, Anda dapat mengonfigurasi direktori logis untuk pengguna Transfer Family Anda. Untuk detailnya, lihat Konfigurasikan direktori logis untuk Amazon EFS bagian dalam Menggunakan direktori logis untuk menyederhanakan struktur direktori Transfer Family Anda topik.

Buat pengguna root Amazon EFS

Jika organisasi Anda merasa nyaman bagi Anda untuk mengaktifkan akses pengguna root melalui SFTP/FTPS untuk konfigurasi pengguna Anda, Anda dapat membuat pengguna yang UID dan GID adalah 0 (pengguna root), kemudian gunakan pengguna root itu untuk membuat folder dan menetapkan pemilik ID POSIX untuk pengguna lainnya. Keuntungan dari opsi ini adalah tidak perlu memasang sistem file Amazon EFS.

Lakukan langkah-langkah yang dijelaskan dalamMenambahkan pengguna yang dikelola layanan Amazon EFS, dan untuk ID Pengguna dan ID Grup, masukkan 0 (nol).

Perintah Amazon EFS yang didukung

Perintah berikut didukung untuk Amazon EFS untuk AWS Transfer Family.

  • cd

  • ls/dir

  • pwd

  • put

  • get

  • rename

  • chown: Hanya root (yaitu, pengguna dengan uid=0) yang dapat mengubah kepemilikan dan izin file dan direktori.

  • chmod: Hanya root yang dapat mengubah kepemilikan dan izin file dan direktori.

  • chgrp: Didukung baik untuk root atau untuk pemilik file yang hanya dapat mengubah grup file menjadi salah satu grup sekunder mereka.

  • ln -s/symlink

  • mkdir

  • rm/delete

  • rmdir

  • chmtime