View a markdown version of this page

Kontrol akses klien ke sistem file File S3 - Amazon Simple Storage Service

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

Kontrol akses klien ke sistem file File S3

Topik ini menjelaskan cara menggunakan kebijakan sistem file, kebijakan identitas IAM, dan kontrol jaringan untuk mengontrol klien mana yang dapat mengakses sistem file File S3 Anda dan melalui titik akses mana.

Titik Akses S3 Files

Titik akses File S3 adalah titik masuk khusus aplikasi ke sistem file yang menyederhanakan pengelolaan akses data dalam skala besar. Anda dapat menggunakan titik akses untuk menegakkan identitas pengguna dan izin untuk semua permintaan sistem file yang dibuat melalui titik akses, dan membatasi klien untuk hanya mengakses data dalam direktori root tertentu dan subdirektorinya.

Akses titik lingkup apa yang klien dapat lakukan pada sistem file. Mereka tidak mencakup klien mana yang dapat menggunakannya. Peran apa pun di akun Anda dengan s3files:ClientMount izin dapat dipasang melalui titik akses apa pun pada sistem file kecuali jika kebijakan sistem file membatasinya. Untuk mengontrol klien mana yang dapat menggunakan titik akses mana, gabungkan tiga lapisan: kontrol jaringan (mencegah koneksi), kebijakan sumber daya sistem file (penolakan eksplisit yang bertahan dari perubahan kebijakan identitas), dan kebijakan identitas IAM (hak istimewa terkecil pada peran).

File S3 mengevaluasis3files:ClientMount,s3files:ClientWrite, dan s3files:ClientRootAccess terhadap kebijakan sistem file pada setiap pemasangan. Kunci s3files:AccessPointArn kondisi juga dievaluasi pada setiap mount, sehingga Anda dapat menulis pernyataan penolakan tunggal yang memblokir akses melalui jalur akses apa pun kecuali yang Anda tentukan. Jika ada tindakan yang diperlukan ditolak atau tidak diberikan, pemasangan gagal sebelum operasi file apa pun terjadi. Dua bagian berikut mencakup dua persyaratan umum: membatasi beban kerja ke titik akses tertentu, dan menolak akses beban kerja ke sistem file sama sekali.

Membatasi akses ke titik akses tertentu

Pola ini berlaku ketika peran (misalnya, peran instans EC2 atau peran tugas ECS) harus memasang sistem file melalui satu titik akses saja. Kunci kondisinya adalahs3files:AccessPointArn. Kebijakan ini mensyaratkan titik akses yang dimaksudkan dan eksplisit Deny untuk setiap titik akses lainnya. Allow IAM mengizinkan hibah bersifat aditif di seluruh kebijakan identitas dan sumber daya; tanpa penolakan eksplisit, kebijakan terpisah dapat memberikan akses ke titik akses yang berbeda.

Contoh kebijakan sistem file:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowComputeAOnlyViaSpecificAP", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT:role/compute-a-role" }, "Action": [ "s3files:ClientMount", "s3files:ClientWrite" ], "Condition": { "StringEquals": { "s3files:AccessPointArn": "arn:aws:s3files:REGION:ACCOUNT:file-system/fs-ID/access-point/fsap-ID" } } }, { "Sid": "DenyComputeAIfWrongAP", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::ACCOUNT:role/compute-a-role" }, "Action": "s3files:Client*", "Condition": { "StringNotEquals": { "s3files:AccessPointArn": "arn:aws:s3files:REGION:ACCOUNT:file-system/fs-ID/access-point/fsap-ID" } } } ] }

Peran compute-a-role diizinkan untuk me-mount dan menulis hanya ketika permintaan menargetkanfsap-ID, dan secara eksplisit ditolak pada setiap titik akses lain pada sistem file ini. Penolakan eksplisit dalam kebijakan sumber daya tidak dapat diganti dengan kebijakan identitas, jadi pembatasan ini berlaku bahkan jika kebijakan IAM yang lebih luas dilampirkan ke peran tersebut nanti.

Perintah mount:

sudo mount -t s3files -o accesspoint=fsap-ID fs-ID:/ /mnt/s3files

Tolak akses beban kerja melalui jalur akses apa pun

Pola ini berlaku ketika peran berbagi akun dengan sistem file File S3 tetapi tidak boleh memasangnya melalui titik akses apa pun atau secara langsung. Untuk memblokir semua penggunaan titik akses, terapkan tiga lapisan yang diurutkan dari jaminan isolasi terkuat hingga terlemah.

1. Kontrol jaringan. Hapus aturan grup keamanan yang memberikan compute-b-role akses instans ke target pemasangan pada port TCP 2049. Kontrol jaringan adalah lapisan yang paling tangguh karena mencegah upaya pemasangan sebelum pertukaran kredensyal terjadi. Meskipun kebijakan yang salah konfigurasi memberikan izin pemasangan, koneksi NFS tidak dapat mencapai target pemasangan.

2. Penolakan eksplisit dalam kebijakan sistem file. Pernyataan penolakan dalam kebijakan sistem file menolak pemasangan meskipun peran tersebut diberikan izin IAM yang lebih luas nanti. Kebijakan sumber daya sistem file memberikan penolakan yang tetap ada bahkan jika seseorang dengan iam:PutRolePolicy memodifikasi kebijakan identitas peran. Hanya prinsipal dengan yang s3files:PutFileSystemPolicy dapat mengubah lapisan ini.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyComputeBOnFileSystem", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::ACCOUNT:role/compute-b-role" }, "Action": "s3files:Client*", "Resource": "*" } ] }

3. Kebijakan identitas IAM. Jangan berikan s3files:Client* izin untuk peran tersebut. Ini adalah lapisan terakhir dan paling mudah untuk salah konfigurasi, karena administrator mana pun yang iam:PutRolePolicy dapat memberikan izin pemasangan ke suatu peran.

Tanpa kebijakan sistem file, peran apa pun dapat dipasang melalui titik akses apa pun

Kebijakan sumber daya sistem file memberikan penolakan yang tidak dapat dihapus oleh seseorang yang hanya memiliki izin untuk mengubah kebijakan identitas. Tanpa kebijakan sistem file, peran apa pun s3files:ClientMount dalam kebijakan identitasnya dapat dipasang melalui titik akses apa pun pada sistem file. Kami menyarankan Anda melampirkan kebijakan sistem file ke setiap sistem file dengan garis dasar penolakan, lalu menambahkan pernyataan allow per beban kerja.

Praktik terbaik untuk isolasi titik akses

Tabel berikut merangkum pendekatan yang direkomendasikan untuk tujuan isolasi titik akses umum.

Tujuan Pendekatan yang direkomendasikan
Membatasi beban kerja ke satu titik akses Izinkan peran pada titik akses tertentu ARN, ditambah penolakan eksplisit pada setiap titik akses lainnya. Lihat “Batasi akses ke titik akses tertentu.”
Blokir peran di akun yang sama agar tidak memasang sistem file Hapus akses jaringan ke port 2049, tolak dalam kebijakan sistem file, dan jangan berikan di IAM.
Beberapa beban kerja pada sistem file yang sama, masing-masing dicakup ke titik akses mereka sendiri Pertahankan satu izinkan + tolak pasangan per peran dalam kebijakan sistem file, masing-masing dicakup ke ARN titik akses yang berbeda.
Cross-account akses melalui titik akses Gunakan kebijakan sistem file untuk memberikan peran lintas akun pada titik akses tertentu ARN. Jangan hanya mengandalkan kebijakan identitas.