Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan direktori logis untuk menyederhanakan struktur direktori Transfer Family
Direktori logis menyederhanakan struktur direktori AWS Transfer Family server Anda. Dengan direktori logis, Anda dapat membuat struktur direktori virtual dengan nama yang mudah digunakan yang dinavigasi pengguna saat menghubungkan ke bucket Amazon S3 atau sistem file Amazon EFS Anda. Ini mencegah pengguna melihat jalur direktori, nama bucket, dan nama sistem file yang sebenarnya.
catatan
Anda harus menggunakan kebijakan sesi sehingga pengguna akhir Anda hanya dapat melakukan operasi yang Anda izinkan untuk mereka lakukan.
Anda harus menggunakan direktori logis untuk membuat direktori virtual yang ramah pengguna untuk pengguna akhir Anda dan mengabstraksi nama bucket jauh. Pemetaan direktori logis hanya memungkinkan pengguna untuk mengakses jalur logis dan subdirektori yang ditunjuk, dan melarang jalur relatif yang melintasi akar logis.
Transfer Family memvalidasi setiap jalur yang mungkin menyertakan elemen relatif dan secara aktif memblokir jalur ini agar tidak diselesaikan sebelum kami meneruskan jalur ini ke Amazon S3; ini mencegah pengguna Anda bergerak melampaui pemetaan logisnya.
Meskipun Transfer Family mencegah pengguna akhir mengakses direktori di luar direktori logisnya, kami sarankan Anda juga menggunakan peran unik atau kebijakan sesi untuk menerapkan hak istimewa paling sedikit di tingkat penyimpanan.
Memahami struktur chroot dan direktori
Operasi chroot memungkinkan Anda mengatur direktori root pengguna ke lokasi mana pun dalam hierarki penyimpanan Anda. Ini membatasi pengguna ke direktori home atau root yang dikonfigurasi, mencegah akses ke direktori tingkat yang lebih tinggi.
Pertimbangkan kasus di mana pengguna Amazon S3 terbatas. amzn-s3-demo-bucket/home/${transfer:UserName}
Tanpa chroot, beberapa klien mungkin mengizinkan pengguna untuk pindah ke/amzn-s3-demo-bucket/home, memerlukan logout dan login untuk kembali ke direktori yang tepat. Melakukan operasi chroot mencegah masalah ini.
Anda dapat membuat struktur direktori kustom di beberapa bucket dan awalan. Ini berguna jika alur kerja Anda memerlukan tata letak direktori tertentu yang tidak dapat disediakan oleh awalan bucket saja. Anda juga dapat menautkan ke beberapa lokasi yang tidak berdekatan dalam Amazon S3, mirip dengan membuat tautan simbolis dalam sistem file Linux di mana jalur direktori Anda mereferensikan lokasi yang berbeda dalam sistem file.
Aturan untuk menggunakan direktori logis
Bagian ini menjelaskan beberapa aturan dan pertimbangan lain untuk menggunakan direktori logis.
Batas pemetaan
-
Hanya satu pemetaan yang diizinkan saat
Entry
"/"
(tidak ada jalur tumpang tindih yang diizinkan). -
Direktori logis mendukung pemetaan hingga 2,1 MB untuk IDP kustom dan pengguna AD, dan 2.000 entri untuk pengguna yang dikelola layanan. Anda dapat menghitung ukuran pemetaan Anda sebagai berikut:
-
Tuliskan pemetaan khas dalam format
{"Entry":"/
, di manaentry-path
","Target":"/target-path
"}
danentry-path
merupakan nilai aktual yang akan Anda gunakan.target-path
-
Hitung karakter dalam string itu, lalu tambahkan satu (1).
-
Kalikan angka itu dengan perkiraan jumlah pemetaan yang Anda miliki untuk server Anda.
Jika jumlah yang Anda perkirakan pada langkah 3 kurang dari 2,1 MB, maka pemetaan Anda berada dalam batas yang dapat diterima.
-
Persyaratan jalur target
-
Gunakan
${transfer:UserName}
variabel jika bucket atau jalur sistem file telah diparameterisasi berdasarkan nama pengguna. -
Target dapat dikonfigurasi untuk menunjuk ke bucket Amazon S3 atau sistem file yang berbeda, selama peran IAM terkait memiliki izin yang diperlukan untuk mengakses lokasi penyimpanan tersebut.
-
Semua target harus dimulai dengan garis miring (
/
) tetapi tidak dapat diakhiri dengan satu. Misalnya,/amzn-s3-demo-bucket/images
benar, sementaraamzn-s3-demo-bucket/images
dan/amzn-s3-demo-bucket/images/
tidak.
Pertimbangan penyimpanan
-
Amazon S3 adalah toko objek di mana folder hanya ada sebagai konsep virtual. Saat menggunakan penyimpanan Amazon S3, Transfer Family melaporkan awalan sebagai direktori dalam operasi STAT, bahkan jika tidak ada objek zero-byte dengan garis miring. Objek zero-byte yang tepat dengan garis miring juga dilaporkan sebagai direktori dalam operasi STAT. Perilaku ini dijelaskan dalam Mengatur objek di konsol Amazon S3 menggunakan folder di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
-
Untuk aplikasi yang perlu membedakan antara file dan folder, gunakan Amazon Elastic File System (Amazon EFS) sebagai opsi penyimpanan Transfer Family Anda.
-
Jika Anda menentukan nilai direktori logis untuk pengguna Anda, parameter yang Anda gunakan bergantung pada jenis pengguna:
-
Untuk pengguna yang dikelola layanan, berikan nilai direktori logis di.
HomeDirectoryMappings
-
Untuk pengguna penyedia identitas kustom, berikan nilai direktori logis di
HomeDirectoryDetails
.
-
Nilai direktori pengguna
-
Parameter untuk menentukan nilai direktori logis tergantung pada jenis pengguna Anda:
-
Untuk pengguna yang dikelola layanan, berikan nilai direktori logis di.
HomeDirectoryMappings
-
Untuk pengguna penyedia identitas kustom, berikan nilai direktori logis di
HomeDirectoryDetails
.
-
-
Saat menggunakan LOGICAL HomeDirectoryType, Anda dapat menentukan HomeDirectory nilai untuk pengguna yang Dikelola Layanan, akses Direktori Aktif, dan implementasi Penyedia Identitas Kustom HomeDirectoryDetails yang disediakan dalam respons. Jika tidak ditentukan, HomeDirectory default ke.
/
Untuk detail tentang cara menerapkan direktori logis, lihatMenerapkan direktori logis.
Konfigurasikan direktori logis untuk Amazon EFS
Jika server Transfer Family Anda menggunakan Amazon EFS, direktori home untuk pengguna harus dibuat dengan akses baca dan tulis sebelum pengguna dapat bekerja di direktori home logisnya. Pengguna tidak dapat membuat direktori ini sendiri, karena mereka akan kekurangan izin untuk mkdir
direktori home logis mereka.
Jika direktori home pengguna tidak ada, dan mereka menjalankan ls
perintah, sistem merespons sebagai berikut:
sftp> ls remote readdir ("/"): No such file or directory
Seorang pengguna dengan akses administratif ke direktori induk perlu membuat direktori home logis pengguna.
AWS Lambda Tanggapan khusus
Anda dapat menggunakan direktori logis dengan fungsi Lambda yang terhubung ke penyedia identitas kustom Anda. Untuk melakukannya, dalam fungsi Lambda Anda, Anda menentukan HomeDirectoryType
sebagaiLOGICAL
, dan menambahkan Entry
dan Target
nilai untuk parameter. HomeDirectoryDetails
Misalnya:
HomeDirectoryType: "LOGICAL" HomeDirectoryDetails: "[{\"Entry\": \"/\", \"Target\": \"/amzn-s3-demo-bucket/theRealFolder"}]"
Kode berikut adalah contoh respons yang berhasil dari panggilan otentikasi Lambda kustom.
aws transfer test-identity-provider \ --server-id s-1234567890abcdef0 \ --user-name myuser { "Url": "https://a1b2c3d4e5.execute-api.us-east-2.amazonaws.com/prod/servers/s-1234567890abcdef0/users/myuser/config", "Message": "", "Response": "{\"Role\": \"arn:aws:iam::123456789012:role/bob-usa-role\", \"HomeDirectoryType\": \"LOGICAL\", \"HomeDirectoryDetails\": \"[{\\\"Entry\\\":\\\"/myhome\\\",\\\"Target\\\":\\\"/amzn-s3-demo-bucket/theRealFolder\\\"}]\", \"PublicKeys\": \"[ssh-rsa myrsapubkey]\"}", "StatusCode": 200 }
catatan
"Url":
Baris dikembalikan hanya jika Anda menggunakan metode API Gateway sebagai penyedia identitas kustom Anda.