

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
<a name="s3-files-access-point-policy-examples"></a>

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
<a name="s3-files-access-point-policy-overview"></a>

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 mengevaluasi`s3files: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
<a name="s3-files-access-point-policy-restrict"></a>

Pola ini berlaku ketika peran (misalnya, peran instans EC2 atau peran tugas ECS) harus memasang sistem file melalui satu titik akses saja. Kunci kondisinya adalah`s3files: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 menargetkan`fsap-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
<a name="s3-files-access-point-policy-deny"></a>

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
<a name="s3-files-access-point-policy-deny-no-resource-policy"></a>

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
<a name="s3-files-access-point-policy-best-practices"></a>

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. | 