> For the complete documentation index, see [llms.txt](https://docs.cloudeka.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudeka.ai/deka-gpu-documentations/panduan-untuk-enterprise/deka-box/bucket-and-group-access-policies.md).

# Kebijakan akses bucket dan grup

Layanan **Deka Box** di ***Service Portal*****&#x20;Cloudeka** menggunakan bahasa kebijakan Amazon Web Services (AWS) untuk mengontrol akses tenant S3 ke bucket dan objek di dalamnya. Sistem ini menerapkan sebagian bahasa kebijakan *S3 REST API*. Kebijakan akses untuk S3 API ditulis dalam format JSON. Format ini memudahkan pengguna mengelola izin dan hak akses secara terstruktur dan terperinci sesuai kebutuhan keamanan dan pengelolaan data dalam lingkungan penyimpanan terdistribusi.

Terdapat dua jenis kebijakan akses yang dapat diterapkan:

1. ***Bucket Policy*** dikonfigurasi menggunakan operasi S3 API ***GET Bucket Policy**, **PUT Bucket Policy***, dan ***DELETE Bucket Policy***. Kebijakan bucket diterapkan pada bucket untuk mengontrol akses pengguna dalam akun pemilik bucket atau akun lain terhadap bucket dan objek di dalamnya. Bucket policy berlaku untuk satu bucket dan dapat memberikan akses ke beberapa pengguna atau grup.
2. ***Group Policy*** dikonfigurasi menggunakan ***Tenant Manager*** atau ***Tenant Manager*** ***API***. Kebijakan grup diterapkan pada grup dalam suatu akun untuk mengizinkan grup tersebut mengakses sumber daya tertentu yang dimiliki akun itu. Group policy berlaku untuk satu grup dan dapat memberikan akses ke beberapa bucket.

Setiap kebijakan berisi satu atau beberapa pernyataan kebijakan. Setiap pernyataan mencakup elemen berikut:

1. ***Statement ID (Sid)*** adalah elemen opsional untuk memberi pengenal unik pada setiap pernyataan kebijakan. Elemen ini memudahkan pelacakan dan referensi saat mengelola kebijakan yang kompleks. Contoh penggunaan SID di editor: `"Sid": "Statement1"`.
2. ***Effect*** menentukan apakah tindakan dalam kebijakan diizinkan atau ditolak. Gunakan `"Allow"` untuk mengizinkan dan `"Deny"` untuk menolak. Contoh penggunaan Effect di editor: `"Effect": "Allow"`.
3. ***Principal/NotPrincipal*** menentukan pengguna yang diizinkan melakukan tindakan dalam kebijakan. Nilai Principal `"*"` mengizinkan akses untuk semua pengguna atau publik. Anda juga dapat memasukkan nama pengguna yang diizinkan mengakses sumber daya. Identifikasi pengguna pada Principal memerlukan Canonical User ID (Con ID). Hubungi kami untuk mengetahui Con ID yang digunakan. NotPrincipal adalah kebalikan dari Principal. Elemen ini menunjukkan entitas yang tidak berwenang mengakses sumber daya dan digunakan untuk mengecualikan entitas tertentu dari kebijakan izin. Berikut contoh penggunaan Principal dan NotPrincipal:

a. Principal: `"Principal": "*"`

b. NotPrincipal: `"NotPrincipal": { "AWS": "arn:aws:iam::123456789012:user/specificUser"`

4. **Resource/NotResource**. Resource menentukan sumber daya yang dilindungi oleh kebijakan yang dibuat. Gunakan ARN (Amazon Resource Name) atau format yang sesuai untuk merujuk bucket. NotResource digunakan untuk mengecualikan sumber daya tertentu dari kebijakan. Berikut contoh penggunaan Resource dan NotResource:

a. Resource: `"Resource": "arn:aws:s3:::my-bucket"`

b. NotResource: `"NotResource": "arn:aws:s3:::my-bucket/private/*"`

5. ***Action/NotAction***. Action menentukan tindakan spesifik yang diizinkan atau ditolak oleh kebijakan. `"s3:GetObject"` digunakan untuk mengambil objek, `"s3:PutObject"` untuk mengunggah objek ke bucket, dan `"s3:ListBucket"` untuk melihat daftar objek dalam bucket. *NotAction* digunakan untuk mengecualikan tindakan tertentu dari izin kebijakan. `"s3:DeleteObject"` digunakan untuk menghapus objek. Berikut contoh penggunaan *Action* dan *NotAction*:

a. Action: `"Action": ["s3:GetObject", "s3:ListBucket"]`

b. NotAction: `"NotAction": "s3:DeleteObject"`

6. ***Condition*** (opsional) memungkinkan Anda menentukan kapan kebijakan diterapkan.

Contoh berikut menunjukkan pernyataan bucket policy lengkap. Kebijakan ini menggunakan Effect `"Allow"` untuk memberi Principal, grup admin `federated-group/admin`, dan grup keuangan `federated-group/finance` izin menjalankan Action `s3:ListBucket` pada bucket bernama `mybucket`, serta Action `s3:GetObject` pada semua objek dalam bucket.

```json
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::27233906934684427525:federated-group/admin",
          "arn:aws:iam::27233906934684427525:federated-group/finance"
        ]
      },
      "Action": [
        "s3:ListBucket",
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:iam:s3:::mybucket",
        "arn:aws:iam:s3:::mybucket/*"
      ]
    }
  ]
}
```
