

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

# Identity and Access Management untuk Amazon S3
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) adalah Layanan AWS yang membantu administrator mengontrol akses ke AWS sumber daya dengan aman. Administrator IAM mengontrol siapa yang dapat *diautentikasi* (masuk) dan *diotorisasi* (memiliki izin) untuk menggunakan sumber daya Amazon S3. IAM adalah Layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

**catatan**  
Untuk informasi selengkapnya tentang menggunakan kelas penyimpanan Amazon S3 Express One Zone dengan bucket direktori, lihat [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) dan [Bekerja dengan bucket direktori](directory-buckets-overview.md).

**Topics**
+ [Audiens](#security_iam_audience)
+ [Mengautentikasi dengan identitas](#security_iam_authentication)
+ [Mengelola akses menggunakan kebijakan](#security_iam_access-manage)
+ [Bagaimana Amazon S3 bekerja dengan IAM](security_iam_service-with-iam.md)
+ [Bagaimana Amazon S3 Mengotorisasi Permintaan](how-s3-evaluates-access-control.md)
+ [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)
+ [Kebijakan dan izin di Amazon S3](access-policy-language-overview.md)
+ [Kebijakan Bucket untuk Amazon S3](bucket-policies.md)
+ [Kebijakan berbasis identitas untuk Amazon S3](security_iam_id-based-policy-examples.md)
+ [Panduan yang menggunakan kebijakan untuk mengelola akses ke sumber daya Amazon S3](example-walkthroughs-managing-access.md)
+ [Menggunakan Peran Terkait Layanan untuk Lensa Penyimpanan Amazon S3](using-service-linked-roles.md)
+ [Memecahkan masalah identitas dan akses Amazon S3](security_iam_troubleshoot.md)
+ [AWS kebijakan terkelola untuk Amazon S3](security-iam-awsmanpol.md)

## Audiens
<a name="security_iam_audience"></a>

Cara Anda menggunakan AWS Identity and Access Management (IAM) berbeda berdasarkan peran Anda:
+ **Pengguna layanan** - minta izin dari administrator Anda jika Anda tidak dapat mengakses fitur (lihat [Memecahkan masalah identitas dan akses Amazon S3](security_iam_troubleshoot.md))
+ **Administrator layanan** - tentukan akses pengguna dan mengirimkan permintaan izin (lihat [Bagaimana Amazon S3 bekerja dengan IAM](security_iam_service-with-iam.md))
+ **Administrator IAM** - tulis kebijakan untuk mengelola akses (lihat [Kebijakan berbasis identitas untuk Amazon S3](security_iam_id-based-policy-examples.md))

## Mengautentikasi dengan identitas
<a name="security_iam_authentication"></a>

Otentikasi adalah cara Anda masuk AWS menggunakan kredensi identitas Anda. Anda harus diautentikasi sebagai Pengguna root akun AWS, pengguna IAM, atau dengan mengambil peran IAM.

Anda dapat masuk sebagai identitas federasi menggunakan kredensil dari sumber identitas seperti AWS IAM Identity Center (Pusat Identitas IAM), autentikasi masuk tunggal, atau kredensional. Google/Facebook Untuk informasi selengkapnya tentang cara masuk, lihat [Cara masuk ke Akun AWS Anda](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dalam *Panduan Pengguna AWS Sign-In *.

Untuk akses terprogram, AWS sediakan SDK dan CLI untuk menandatangani permintaan secara kriptografis. Untuk informasi selengkapnya, lihat [AWS Signature Version 4 untuk permintaan API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dalam *Panduan Pengguna IAM*.

### Akun AWS pengguna root
<a name="security_iam_authentication-rootuser"></a>

 Saat Anda membuat Akun AWS, Anda mulai dengan satu identitas masuk yang disebut *pengguna Akun AWS root* yang memiliki akses lengkap ke semua Layanan AWS dan sumber daya. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari. Untuk tugas yang memerlukan kredensial pengguna root, lihat [Tugas yang memerlukan kredensial pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dalam *Panduan Pengguna IAM*. 

### Identitas terfederasi
<a name="security_iam_authentication-federated"></a>

Sebagai praktik terbaik, mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses Layanan AWS menggunakan kredensi sementara.

*Identitas federasi* adalah pengguna dari direktori perusahaan Anda, penyedia identitas web, atau Directory Service yang mengakses Layanan AWS menggunakan kredensyal dari sumber identitas. Identitas terfederasi mengambil peran yang memberikan kredensial sementara.

Untuk manajemen akses terpusat, kami menyarankan AWS IAM Identity Center. Untuk informasi selengkapnya, lihat [Apa itu Pusat Identitas IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) dalam *Panduan Pengguna AWS IAM Identity Center *.

### Pengguna dan grup IAM
<a name="security_iam_authentication-iamuser"></a>

*[Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* adalah identitas dengan izin khusus untuk satu orang atau aplikasi. Sebaiknya gunakan kredensial sementara alih-alih pengguna IAM dengan kredensial jangka panjang. Untuk informasi selengkapnya, lihat [Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensi sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) di Panduan Pengguna *IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) menentukan kumpulan pengguna IAM dan mempermudah pengelolaan izin untuk pengguna dalam jumlah besar. Untuk mempelajari selengkapnya, lihat [Kasus penggunaan untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dalam *Panduan Pengguna IAM*.

### Peran IAM
<a name="security_iam_authentication-iamrole"></a>

*[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* adalah identitas dengan izin khusus yang menyediakan kredensial sementara. Anda dapat mengambil peran dengan [beralih dari pengguna ke peran IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) atau dengan memanggil operasi AWS CLI atau AWS API. Untuk informasi selengkapnya, lihat [Metode untuk mengambil peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dalam *Panduan Pengguna IAM*.

Peran IAM berguna untuk akses pengguna terfederasi, izin pengguna IAM sementara, akses lintas akun, akses lintas layanan, dan aplikasi yang berjalan di Amazon EC2. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

## Mengelola akses menggunakan kebijakan
<a name="security_iam_access-manage"></a>

Anda mengontrol akses AWS dengan membuat kebijakan dan melampirkannya ke AWS identitas atau sumber daya. Kebijakan menentukan izin saat dikaitkan dengan identitas atau sumber daya. AWS mengevaluasi kebijakan ini ketika kepala sekolah membuat permintaan. Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON. Untuk informasi selengkapnya tentang dokumen kebijakan JSON, lihat [Gambaran umum kebijakan JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dalam *Panduan Pengguna IAM*.

Menggunakan kebijakan, administrator menentukan siapa yang memiliki akses ke apa dengan mendefinisikan **principal** mana yang dapat melakukan **tindakan** pada **sumber daya** apa, dan dalam **kondisi** apa.

Secara default, pengguna dan peran tidak memiliki izin. Administrator IAM membuat kebijakan IAM dan menambahkannya ke peran, yang kemudian dapat diambil oleh pengguna. Kebijakan IAM mendefinisikan izin terlepas dari metode yang Anda gunakan untuk melakukan operasinya.

### Kebijakan berbasis identitas
<a name="security_iam_access-manage-id-based-policies"></a>

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang Anda lampirkan ke identitas (pengguna, grup, atau peran). Kebijakan ini mengontrol tindakan apa yang bisa dilakukan oleh identitas tersebut, terhadap sumber daya yang mana, dan dalam kondisi apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Kebijakan berbasis identitas dapat berupa *kebijakan inline* (disematkan langsung ke dalam satu identitas) atau *kebijakan terkelola* (kebijakan mandiri yang dilampirkan pada banyak identitas). Untuk mempelajari cara memilih antara kebijakan terkelola dan kebijakan inline, lihat [Pilih antara kebijakan terkelola dan kebijakan inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dalam *Panduan Pengguna IAM*.

### Kebijakan berbasis sumber daya
<a name="security_iam_access-manage-resource-based-policies"></a>

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contohnya termasuk *kebijakan kepercayaan peran IAM* dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya.

Kebijakan berbasis sumber daya merupakan kebijakan inline yang terletak di layanan tersebut. Anda tidak dapat menggunakan kebijakan AWS terkelola dari IAM dalam kebijakan berbasis sumber daya.

### Jenis-jenis kebijakan lain
<a name="security_iam_access-manage-other-policies"></a>

AWS mendukung jenis kebijakan tambahan yang dapat menetapkan izin maksimum yang diberikan oleh jenis kebijakan yang lebih umum:
+ **Batasan izin** – Menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas IAM. Untuk informasi selengkapnya, lihat [Batasan izin untuk entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dalam *Panduan Pengguna IAM*.
+ **Kebijakan kontrol layanan (SCPs)** — Tentukan izin maksimum untuk organisasi atau unit organisasi di AWS Organizations. Untuk informasi selengkapnya, lihat [Kebijakan kontrol layanan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dalam *Panduan Pengguna AWS Organizations *.
+ **Kebijakan kontrol sumber daya (RCPs)** — Tetapkan izin maksimum yang tersedia untuk sumber daya di akun Anda. Untuk informasi selengkapnya, lihat [Kebijakan kontrol sumber daya (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) di *Panduan AWS Organizations Pengguna*.
+ **Kebijakan sesi** – Kebijakan lanjutan yang diteruskan sebagai parameter saat membuat sesi sementara untuk peran atau pengguna terfederasi. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dalam *Panduan Pengguna IAM*.

### Berbagai jenis kebijakan
<a name="security_iam_access-manage-multiple-policies"></a>

Ketika beberapa jenis kebijakan berlaku pada suatu permintaan, izin yang dihasilkan lebih rumit untuk dipahami. Untuk mempelajari cara AWS menentukan apakah akan mengizinkan permintaan saat beberapa jenis kebijakan terlibat, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) di *Panduan Pengguna IAM*.

# Bagaimana Amazon S3 bekerja dengan IAM
<a name="security_iam_service-with-iam"></a>

Sebelum Anda menggunakan IAM untuk mengelola akses ke Amazon S3, pelajari fitur IAM apa yang tersedia untuk digunakan dengan Amazon S3.






**Fitur IAM yang dapat Anda gunakan dengan Amazon S3**  

| Fitur IAM | Dukungan Amazon S3 | 
| --- | --- | 
|  [Kebijakan berbasis identitas](#security_iam_service-with-iam-id-based-policies)  |   Ya  | 
|  [Kebijakan berbasis sumber daya](#security_iam_service-with-iam-resource-based-policies)  |   Ya  | 
|  [Tindakan kebijakan](#security_iam_service-with-iam-id-based-policies-actions)  |   Ya  | 
|  [Sumber daya kebijakan](#security_iam_service-with-iam-id-based-policies-resources)  |   Ya  | 
|  [kunci-kunci persyaratan kebijakan (spesifik layanan)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Ya  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Ya  | 
|  [ABAC (tanda dalam kebijakan)](#security_iam_service-with-iam-tags)  |   Parsial  | 
|  [Kredensial sementara](#security_iam_service-with-iam-roles-tempcreds)  |   Ya  | 
|  [Sesi akses teruskan (FAS)](#security_iam_service-with-iam-principal-permissions)  |   Ya  | 
|  [Peran layanan](#security_iam_service-with-iam-roles-service)  |   Ya  | 
|  [Peran terkait layanan](#security_iam_service-with-iam-roles-service-linked)  |   Parsial  | 

*Untuk mendapatkan tampilan tingkat tinggi tentang cara kerja Amazon S3 dan layanan AWS lainnya dengan sebagian besar fitur IAM, [AWS lihat layanan yang bekerja dengan IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) IAM.*

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

## Kebijakan berbasis identitas untuk Amazon S3
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Mendukung kebijakan berbasis identitas**: Ya

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke sebuah identitas, seperti pengguna IAM, grup pengguna IAM, atau peran IAM. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan terkelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan secara spesifik apakah tindakan dan sumber daya diizinkan atau ditolak, serta kondisi yang menjadi dasar dikabulkan atau ditolaknya tindakan tersebut. Untuk mempelajari semua elemen yang dapat Anda gunakan dalam kebijakan JSON, lihat [Referensi elemen kebijakan JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dalam *Panduan Pengguna IAM*.

### Contoh kebijakan berbasis identitas untuk Amazon S3
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

Untuk melihat contoh kebijakan berbasis identitas Amazon S3, lihat. [Kebijakan berbasis identitas untuk Amazon S3](security_iam_id-based-policy-examples.md)

## Kebijakan berbasis sumber daya dalam Amazon S3
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Mendukung kebijakan berbasis sumber daya**: Ya

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah *kebijakan kepercayaan peran* IAM dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya tempat kebijakan dilampirkan, kebijakan menentukan tindakan apa yang dapat dilakukan oleh principal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. Layanan AWS

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan secara spesifik seluruh akun atau entitas IAM di akun lain sebagai principal dalam kebijakan berbasis sumber daya. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

Layanan Amazon S3 mendukung *kebijakan bucket, kebijakan* *titik akses*, dan hibah *akses*:
+ Kebijakan bucket adalah kebijakan berbasis sumber daya yang dilampirkan ke bucket Amazon S3. Kebijakan bucket menentukan prinsipal mana yang dapat melakukan tindakan di bucket.
+ Kebijakan titik akses adalah kebijakan berbasis sumber daya yang dievaluasi bersama dengan kebijakan bucket yang mendasarinya.
+ Hibah akses adalah model yang disederhanakan untuk menentukan izin akses ke data di Amazon S3 berdasarkan awalan, bucket, atau objek. Untuk informasi tentang Hibah Akses S3, lihat. [Mengelola akses dengan S3 Access Grants](access-grants.md)

### Prinsipal untuk kebijakan bucket
<a name="s3-bucket-user-policy-specifying-principal-intro"></a>

`Principal`Elemen menentukan pengguna, akun, layanan, atau entitas lain yang diizinkan atau ditolak akses ke sumber daya. Berikut ini adalah contoh-contoh menentukan `Principal`. Untuk informasi selengkapnya, lihat [Pengguna Utama](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam *Panduan Pengguna IAM*.

#### Berikan izin ke Akun AWS
<a name="s3-aws-account-permissions"></a>

Untuk memberikan izin ke Akun AWS, identifikasi akun menggunakan format berikut.

```
"AWS":"account-ARN"
```

Berikut ini adalah beberapa contohnya.

```
"Principal":{"AWS":"arn:aws:iam::AccountIDWithoutHyphens:root"}
```

```
"Principal":{"AWS":["arn:aws:iam::AccountID1WithoutHyphens:root","arn:aws:iam::AccountID2WithoutHyphens:root"]}
```

**catatan**  
Contoh di atas memberikan izin kepada pengguna root, yang mendelegasikan izin ke tingkat akun. Namun, kebijakan IAM masih diperlukan pada peran dan pengguna tertentu di akun.

#### Berikan Izin kepada Pengguna IAM
<a name="s3-aws-user-permissions"></a>

Untuk memberikan izin kepada pengguna IAM dalam akun Anda, Anda harus memberikan pasangan nama-nilai `"AWS":"user-ARN"`.

```
"Principal":{"AWS":"arn:aws:iam::account-number-without-hyphens:user/username"}
```

Untuk contoh rinci yang memberikan step-by-step instruksi, lihat [Contoh 1: Pemilik bucket yang memberikan izin bucket kepada penggunanya](example-walkthroughs-managing-access-example1.md) dan[Contoh 3: Pemilik bucket yang memberikan izin kepada penggunanya ke objek yang bukan miliknya](example-walkthroughs-managing-access-example3.md).

**catatan**  
Jika identitas IAM dihapus setelah Anda memperbarui kebijakan bucket, kebijakan bucket akan menampilkan pengenal unik di elemen utama, bukan ARN. Keunikan ini tidak pernah IDs digunakan kembali, sehingga Anda dapat dengan aman menghapus prinsipal dengan pengenal unik dari semua pernyataan kebijakan Anda. Untuk informasi selengkapnya tentang pengidentifikasi unik, lihat [pengidentifikasi IAM di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) Pengguna *IAM*.

#### Memberikan izin anonim
<a name="s3-anonymous-permissions"></a>

**Awas**  
Berhati-hatilah saat memberikan akses anonim ke bucket Amazon S3. Saat Anda memberikan akses anonim, siapa pun di dunia dapat mengakses bucket Anda. Kami sangat menyarankan agar Anda tidak pernah memberikan akses menulis anonim apa pun ke bucket S3 Anda.

Untuk memberikan izin kepada semua orang, juga disebut sebagai akses anonim, Anda atur wildcard (`"*"`) sebagai nilai `Principal`. Misalnya, jika Anda mengonfigurasi bucket sebagai situs web, maka Anda ingin semua objek yang ada dalam bucket dapat diakses publik.

```
"Principal":"*"
```

```
"Principal":{"AWS":"*"}
```

Menggunakan `"Principal": "*"` dengan `Allow` efek dalam kebijakan berbasis sumber daya memungkinkan siapa pun, meskipun mereka tidak masuk AWS, untuk mengakses sumber daya Anda. 

Menggunakan `"Principal" : { "AWS" : "*" }` dengan efek `Allow` dalam kebijakan berbasis sumber daya memungkinkan setiap pengguna root, pengguna IAM, sesi peran yang dianggap, atau pengguna gabungan di akun apa pun di dalam partisi yang sama untuk mengakses sumber daya Anda.

Untuk pengguna anonim, kedua metode ini setara. Untuk informasi selengkapnya, lihat [Semua pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-anonymous) utama di *Panduan Pengguna IAM*.

Anda tidak dapat menggunakan wildcard untuk mencocokkan sebagian nama pengguna utama atau ARN.

**penting**  
Dalam kebijakan kontrol AWS akses, Prinsipal “\$1” dan \$1”AWS“: “\$1"\$1 berperilaku identik.

#### Batasi izin sumber daya
<a name="s3-restrict-permissions"></a>

Anda juga dapat menggunakan kebijakan sumber daya untuk membatasi akses ke sumber daya yang seharusnya tersedia untuk pengguna utama IAM. Gunakan `Deny` pernyataan untuk mencegah akses.

Contoh berikut memblokir akses jika protokol transport aman tidak digunakan:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyBucketAccessIfSTPNotUsed",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      }
    }
  ]
}
```

------

Menggunakan `"Principal": "*"` sehingga pembatasan ini berlaku untuk semua orang adalah praktik terbaik untuk kebijakan ini, daripada mencoba menolak akses hanya ke akun atau pengguna utama tertentu yang menggunakan metode ini. 

#### Membutuhkan akses melalui CloudFront URLs
<a name="require-cloudfront-urls"></a>

Anda dapat meminta pengguna mengakses konten Amazon S3 Anda hanya dengan menggunakan CloudFront URLs alih-alih Amazon S3. URLs Untuk melakukan ini, buat kontrol akses CloudFront asal (OAC). Kemudian, ubah izin pada data S3 Anda. Dalam kebijakan bucket, Anda dapat menetapkan CloudFront Principal sebagai berikut:

```
"Principal":{"Service":"cloudfront.amazonaws.com"}
```

Gunakan `Condition` elemen dalam kebijakan CloudFront untuk mengizinkan akses bucket hanya jika permintaan tersebut atas nama CloudFront distribusi yang berisi asal S3.

```
        "Condition": {
           "StringEquals": {
              "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront-distribution-ID"
           }
        }
```

Untuk informasi selengkapnya tentang mewajibkan akses S3 CloudFront URLs, lihat [Membatasi akses ke asal Layanan Penyimpanan Sederhana Amazon](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) di Panduan * CloudFront Pengembang Amazon*. Untuk informasi selengkapnya tentang manfaat keamanan dan privasi menggunakan Amazon CloudFront, lihat [Mengonfigurasi akses aman dan membatasi akses ke konten](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecurityAndPrivateContent.html). 

### Contoh kebijakan berbasis sumber daya untuk Amazon S3
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>
+ Untuk melihat contoh kebijakan untuk bucket Amazon S3, lihat. [Kebijakan Bucket untuk Amazon S3](bucket-policies.md)
+ Untuk melihat contoh kebijakan untuk titik akses, lihat[Mengonfigurasi kebijakan IAM untuk menggunakan titik akses](access-points-policies.md).

## Tindakan kebijakan untuk Amazon S3
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Mendukung tindakan kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.

Berikut ini menunjukkan berbagai jenis hubungan pemetaan antara operasi API S3 dan tindakan kebijakan yang diperlukan.
+ One-to-one pemetaan dengan nama yang sama. Misalnya, untuk menggunakan operasi `PutBucketPolicy` API, tindakan `s3:PutBucketPolicy` kebijakan diperlukan.
+ One-to-one pemetaan dengan nama yang berbeda. Misalnya, untuk menggunakan operasi `ListObjectsV2` API, tindakan `s3:ListBucket` kebijakan diperlukan.
+ One-to-many pemetaan. Misalnya, untuk menggunakan operasi `HeadObject` API, `s3:GetObject` diperlukan. Selain itu, saat Anda menggunakan Kunci Objek S3 dan ingin mendapatkan status Penahanan Hukum atau pengaturan penyimpanan objek, tindakan terkait `s3:GetObjectLegalHold` atau `s3:GetObjectRetention` kebijakan juga diperlukan sebelum Anda dapat menggunakan operasi `HeadObject` API.
+ Many-to-one pemetaan. Misalnya, untuk menggunakan operasi `ListObjectsV2` atau `HeadBucket` API, tindakan `s3:ListBucket` kebijakan diperlukan.



*Untuk melihat daftar tindakan Amazon S3 untuk digunakan dalam kebijakan, lihat [Tindakan yang ditentukan oleh Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions) di Referensi Otorisasi Layanan.* Untuk daftar lengkap operasi Amazon S3 API, lihat Tindakan API [Amazon S3 di Referensi API](https://docs.aws.amazon.com//AmazonS3/latest/API/API_Operations.html) Layanan *Penyimpanan Sederhana Amazon*.

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

Tindakan kebijakan di Amazon S3 menggunakan awalan berikut sebelum tindakan:

```
s3
```

Untuk menetapkan secara spesifik beberapa tindakan dalam satu pernyataan, pisahkan tindakan tersebut dengan koma.

```
"Action": [
      "s3:action1",
      "s3:action2"
         ]
```





### Operasi bucket
<a name="using-with-s3-actions-related-to-buckets"></a>

Operasi bucket adalah operasi API S3 yang beroperasi pada tipe sumber daya bucket. Misalnya,`CreateBucket`,`ListObjectsV2`, dan`PutBucketPolicy`. Tindakan kebijakan S3 untuk operasi bucket memerlukan `Resource` elemen dalam kebijakan bucket atau kebijakan berbasis identitas IAM sebagai pengidentifikasi Amazon Resource Name (ARN) tipe bucket S3 dalam format contoh berikut. 

```
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
```

Kebijakan bucket berikut `Akua` memberi pengguna `s3:ListBucket` izin akun `12345678901` untuk melakukan operasi [https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutObject.html)API dan mencantumkan objek dalam bucket S3.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow Akua to list objects in the bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Akua"
            },
            "Action": [
            "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
        }
    ]
}
```

------
<a name="bucket-operations-ap"></a>
**Operasi bucket dalam kebijakan untuk titik akses untuk bucket tujuan umum**  
Izin yang diberikan di jalur akses untuk kebijakan bucket tujuan umum hanya berlaku jika bucket yang mendasarinya mengizinkan izin yang sama. Saat menggunakan Titik Akses S3, Anda harus mendelegasikan kontrol akses dari bucket ke titik akses atau menambahkan izin yang sama dalam kebijakan titik akses ke kebijakan bucket yang mendasarinya. Untuk informasi selengkapnya, lihat [Mengonfigurasi kebijakan IAM untuk menggunakan titik akses](access-points-policies.md). Dalam kebijakan titik akses, tindakan kebijakan S3 untuk operasi bucket mengharuskan Anda menggunakan titik akses ARN untuk elemen `Resource` dalam format berikut. 

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point"
```

Kebijakan titik akses berikut `Akua` memberi pengguna akun `12345678901` `s3:ListBucket` izin untuk melakukan operasi [https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectsV2.html)API melalui titik akses S3 bernama. `example-access-point` Izin ini memungkinkan `Akua` untuk membuat daftar objek di bucket yang terkait dengannya`example-access-point`. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAkuaToListObjectsInBucketThroughAccessPoint",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Akua"
            },
            "Action": [
            "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:us-west-2:111122223333:accesspoint/example-access-point"
        }
    ]
}
```

------

**catatan**  
Tidak semua operasi bucket didukung oleh titik akses untuk bucket tujuan umum. Untuk informasi selengkapnya, lihat [Kompatibilitas titik akses dengan operasi S3](access-points-service-api-support.md#access-points-operations-support).
<a name="bucket-operations-ap-directory-buckets"></a>
**Operasi bucket dalam kebijakan untuk titik akses untuk bucket direktori**  
Izin yang diberikan dalam jalur akses untuk kebijakan bucket direktori hanya efektif jika bucket yang mendasarinya mengizinkan izin yang sama. Saat menggunakan Titik Akses S3, Anda harus mendelegasikan kontrol akses dari bucket ke titik akses atau menambahkan izin yang sama dalam kebijakan titik akses ke kebijakan bucket yang mendasarinya. Untuk informasi selengkapnya, lihat [Mengkonfigurasi kebijakan IAM untuk menggunakan titik akses untuk bucket direktori](access-points-directory-buckets-policies.md). Dalam kebijakan titik akses, tindakan kebijakan S3 untuk operasi bucket mengharuskan Anda menggunakan titik akses ARN untuk elemen `Resource` dalam format berikut. 

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3"
```

Kebijakan titik akses berikut `Akua` memberi pengguna akun `12345678901` `s3:ListBucket` izin untuk melakukan operasi [https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectsV2.html)API melalui titik akses bernama`example-access-point--usw2-az1--xa-s3`. Izin ini memungkinkan `Akua` untuk membuat daftar objek di bucket yang terkait dengannya`example-access-point--usw2-az1--xa-s3`. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAkuaToListObjectsInTheBucketThroughAccessPoint",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Akua"
            },
            "Action": [
            "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3express:us-east-1:111122223333:accesspoint/example-access-point-usw2-az1-xa-s3"
        }
    ]
}
```

------

**catatan**  
Tidak semua operasi bucket didukung oleh titik akses untuk bucket direktori. Untuk informasi selengkapnya, lihat [Operasi objek untuk titik akses untuk bucket direktori](access-points-directory-buckets-service-api-support.md).

### Operasi objek
<a name="using-with-s3-actions-related-to-objects"></a>

Operasi objek adalah operasi API S3 yang bertindak berdasarkan jenis sumber daya objek. Misalnya,`GetObject`,`PutObject`, dan`DeleteObject`. Tindakan kebijakan S3 untuk operasi objek memerlukan `Resource` elemen dalam kebijakan menjadi objek ARN S3 dalam format contoh berikut. 

```
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
```

```
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*"
```

**catatan**  
Objek ARN harus berisi garis miring ke depan setelah nama bucket, seperti yang terlihat pada contoh sebelumnya.

Kebijakan bucket berikut `Akua` memberi pengguna `s3:PutObject` izin akun`12345678901`. Izin ini memungkinkan `Akua` untuk menggunakan operasi [https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutObject.html)API untuk mengunggah objek ke bucket S3 bernama`amzn-s3-demo-bucket`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow Akua to upload objects",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Akua"
            },
            "Action": [
            "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------
<a name="object-operations-ap"></a>
**Operasi objek dalam kebijakan titik akses**  
Bila Anda menggunakan S3 Access Points untuk mengontrol akses ke operasi objek, Anda dapat menggunakan kebijakan titik akses. Saat Anda menggunakan kebijakan titik akses, tindakan kebijakan S3 untuk operasi objek mengharuskan Anda menggunakan titik akses ARN untuk elemen `Resource` dalam format berikut:. `arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource` Untuk operasi objek yang menggunakan titik akses, Anda harus menyertakan `/object/` nilai setelah seluruh titik akses ARN dalam elemen. `Resource` Berikut ini adalah beberapa contoh.

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point/object/*"
```

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point/object/prefix/*"
```

Kebijakan jalur akses berikut `Akua` memberi pengguna `s3:GetObject` izin akun`12345678901`. Izin ini memungkinkan `Akua` untuk melakukan operasi [https://docs.aws.amazon.com//AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_GetObject.html)API melalui titik akses yang diberi nama `example-access-point` pada semua objek di bucket yang terkait dengan titik akses. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow Akua to get objects through access point",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/Akua"
            },
            "Action": [
            "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:us-east-1:111122223333:accesspoint/example-access-point/object/*"
        }
    ]
}
```

------

**catatan**  
Tidak semua operasi objek didukung oleh titik akses. Untuk informasi selengkapnya, lihat [Kompatibilitas titik akses dengan operasi S3](access-points-service-api-support.md#access-points-operations-support).
<a name="object-operations-ap-directory-buckets"></a>
**Operasi objek dalam kebijakan untuk titik akses untuk bucket direktori**  
Saat Anda menggunakan titik akses untuk bucket direktori untuk mengontrol akses ke operasi objek, Anda dapat menggunakan kebijakan titik akses. Saat Anda menggunakan kebijakan titik akses, tindakan kebijakan S3 untuk operasi objek mengharuskan Anda menggunakan titik akses ARN untuk elemen `Resource` dalam format berikut:. `arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource` Untuk operasi objek yang menggunakan titik akses, Anda harus menyertakan `/object/` nilai setelah seluruh titik akses ARN dalam elemen. `Resource` Berikut ini adalah beberapa contoh.

```
"Resource": "arn:aws:s3express:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3/object/*"
```

```
"Resource": "arn:aws:s3express:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3/object/prefix/*"
```

Kebijakan jalur akses berikut `Akua` memberi pengguna `s3:GetObject` izin akun`12345678901`. Izin ini memungkinkan `Akua` untuk melakukan operasi [https://docs.aws.amazon.com//AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_GetObject.html)API melalui titik akses yang diberi nama `example-access-point--usw2-az1--xa-s3` pada semua objek di bucket yang terkait dengan titik akses. 

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "Allow Akua to get objects through access point",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::12345678901:user/Akua"
            },
            "Action": "s3express:CreateSession","s3:GetObject"
            "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3/object/*"
        }
    ]
}
```

**catatan**  
Tidak semua operasi objek didukung oleh titik akses untuk bucket direktori. Untuk informasi selengkapnya, lihat [Operasi objek untuk titik akses untuk bucket direktori](access-points-directory-buckets-service-api-support.md).

### Titik akses untuk operasi bucket tujuan umum
<a name="using-with-s3-actions-related-to-accesspoint"></a>

Operasi titik akses adalah operasi API S3 yang beroperasi pada jenis `accesspoint` sumber daya. Misalnya,`CreateAccessPoint`,`DeleteAccessPoint`, dan`GetAccessPointPolicy`. Tindakan kebijakan S3 untuk operasi titik akses hanya dapat digunakan dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket atau kebijakan jalur akses. Operasi titik akses memerlukan `Resource` elemen untuk menjadi titik akses ARN dalam format contoh berikut. 

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point"
```

Kebijakan berbasis identitas IAM berikut memberikan `s3:GetAccessPointPolicy` izin untuk melakukan operasi [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetAccessPointPolicy.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetAccessPointPolicy.html)API pada titik akses S3 bernama. `example-access-point`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GrantPermissionToRetrieveTheAccessPointPolicyOfAccessPointExampleAccessPoint",
            "Effect": "Allow",
            "Action": [
            "s3:GetAccessPointPolicy"
            ],
            "Resource": "arn:aws:s3:*:123456789012:accesspoint/example-access-point"
        }
    ]
}
```

------

Saat Anda menggunakan Titik Akses, untuk mengontrol akses ke operasi bucket, lihat[Operasi bucket dalam kebijakan untuk titik akses untuk bucket tujuan umum](#bucket-operations-ap); untuk mengontrol akses ke operasi objek, lihat[Operasi objek dalam kebijakan titik akses](#object-operations-ap). Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan titik akses, lihat[Mengonfigurasi kebijakan IAM untuk menggunakan titik akses](access-points-policies.md).

### Titik akses untuk operasi bucket direktori
<a name="using-with-s3-actions-related-to-accesspoint-directory-buckets"></a>

Titik akses untuk operasi bucket direktori adalah operasi API S3 yang beroperasi pada jenis `accesspoint` sumber daya. Misalnya,`CreateAccessPoint`,`DeleteAccessPoint`, dan`GetAccessPointPolicy`. Tindakan kebijakan S3 untuk operasi titik akses hanya dapat digunakan dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket atau kebijakan jalur akses. Titik akses untuk operasi bucket direktori memerlukan `Resource` elemen untuk menjadi titik akses ARN dalam format contoh berikut. 

```
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3"
```

Kebijakan berbasis identitas IAM berikut memberikan `s3express:GetAccessPointPolicy` izin untuk melakukan operasi [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetAccessPointPolicy.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetAccessPointPolicy.html)API pada titik akses bernama. `example-access-point--usw2-az1--xa-s3`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GrantPermissionToRetrieveTheAccessPointPolicyOfAccessPointExampleAccessPointUsw2Az1XaS3",
            "Effect": "Allow",
            "Action": [
            "s3express:CreateSession","s3express:GetAccessPointPolicy"
            ],
            "Resource": "arn:aws:s3:*:111122223333:accesspoint/example-access-point"
        }
    ]
}
```

------

Kebijakan berbasis identitas IAM berikut memberikan `s3express:CreateAccessPoint` izin untuk membuat titik akses untuk bucket direktori.

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "Grant CreateAccessPoint.",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "s3express:CreateAccessPoint""Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

Kebijakan berbasis identitas IAM berikut memberikan `s3express:PutAccessPointScope` izin untuk membuat cakupan titik akses untuk titik akses untuk bucket direktori.

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "Grant PutAccessPointScope",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "s3express:CreateAccessPoint",
            "S3Express:PutAccessPointScope""Effect": "Allow",
            "Resource": "*",
        }
    ]
}
```

Saat Anda menggunakan titik akses untuk bucket direktori untuk mengontrol akses ke operasi bucket, lihat[Operasi bucket dalam kebijakan untuk titik akses untuk bucket direktori](#bucket-operations-ap-directory-buckets); untuk mengontrol akses ke operasi objek, lihat[Operasi objek dalam kebijakan untuk titik akses untuk bucket direktori](#object-operations-ap-directory-buckets). Untuk informasi selengkapnya tentang cara mengonfigurasi titik akses untuk kebijakan bucket direktori, lihat[Mengkonfigurasi kebijakan IAM untuk menggunakan titik akses untuk bucket direktori](access-points-directory-buckets-policies.md).

### Operasi Objek Lambda Access Point
<a name="using-with-s3-actions-related-to-olap"></a>

Dengan Lambda Objek Amazon S3, Anda dapat menambahkan kode Anda sendiri ke `GET`, `LIST`, dan `HEAD` Amazon S3 dan meminta untuk mengubah dan memproses data saat dikembalikan ke aplikasi. Anda dapat membuat permintaan melalui Object Lambda Access Point, yang berfungsi sama seperti membuat permintaan melalui titik akses lainnya. Untuk informasi selengkapnya, lihat [Mengubah objek dengan S3 Lambda Objek](transforming-objects.md).

Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan untuk operasi Titik Akses Objek Lambda, lihat. [Mengonfigurasi kebijakan IAM untuk Titik Akses Lambda Objek](olap-policies.md)

### Operasi Titik Akses Multi-Wilayah
<a name="using-with-s3-actions-related-to-mrap"></a>

Titik Akses Multi-Region menyediakan titik akhir global yang dapat digunakan aplikasi untuk memenuhi permintaan dari bucket S3 yang terletak di beberapa. Wilayah AWS Anda dapat menggunakan Titik Akses Multi-Wilayah untuk membangun aplikasi Multi-wilayah dengan arsitektur yang sama yang digunakan di satu Wilayah, dan kemudian menjalankan aplikasi tersebut di mana saja di dunia. Untuk informasi selengkapnya, lihat [Mengelola lalu lintas Multi-wilayah dengan Titik Akses Multi-Wilayah](MultiRegionAccessPoints.md).

Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan untuk operasi Titik Akses Multi-Wilayah, lihat[Contoh kebijakan Titik Akses Multi-Wilayah](MultiRegionAccessPointPermissions.md#MultiRegionAccessPointPolicyExamples).

### Operasi pekerjaan Batch
<a name="using-with-s3-actions-related-to-batchops"></a>

Operasi pekerjaan (Operasi Batch) adalah operasi API S3 yang beroperasi pada jenis sumber daya pekerjaan. Misalnya, `DescribeJob` dan `CreateJob`. Tindakan kebijakan S3 untuk operasi pekerjaan hanya dapat digunakan dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket. Selain itu, operasi pekerjaan memerlukan `Resource` elemen dalam kebijakan berbasis identitas IAM menjadi `job` ARN dalam format contoh berikut. 

```
"Resource": "arn:aws:s3:*:123456789012:job/*"
```

Kebijakan berbasis identitas IAM berikut memberikan `s3:DescribeJob` izin untuk melakukan operasi [DescribeJob](https://docs.aws.amazon.com//AmazonS3/latest/API/API_DescribeJob.html)API pada pekerjaan Operasi Batch S3 yang diberi nama. `example-job`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribingBatchOperationJob",
            "Effect": "Allow",
            "Action": [
            "s3:DescribeJob"
            ],
            "Resource": "arn:aws:s3:*:111122223333:job/example-job"
        }
    ]
}
```

------

### Operasi konfigurasi Lensa Penyimpanan S3
<a name="using-with-s3-actions-related-to-lens"></a>

Untuk informasi selengkapnya tentang cara mengonfigurasi operasi konfigurasi Lensa Penyimpanan S3, lihat[Menyetel izin Lensa Penyimpanan Amazon S3](storage_lens_iam_permissions.md).

### Operasi akun
<a name="using-with-s3-actions-related-to-accounts"></a>

Operasi akun adalah operasi API S3 yang beroperasi pada tingkat akun. Misalnya, `GetPublicAccessBlock` (untuk akun). Akun bukanlah jenis sumber daya yang ditentukan oleh Amazon S3. Tindakan kebijakan S3 untuk operasi akun hanya dapat digunakan dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket. Selain itu, operasi akun memerlukan `Resource` elemen dalam kebijakan berbasis identitas IAM. `"*"` 

Kebijakan berbasis identitas IAM berikut memberikan `s3:GetAccountPublicAccessBlock` izin untuk melakukan operasi [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetPublicAccessBlock.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_GetPublicAccessBlock.html)API tingkat akun dan mengambil pengaturan Blok Akses Publik tingkat akun.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowRetrievingTheAccountLevelPublicAccessBlockSettings",
         "Effect":"Allow",
         "Action":[
            "s3:GetAccountPublicAccessBlock" 
         ],
         "Resource":[
            "*"
         ]
       }
    ]
}
```

------

### Contoh kebijakan untuk Amazon S3
<a name="security_iam_service-with-policies-examples-actions"></a>
+ Untuk melihat contoh kebijakan berbasis identitas Amazon S3, lihat. [Kebijakan berbasis identitas untuk Amazon S3](security_iam_id-based-policy-examples.md)
+ Untuk melihat contoh kebijakan berbasis sumber daya Amazon S3, lihat dan. [Kebijakan Bucket untuk Amazon S3](bucket-policies.md) [Mengonfigurasi kebijakan IAM untuk menggunakan titik akses](access-points-policies.md)

## Sumber daya kebijakan untuk Amazon S3
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Mendukung sumber daya kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```

Beberapa tindakan API Amazon S3 mendukung banyak sumber daya. Misalnya, `s3:GetObject` mengakses `example-resource-1` dan`example-resource-2`, jadi prinsipal harus memiliki izin untuk mengakses kedua sumber daya. Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARNs dengan koma, seperti yang ditunjukkan pada contoh berikut. 

```
"Resource": [
      "example-resource-1",
      "example-resource-2"
```

Sumber daya di Amazon S3 adalah bucket, objek, titik akses, atau pekerjaan. Dalam kebijakan, gunakan Amazon Resource Name (ARN) bucket, objek, access point, atau job untuk mengidentifikasi sumber daya.

*Untuk melihat daftar lengkap jenis sumber daya Amazon S3 dan jenisnya ARNs, lihat Sumber daya yang [ditentukan oleh Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-resources-for-iam-policies) di Referensi Otorisasi Layanan.* Untuk mempelajari tindakan mana yang dapat Anda tentukan ARN dari setiap sumber daya, lihat [Tindakan yang ditentukan oleh Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions).

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

### Karakter wildcard dalam sumber daya ARNs
<a name="s3-arn-wildcards"></a>

Anda dapat menggunakan karakter wildcard sebagai bagian dari ARN sumber daya. Anda dapat menggunakan karakter wildcard (`*`dan`?`) dalam setiap segmen ARN (bagian dipisahkan oleh titik dua). Tanda bintang (`*`) menunjukkan kombinasi apa pun dari nol karakter atau lebih, dan tanda tanya (`?`) menunjukkan karakter tunggal. Anda dapat menggunakan beberapa `*` atau `?` karakter di setiap segmen. Namun, karakter wildcard tidak dapat menjangkau segmen. 
+ ARN berikut menggunakan karakter `*` wildcard di `relative-ID` bagian ARN untuk mengidentifikasi semua objek dalam ember. `amzn-s3-demo-bucket`

  ```
  1. arn:aws:s3:::amzn-s3-demo-bucket/*
  ```
+ ARN berikut digunakan `*` untuk menunjukkan semua ember dan objek S3.

  ```
  arn:aws:s3:::*
  ```
+ ARN berikut menggunakan kedua karakter wildcard, `*` dan`?`, di bagian tersebut. `relative-ID` ARN ini mengidentifikasi semua objek dalam ember seperti*`amzn-s3-demo-example1bucket`*,, `amzn-s3-demo-example2bucket``amzn-s3-demo-example3bucket`, dan sebagainya.

  ```
  1. arn:aws:s3:::amzn-s3-demo-example?bucket/*
  ```

### Variabel kebijakan untuk sumber daya ARNs
<a name="s3-policy-variables"></a>

Anda dapat menggunakan variabel kebijakan di Amazon S3 ARNs. Pada waktu evaluasi kebijakan, variabel-variabel yang telah ditentukan ini digantikan oleh nilai-nilai yang sesuai. Misalkan Anda mengatur bucket Anda sebagai kumpulan folder, dengan satu folder untuk setiap pengguna Anda. Nama folder sama dengan nama pengguna. Untuk memberikan pengguna izin ke folder mereka, Anda dapat menentukan variabel kebijakan di ARN sumber daya:

```
arn:aws:s3:::bucket_name/developers/${aws:username}/
```

Saat runtime, ketika kebijakan dievaluasi, variabel `${aws:username}` dalam ARN sumber daya diganti dengan nama pengguna orang yang membuat permintaan. 





### Contoh kebijakan untuk Amazon S3
<a name="security_iam_service-with-policies-examples-resources"></a>
+ Untuk melihat contoh kebijakan berbasis identitas Amazon S3, lihat. [Kebijakan berbasis identitas untuk Amazon S3](security_iam_id-based-policy-examples.md)
+ Untuk melihat contoh kebijakan berbasis sumber daya Amazon S3, lihat dan. [Kebijakan Bucket untuk Amazon S3](bucket-policies.md) [Mengonfigurasi kebijakan IAM untuk menggunakan titik akses](access-points-policies.md)

## Kunci kondisi kebijakan untuk Amazon S3
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Mendukung kunci kondisi kebijakan khusus layanan:** Yes

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

Setiap kunci kondisi Amazon S3 memetakan ke header permintaan nama yang sama yang diizinkan oleh API tempat kondisinya dapat disetel. Kunci kondisi spesifik Amazon S3 menentukan perilaku header permintaan nama yang sama. Misalnya, kunci kondisi yang `s3:VersionId` digunakan untuk memberikan izin bersyarat untuk `s3:GetObjectVersion` izin menentukan perilaku parameter `versionId` kueri yang Anda tetapkan dalam permintaan GET Object.

*Untuk melihat daftar kunci kondisi Amazon S3, lihat Kunci kondisi [untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) di Referensi Otorisasi Layanan.* Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat [Tindakan yang ditentukan oleh Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions).

### Contoh: Membatasi unggahan objek ke objek dengan kelas penyimpanan tertentu
<a name="example-storage-class-condition-key"></a>

Misalkan Akun A, yang diwakili oleh ID akun`123456789012`, memiliki ember. Administrator Akun A ingin membatasi*`Dave`*, pengguna di Akun A, sehingga *`Dave`* dapat mengunggah objek ke bucket hanya jika objek disimpan di kelas `STANDARD_IA` penyimpanan. Untuk membatasi unggahan objek ke kelas penyimpanan tertentu, administrator Akun A dapat menggunakan kunci `s3:x-amz-storage-class` kondisi, seperti yang ditunjukkan dalam contoh kebijakan bucket berikut. 

------
#### [ JSON ]

****  

```
{
                 "Version":"2012-10-17",		 	 	 
                 "Statement": [
                   {
                     "Sid": "statement1",
                     "Effect": "Allow",
                     "Principal": {
                       "AWS": "arn:aws:iam::123456789012:user/Dave"
                     },
                     "Action": "s3:PutObject",
                     "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                     "Condition": {
                       "StringEquals": {
                         "s3:x-amz-storage-class": [
                           "STANDARD_IA"
                         ]
                       }
                     }
                   }
                 ]
            }
```

------

Dalam contoh ini, blok `Condition` menentukan syarat `StringEquals` yang diterapkan untuk pasangan nilai kunci tertentu, `"s3:x-amz-acl":["public-read"]`. Ada satu pengaturan kunci yang telah ditetapkan yang dapat Anda gunakan dalam mengekspresikan syarat. Contoh tersebut menggunakan kunci kondisi `s3:x-amz-acl`. Kondisi ini mengharuskan pengguna untuk menyertakan `x-amz-acl` header dengan nilai `public-read` di setiap `PutObject` permintaan.

### Contoh kebijakan untuk Amazon S3
<a name="security_iam_service-with-policies-examples-conditions"></a>
+ Untuk melihat contoh kebijakan berbasis identitas Amazon S3, lihat. [Kebijakan berbasis identitas untuk Amazon S3](security_iam_id-based-policy-examples.md)
+ Untuk melihat contoh kebijakan berbasis sumber daya Amazon S3, lihat dan. [Kebijakan Bucket untuk Amazon S3](bucket-policies.md) [Mengonfigurasi kebijakan IAM untuk menggunakan titik akses](access-points-policies.md)

## ACLs di Amazon S3
<a name="security_iam_service-with-iam-acls"></a>

**Mendukung ACLs:** Ya

Di Amazon S3, kontrol daftar kontrol akses (ACLs) yang Akun AWS memiliki izin untuk mengakses sumber daya. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka tidak menggunakan format dokumen kebijakan JSON.

**penting**  
Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan. ACLs 

Untuk informasi tentang penggunaan ACLs untuk mengontrol akses di Amazon S3, lihat. [Mengelola akses dengan ACLs](acls.md)

## ABAC dengan Amazon S3
<a name="security_iam_service-with-iam-tags"></a>

**Mendukung ABAC (tag dalam kebijakan): Sebagian**

Kontrol akses berbasis atribut (ABAC) adalah strategi otorisasi yang menentukan izin berdasarkan atribut tanda. Anda dapat melampirkan tag ke entitas dan AWS sumber daya IAM, lalu merancang kebijakan ABAC untuk mengizinkan operasi saat tag prinsipal cocok dengan tag pada sumber daya.

Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di [elemen kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dari kebijakan menggunakan kunci kondisi `aws:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`.

Jika sebuah layanan mendukung ketiga kunci kondisi untuk setiap jenis sumber daya, nilainya adalah **Ya** untuk layanan tersebut. Jika suatu layanan mendukung ketiga kunci kondisi untuk hanya beberapa jenis sumber daya, nilainya adalah **Parsial**.

Untuk informasi selengkapnya tentang ABAC, lihat [Tentukan izin dengan otorisasi ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dalam *Panduan Pengguna IAM.* Untuk melihat tutorial yang menguraikan langkah-langkah pengaturan ABAC, lihat [Menggunakan kontrol akses berbasis atribut (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) dalam *Panduan Pengguna IAM*.

Untuk informasi tentang sumber daya yang mendukung ABAC di Amazon S3, [lihat Menggunakan tag untuk kontrol akses berbasis atribut](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac) (ABAC).

Untuk melihat contoh kebijakan berbasis identitas untuk membatasi akses ke pekerjaan Operasi Batch S3 berdasarkan tag, lihat. [Mengontrol izin untuk Operasi Batch menggunakan tag pekerjaan](batch-ops-job-tags-examples.md)

### ABAC dan tag objek
<a name="s3-object-tags"></a>

Dalam kebijakan ABAC, objek menggunakan `s3:` tag, bukan `aws:` tag. Untuk mengontrol akses ke objek berdasarkan tag objek, Anda memberikan informasi tag dalam [Conditionelemen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) kebijakan menggunakan tag berikut:
+ `s3:ExistingObjectTag/tag-key`
+ `s3:RequestObjectTagKeys`
+ `s3:RequestObjectTag/tag-key`

Untuk informasi tentang penggunaan tag objek untuk mengontrol akses, termasuk contoh kebijakan izin, lihat[Kebijakan pemberian tag dan kontrol akses](tagging-and-policies.md).

## Menggunakan kredensil sementara dengan Amazon S3
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Mendukung kredensial sementara:** Ya

Kredensi sementara menyediakan akses jangka pendek ke AWS sumber daya dan secara otomatis dibuat saat Anda menggunakan federasi atau beralih peran. AWS merekomendasikan agar Anda secara dinamis menghasilkan kredensi sementara alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat [Kredensial keamanan sementara di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) dan [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dalam *Panduan Pengguna IAM*.

## Teruskan sesi akses untuk Amazon S3
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Mendukung sesi akses terusan (FAS):** Ya

 Sesi akses teruskan (FAS) menggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Untuk detail kebijakan ketika mengajukan permintaan FAS, lihat [Sesi akses terusan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 
+ FAS digunakan oleh Amazon S3 untuk melakukan panggilan AWS KMS untuk mendekripsi objek ketika SSE-KMS digunakan untuk mengenkripsi itu. Untuk informasi selengkapnya, lihat [Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS)](UsingKMSEncryption.md). 
+ S3 Access Grants juga menggunakan FAS. Setelah Anda membuat hibah akses ke data S3 Anda untuk identitas tertentu, penerima hibah meminta kredensi sementara dari S3 Access Grants. S3 Access Grants memperoleh kredensi sementara untuk pemohon dari AWS STS dan memberikan kredensi kepada pemohon. Untuk informasi selengkapnya, lihat [Minta akses ke data Amazon S3 melalui S3 Access Grants](access-grants-credentials.md).

## Peran layanan untuk Amazon S3
<a name="security_iam_service-with-iam-roles-service"></a>

**Mendukung peran layanan:** Ya

 Peran layanan adalah [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) yang diambil oleh sebuah layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat [Buat sebuah peran untuk mendelegasikan izin ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dalam *Panduan pengguna IAM*. 

**Awas**  
Mengubah izin untuk peran layanan dapat merusak fungsionalitas Amazon S3. Edit peran layanan hanya jika Amazon S3 memberikan panduan untuk melakukannya.

## Peran terkait layanan untuk Amazon S3
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Mendukung peran terkait layanan**: Sebagian

 Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. Layanan AWS Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan. 

Amazon S3 mendukung peran terkait layanan untuk Lensa Penyimpanan Amazon S3. Untuk detail tentang membuat atau mengelola peran terkait layanan Amazon S3, lihat. [Menggunakan Peran Terkait Layanan untuk Lensa Penyimpanan Amazon S3](using-service-linked-roles.md)

**Layanan Amazon S3 sebagai Principal**


| Nama layanan dalam kebijakan | Fitur S3 | Informasi selengkapnya | 
| --- | --- | --- | 
|  `s3.amazonaws.com`  |  Replikasi S3  |  [Menyiapkan ikhtisar replikasi langsung](replication-how-setup.md)  | 
|  `s3.amazonaws.com`  |  Pemberitahuan acara S3  |  [Notifikasi Peristiwa Amazon S3](EventNotifications.md)  | 
|  `s3.amazonaws.com`  |  Inventaris S3  |  [Membuat katalog dan menganalisis data Anda dengan S3 Inventory](storage-inventory.md)  | 
|  `access-grants.s3.amazonaws.com`  |  Pemberian Akses S3  |  [Mendaftarkan lokasi](access-grants-location-register.md)  | 
|  `batchoperations.s3.amazonaws.com`  |  Operasi Batch S3  |  [Memberikan izin untuk Batch Operations](batch-ops-iam-role-policies.md)  | 
|  `logging.s3.amazonaws.com`  |  Pencatatan Akses Server S3  |  [Mengaktifkan pencatatan akses server Amazon S3](enable-server-access-logging.md)  | 
|  `storage-lens.s3.amazonaws.com`  |  Lensa Penyimpanan S3  |  [Melihat metrik Lensa Penyimpanan Amazon S3 menggunakan ekspor data](storage_lens_view_metrics_export.md)  | 

# Bagaimana Amazon S3 Mengotorisasi Permintaan
<a name="how-s3-evaluates-access-control"></a>

Ketika Amazon S3 menerima permintaan—misalnya, operasi bucket atau operasi objek—pertama-tama akan memverifikasi apakah pemohon memiliki izin yang diperlukan. Amazon S3 mengevaluasi semua kebijakan akses yang relevan, kebijakan pengguna, dan kebijakan berbasis sumber daya (kebijakan bucket, daftar kontrol akses bucket (ACL), dan objek ACL) dalam memutuskan apakah akan mengotorisasi permintaan. 

**catatan**  
Jika pemeriksaan izin Amazon S3 gagal menemukan izin yang valid, kesalahan Akses Ditolak (403 Terlarang) ditolak akan dikembalikan. Untuk informasi selengkapnya, lihat [Memecahkan masalah kesalahan Akses Ditolak (403 Terlarang) di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/troubleshoot-403-errors.html).

Untuk menentukan apakah pemohon memiliki izin untuk melakukan operasi tertentu, Amazon S3 melakukan hal berikut, secara berurutan, saat menerima permintaan:

1. Mengonversi semua kebijakan akses yang relevan (kebijakan pengguna, kebijakan bucket, dan ACLs) pada waktu berjalan menjadi serangkaian kebijakan untuk evaluasi.

1. Mengevaluasi serangkaian kebijakan yang dihasilkan dalam langkah-langkah berikut. Dalam setiap langkah, Amazon S3 akan mengevaluasi sebagian dari kebijakan dalam konteks tertentu, berdasarkan otoritas konteks. 

   1. **Konteks pengguna**–Dalam konteks pengguna, akun induk yang merupakan pemilik pengguna adalah otoritas konteks.

      Amazon S3 mengevaluasi sebagian kebijakan yang dimiliki oleh akun induk. Sebagian kebijakan ini mencakup kebijakan pengguna yang dilampirkan oleh akun induk kepada pengguna. Jika induk juga memiliki sumber daya dalam permintaan (bucket atau objek), Amazon S3 juga mengevaluasi kebijakan sumber daya terkait (kebijakan bucket, bucket ACL, dan objek ACL) secara bersamaan. 

      Pengguna harus memiliki izin dari akun induk untuk melakukan operasi.

      Langkah ini hanya berlaku jika permintaan diajukan oleh pengguna dalam Akun AWS. Jika permintaan dibuat dengan menggunakan kredensi pengguna root dari sebuah Akun AWS, Amazon S3 melewatkan langkah ini.

   1. **Konteks bucket** — Dalam konteks bucket, Amazon S3 mengevaluasi kebijakan yang dimiliki oleh pemilik Akun AWS bucket. 

      Apabila permintaan digunakan untuk operasi bucket, maka pemohon harus memiliki izin dari pemilik bucket. Jika permintaan untuk sebuah objek, maka Amazon S3 akan mengevaluasi semua kebijakan yang dimiliki oleh pemilik bucket untuk memeriksa apakah pemilik bucket belum secara jelas menolak akses ke objek tersebut. Jika ada penolakan jelas yang ditetapkan, Amazon S3 tidak mengotorisasi permintaan. 

   1. **Konteks objek**–Jika permintaan untuk objek, maka Amazon S3 akan mengevaluasi sebagian kebijakan yang dimiliki oleh pemilik objek. 

Berikut adalah beberapa contoh skenario yang menggambarkan bagaimana Amazon S3 mengotorisasi permintaan.

**Example — Pemohon adalah prinsipal IAM**  
Jika pemohon adalah prinsipal IAM, Amazon S3 harus menentukan apakah Akun AWS induk tempat prinsipal tersebut telah memberikan izin pokok yang diperlukan untuk melakukan operasi. Selain itu, jika permintaan tersebut untuk operasi bucket, seperti permintaan untuk mencantumkan konten bucket, maka Amazon S3 harus memverifikasi bahwa pemilik bucket telah memberikan izin bagi pemohon untuk melakukan operasi tersebut. Untuk melakukan operasi tertentu pada sumber daya, prinsipal IAM memerlukan izin dari induk yang Akun AWS menjadi miliknya dan Akun AWS yang memiliki sumber daya tersebut.

 

**Example — Pemohon adalah prinsipal IAM — Jika permintaan untuk operasi pada objek yang tidak dimiliki pemilik bucket**  
Jika permintaan adalah untuk operasi pada objek yang tidak dimiliki pemilik bucket, selain memastikan pemohon memiliki izin dari pemilik objek, Amazon S3 juga harus memeriksa kebijakan bucket untuk memastikan pemilik bucket belum menetapkan penolakan eksplisit pada objek. Pemilik bucket (yang membayar tagihan) dapat dengan tegas menolak akses ke objek di dalam bucket, terlepas dari siapa yang memilikinya. Pemilik bucket juga dapat menghapus objek apa pun yang ada dalam bucket.  
Secara default, ketika orang lain Akun AWS mengunggah objek ke bucket tujuan umum S3 Anda, akun tersebut (penulis objek) memiliki objek, memiliki akses ke objek tersebut, dan dapat memberi pengguna lain akses ke sana melalui daftar kontrol akses (). ACLs Anda dapat menggunakan Object Ownership untuk mengubah perilaku default ini sehingga ACLs dinonaktifkan dan Anda, sebagai pemilik bucket, secara otomatis memiliki setiap objek di bucket tujuan umum Anda. Akibatnya, kontrol akses untuk data Anda didasarkan pada kebijakan, seperti kebijakan pengguna IAM, kebijakan bucket S3, kebijakan titik akhir virtual private cloud (VPC), dan kebijakan kontrol AWS Organizations layanan (). SCPs Untuk informasi selengkapnya, lihat [Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda](about-object-ownership.md).

Untuk informasi lebih lanjut tentang bagaimana Amazon S3 mengevaluasi kebijakan akses untuk mengotorisasi atau tolak permintaan untuk operasi bucket dan operasi objek, lihat topik berikut:

**Topics**
+ [Bagaimana Amazon S3 Mengotorisasi Permintaan Operasi bucket](access-control-auth-workflow-bucket-operation.md)
+ [Bagaimana Amazon S3 Memberikan Otorisasi Permintaan Operasi Objek](access-control-auth-workflow-object-operation.md)

# Bagaimana Amazon S3 Mengotorisasi Permintaan Operasi bucket
<a name="access-control-auth-workflow-bucket-operation"></a>

Ketika Amazon S3 menerima permintaan untuk operasi bucket, Amazon S3 mengubah semua izin yang relevan menjadi serangkaian kebijakan untuk mengevaluasi pada runtime. Izin yang relevan termasuk izin berbasis sumber daya (misalnya, kebijakan bucket dan daftar kontrol akses bucket) dan kebijakan pengguna IAM jika permintaan dari pengguna utama IAM. Amazon S3 kemudian mengevaluasi serangkaian kebijakan yang dihasilkan dalam serangkaian langkah sesuai dengan konteks tertentu—konteks pengguna atau konteks bucket: 

1. **Konteks pengguna** - Jika pemohon adalah prinsipal IAM, kepala sekolah harus memiliki izin dari orang tua yang Akun AWS menjadi miliknya. Dalam langkah ini, Amazon S3 mengevaluasi sebagian kebijakan yang dimiliki oleh akun induk (juga disebut sebagai otoritas konteks). Bagian dari kebijakan ini mencakup kebijakan pengguna yang dilampirkan oleh akun induk pada pengguna utama. Jika induk juga memiliki sumber daya dalam permintaan (dalam hal ini, bucket), maka Amazon S3 juga akan mengevaluasi kebijakan sumber daya yang sesuai (kebijakan bucket dan ACL bucket) pada waktu yang bersamaan. Setiap kali permintaan untuk operasi bucket dibuat, log akses server akan mencatat ID kanonik dari pemohon. Untuk informasi selengkapnya, lihat [Pencatatan permintaan dengan pencatatan akses server](ServerLogs.md).

1. **Konteks bucket** Pemohon harus memiliki izin dari pemilik bucket untuk melakukan operasi bucket tertentu. Pada langkah ini, Amazon S3 mengevaluasi subset kebijakan yang dimiliki oleh pemilik bucket Akun AWS . 

   Pemilik bucket dapat memberikan izin dengan menggunakan kebijakan bucket atau ACL bucket. Jika Akun AWS yang memiliki bucket juga merupakan akun induk dari prinsipal IAM, maka bucket tersebut dapat mengonfigurasi izin bucket dalam kebijakan pengguna. 

 Berikut ini adalah ilustrasi grafis evaluasi berbasis konteks untuk operasi bucket. 

![\[Ilustrasi yang menunjukkan evaluasi berbasis konteks untuk operasi bucket.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/AccessControlAuthorizationFlowBucketResource.png)


Contoh-contoh berikut ini menggambarkan logika evaluasi. 

## Contoh 1: Operasi bucket Diminta oleh pemilik bucket
<a name="example1-policy-eval-logic"></a>

 Dalam contoh ini, pemilik bucket mengirimkan permintaan operasi bucket dengan menggunakan kredensial root Akun AWS. 

![\[Ilustrasi yang menunjukkan operasi bucket yang diminta oleh pemilik bucket.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/example10-policy-eval-logic.png)


 Amazon S3 melakukan evaluasi konteks sebagai berikut:

1.  Karena permintaan dibuat dengan menggunakan kredensial pengguna root Akun AWS, maka konteks pengguna tidak dievaluasi.

1.  Dalam konteks bucket, Amazon S3 akan meninjau kebijakan bucket untuk menentukan apakah pemohon memiliki izin untuk melakukan operasi atau tidak. Amazon S3 mengotorisasi permintaan tersebut. 

## Contoh 2: Operasi bucket yang diminta oleh pemilik bucket Akun AWS yang bukan pemilik bucket
<a name="example2-policy-eval-logic"></a>

Dalam contoh ini, permintaan dibuat dengan menggunakan kredensial pengguna root Akun AWS 1111-1111-1111 untuk operasi bucket yang dimiliki oleh 2222-2222-2222 Akun AWS . Tidak ada pengguna IAM yang dilibatkan dalam permintaan ini.

![\[Ilustrasi yang menunjukkan operasi bucket yang diminta oleh pemilik bucket Akun AWS yang bukan pemilik bucket.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/example20-policy-eval-logic.png)


Dalam contoh ini, Amazon S3 mengevaluasi konteksnya sebagai berikut:

1. Karena permintaan dibuat dengan menggunakan kredensi pengguna root dari sebuah Akun AWS, konteks pengguna tidak dievaluasi.

1. Dalam konteks bucket, Amazon S3 memeriksa kebijakan bucket. Jika pemilik bucket (Akun AWS 2222-2222-2222) belum mengizinkan Akun AWS 1111-1111-1111 untuk melakukan operasi yang diminta, Amazon S3 menolak permintaan tersebut. Jika tidak, Amazon S3 akan memberikan permintaan dan melakukan operasi.

## Contoh 3: Operasi bucket yang diminta oleh kepala sekolah IAM yang Akun AWS induknya juga pemilik bucket
<a name="example3-policy-eval-logic"></a>

 Sebagai contoh, permintaan dikirim oleh Jill, pengguna IAM di Akun AWS 1111-1111-1111, yang juga merupakan pemilik bucket. 

![\[Ilustrasi yang menunjukkan operasi bucket yang diminta oleh kepala sekolah IAM dan pemilik bucket.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/example30-policy-eval-logic.png)


 Amazon S3 akan melakukan evaluasi konteks sebagai berikut:

1.  Karena permintaan berasal dari prinsipal IAM, dalam konteks pengguna, Amazon S3 mengevaluasi semua kebijakan milik Akun AWS induk untuk menentukan apakah Jill memiliki izin untuk melakukan operasi. 

    Dalam contoh ini, induk Akun AWS 1111-1111-1111, yang menjadi milik prinsipal, juga merupakan pemilik ember. Akibatnya, selain kebijakan pengguna, Amazon S3 juga mengevaluasi kebijakan bucket dan bucket ACL dalam konteks yang sama karena mereka termasuk dalam akun yang sama.

1. Karena Amazon S3 mengevaluasi kebijakan bucket dan ACL bucket sebagai bagian dari konteks pengguna, maka itu tidak akan mengevaluasi konteks bucket.

## Contoh 4: Operasi bucket yang diminta oleh kepala sekolah IAM yang induknya Akun AWS bukan pemilik bucket
<a name="example4-policy-eval-logic"></a>

Dalam contoh ini, permintaan dikirim oleh Jill, pengguna IAM yang induknya Akun AWS adalah 1111-1111-1111, tetapi ember tersebut dimiliki oleh yang lain, 2222-2222-2222. Akun AWS

![\[Ilustrasi yang menunjukkan operasi bucket yang diminta oleh prinsipal IAM yang bukan pemilik bucket.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/example40-policy-eval-logic.png)


Jill akan membutuhkan izin dari induk Akun AWS dan pemilik ember. Amazon S3 mengevaluasi konteks seperti berikut ini:

1. Karena permintaan tersebut berasal dari pengguna utama IAM, Amazon S3 melakukan evaluasi konteks pengguna dengan meninjau kebijakan yang ditulis oleh akun tersebut untuk memverifikasi bahwa Jill memiliki izin yang diperlukan. Jika Jill memiliki izin, Amazon S3 melanjutkan untuk mengevaluasi konteks bucket. Jika Jill tidak memiliki izin, ia menolak permintaan tersebut.

1.  Dalam konteks bucket, Amazon S3 memverifikasi bahwa pemilik bucket 2222-2222-2222 telah memberikan izin kepada Jill (atau orang tuanya) untuk melakukan operasi yang diminta. Akun AWS Jika dia memiliki izin itu, Amazon S3 memberikan permintaan dan melakukan operasi. Jika tidak, maka Amazon S3 akan menolak permintaan tersebut. 

# Bagaimana Amazon S3 Memberikan Otorisasi Permintaan Operasi Objek
<a name="access-control-auth-workflow-object-operation"></a>

Saat Amazon S3 menerima permintaan untuk operasi objek, itu akan mengubah semua izin yang relevan— izin berbasis sumber daya (daftar kontrol akses (ACL) objek, kebijakan bucket, ACL bucket) dan kebijakan pengguna IAM—menjadi serangkaian kebijakan yang akan dievaluasi pada waktu berjalan. Kemudian, itu akan mengevaluasi serangkaian kebijakan yang dihasilkan dengan serangkaian langkah. Dalam setiap langkah, ia mengevaluasi subset kebijakan dalam tiga konteks tertentu—konteks pengguna, konteks bucket, dan konteks objek:

1. **Konteks pengguna** - Jika pemohon adalah prinsipal IAM, kepala sekolah harus memiliki izin dari orang tua yang Akun AWS menjadi miliknya. Dalam langkah ini, Amazon S3 mengevaluasi sebagian kebijakan yang dimiliki oleh akun induk (juga disebut sebagai otoritas konteks). Sebagian dari kebijakan ini mencakup kebijakan pengguna yang dilampirkan oleh akun induk pada pengguna utama. Jika induk juga memiliki sumber daya dalam permintaan (bucket atau objek), Amazon S3 mengevaluasi kebijakan sumber daya terkait (kebijakan bucket, bucket ACL, dan objek ACL) secara bersamaan. 
**catatan**  
Jika Akun AWS induk memiliki sumber daya (bucket atau objek), ia dapat memberikan izin sumber daya ke prinsipal IAM-nya dengan menggunakan kebijakan pengguna atau kebijakan sumber daya. 

1. **Konteks bucket**–Dalam konteks ini, Amazon S3 mengevaluasi kebijakan yang dimiliki oleh Akun AWS yang memiliki bucket tersebut.

   Jika pemilik Akun AWS objek dalam permintaan tidak sama dengan pemilik bucket, Amazon S3 akan memeriksa kebijakan jika pemilik bucket secara eksplisit menolak akses ke objek tersebut. Jika ada penolakan tegas yang ditetapkan pada objek, Amazon S3 tidak mengizinkan permintaan tersebut. 

1. **Konteks objek**–Pemohon harus memiliki izin dari pemilik objek untuk melakukan operasi objek tertentu. Dalam langkah ini, Amazon S3 mengevaluasi ACL objek. 
**catatan**  
Jika pemilik bucket dan objek sama, maka akses ke objek dapat diberikan dalam kebijakan bucket, yang dievaluasi dalam konteks bucket. Jika pemiliknya berbeda, maka pemilik objek harus menggunakan ACL objek untuk memberikan izin. Jika Akun AWS yang memiliki objek juga merupakan akun induk tempat prinsipal IAM berada, ia dapat mengonfigurasi izin objek dalam kebijakan pengguna, yang dievaluasi pada konteks pengguna. Untuk informasi lebih lanjut tentang penggunaan berbagai alternatif kebijakan akses ini, lihat [Panduan yang menggunakan kebijakan untuk mengelola akses ke sumber daya Amazon S3](example-walkthroughs-managing-access.md).  
Jika Anda sebagai pemilik bucket ingin memiliki semua objek di bucket dan menggunakan kebijakan atau kebijakan bucket berdasarkan IAMto kelola akses ke objek tersebut, Anda dapat menerapkan pengaturan yang diberlakukan pemilik bucket untuk Kepemilikan Objek. Dengan pengaturan ini, Anda sebagai pemilik bucket secara otomatis memiliki dan memiliki kontrol penuh atas setiap objek di bucket Anda. Bucket dan objek tidak ACLs dapat diedit dan tidak lagi dipertimbangkan untuk diakses. Untuk informasi selengkapnya, lihat [Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda](about-object-ownership.md).

 Berikut ini adalah ilustrasi dari evaluasi berbasis konteks untuk operasi objek.

![\[Ilustrasi yang menunjukkan evaluasi berbasis konteks untuk operasi objek.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/AccessControlAuthorizationFlowObjectResource.png)


## Contoh permintaan operasi objek
<a name="access-control-auth-workflow-object-operation-example1"></a>

Dalam contoh ini, pengguna IAM Jill, yang induknya Akun AWS adalah 1111-1111-1111, mengirimkan permintaan operasi objek (misalnya,`GetObject`) untuk objek yang dimiliki oleh Akun AWS 3333-3333-3333 dalam ember yang dimiliki oleh 2222-2222-2222. Akun AWS 

![\[Ilustrasi yang menunjukkan permintaan operasi objek.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/example50-policy-eval-logic.png)


Jill akan membutuhkan izin dari orang tua Akun AWS, pemilik ember, dan pemilik objek. Amazon S3 mengevaluasi konteksnya seperti berikut:

1. Karena permintaan tersebut berasal dari prinsipal IAM, Amazon S3 mengevaluasi konteks pengguna untuk memverifikasi bahwa Akun AWS induk 1111-1111-1111 telah memberikan izin kepada Jill untuk melakukan operasi yang diminta. Jika dia memiliki izin tersebut, maka Amazon S3 akan mengevaluasi konteks bucket. Jika tidak, maka Amazon S3 akan menolak permintaan tersebut.

1. Dalam konteks bucket, pemilik bucket, Akun AWS 2222-2222-2222, adalah otoritas konteks. Amazon S3 mengevaluasi kebijakan bucket untuk menentukan apakah pemilik bucket telah secara jelas menolak akses Jill ke objek. 

1. Dalam konteks objek, otorisasi konteks adalah Akun AWS 3333-3333-3333, pemilik objek. Amazon S3 mengevaluasi ACL objek untuk menentukan apakah Jill memiliki izin untuk mengakses objek tersebut. Jika ya, maka Amazon S3 akan mengesahkan permintaan tersebut. 

# Izin yang diperlukan untuk operasi API Amazon S3
<a name="using-with-s3-policy-actions"></a>

**catatan**  
Halaman ini berisi uraian tentang tindakan kebijakan Amazon S3 untuk bucket tujuan umum. Untuk mempelajari selengkapnya tentang tindakan kebijakan Amazon S3 untuk bucket direktori, lihat. [Tindakan untuk ember direktori](s3-express-security-iam.md#s3-express-security-iam-actions)

Untuk melakukan operasi API S3, Anda harus memiliki izin yang tepat. Halaman ini memetakan operasi API S3 ke izin yang diperlukan. Untuk memberikan izin untuk melakukan operasi API S3, Anda harus membuat kebijakan yang valid (seperti kebijakan bucket S3 atau kebijakan berbasis identitas IAM), dan menentukan tindakan terkait dalam elemen kebijakan. `Action` Tindakan ini disebut tindakan kebijakan. Tidak setiap operasi API S3 diwakili oleh satu izin (satu tindakan kebijakan), dan beberapa izin (beberapa tindakan kebijakan) diperlukan untuk banyak operasi API yang berbeda. 

Saat membuat kebijakan, Anda harus menentukan `Resource` elemen berdasarkan jenis sumber daya yang benar yang diperlukan oleh tindakan kebijakan Amazon S3 terkait. Halaman ini mengkategorikan izin untuk operasi API S3 berdasarkan jenis sumber daya. Untuk informasi selengkapnya tentang jenis sumber daya, lihat [Jenis sumber daya yang ditentukan oleh Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-resources-for-iam-policies) di Referensi *Otorisasi Layanan*. *Untuk daftar lengkap tindakan kebijakan Amazon S3, sumber daya, dan kunci kondisi untuk digunakan dalam kebijakan, lihat [Tindakan, sumber daya, dan kunci kondisi untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) di Referensi Otorisasi Layanan.* Untuk daftar lengkap operasi Amazon S3 API, lihat Tindakan API [Amazon S3 di Referensi API](https://docs.aws.amazon.com//AmazonS3/latest/API/API_Operations.html) Layanan *Penyimpanan Sederhana Amazon*.

Untuk informasi selengkapnya tentang cara mengatasi `403 Forbidden` kesalahan HTTP di S3, lihat[Memecahkan masalah kesalahan akses ditolak (403 Forbidden) di Amazon S3](troubleshoot-403-errors.md). Untuk informasi selengkapnya tentang fitur IAM yang akan digunakan dengan S3, lihat. [Bagaimana Amazon S3 bekerja dengan IAM](security_iam_service-with-iam.md) Untuk informasi selengkapnya tentang praktik terbaik keamanan S3, lihat[Praktik Terbaik Keamanan untuk Amazon S3](security-best-practices.md). 

**Topics**
+ [Operasi dan izin bucket](#using-with-s3-policy-actions-related-to-buckets)
+ [Operasi dan izin objek](#using-with-s3-policy-actions-related-to-objects)
+ [Titik akses untuk operasi dan izin bucket tujuan umum](#using-with-s3-policy-actions-related-to-accesspoint)
+ [Operasi dan izin Objek Lambda Access Point](#using-with-s3-policy-actions-related-to-olap)
+ [Operasi dan izin Jalur Akses Multi-Wilayah](#using-with-s3-policy-actions-related-to-mrap)
+ [Operasi dan izin pekerjaan Batch](#using-with-s3-policy-actions-related-to-batchops)
+ [Operasi dan izin konfigurasi Lensa Penyimpanan S3](#using-with-s3-policy-actions-related-to-lens)
+ [Lensa Penyimpanan S3 mengelompokkan operasi dan izin](#using-with-s3-policy-actions-related-to-lens-groups)
+ [S3 Access Memberikan operasi dan izin instans](#using-with-s3-policy-actions-related-to-s3ag-instances)
+ [Akses S3 Memberikan operasi dan izin lokasi](#using-with-s3-policy-actions-related-to-s3ag-locations)
+ [S3 Access Grants memberikan operasi dan izin](#using-with-s3-policy-actions-related-to-s3ag-grants)
+ [Operasi dan izin akun](#using-with-s3-policy-actions-related-to-accounts)

## Operasi dan izin bucket
<a name="using-with-s3-policy-actions-related-to-buckets"></a>

Operasi bucket adalah operasi API S3 yang beroperasi pada tipe sumber daya bucket. Anda harus menentukan tindakan kebijakan S3 untuk operasi bucket dalam kebijakan bucket atau kebijakan berbasis identitas IAM.

Dalam kebijakan, `Resource` elemen harus berupa bucket Amazon Resource Name (ARN). Untuk informasi selengkapnya tentang format `Resource` elemen dan kebijakan contoh, lihat[Operasi bucket](security_iam_service-with-iam.md#using-with-s3-actions-related-to-buckets).

**catatan**  
Untuk memberikan izin ke operasi bucket dalam kebijakan jalur akses, perhatikan hal berikut:  
Izin yang diberikan untuk operasi bucket dalam kebijakan jalur akses hanya efektif jika bucket yang mendasarinya mengizinkan izin yang sama. Saat menggunakan titik akses, Anda harus mendelegasikan kontrol akses dari bucket ke titik akses atau menambahkan izin yang sama dalam kebijakan titik akses ke kebijakan bucket yang mendasarinya.
Dalam kebijakan titik akses yang memberikan izin untuk operasi bucket, `Resource` elemen harus `accesspoint` ARN. Untuk informasi selengkapnya tentang format `Resource` elemen dan kebijakan contoh, lihat[Operasi bucket dalam kebijakan untuk titik akses untuk bucket tujuan umum](security_iam_service-with-iam.md#bucket-operations-ap). Untuk informasi selengkapnya tentang kebijakan jalur akses, lihat[Mengonfigurasi kebijakan IAM untuk menggunakan titik akses](access-points-policies.md). 
Tidak semua operasi bucket didukung oleh titik akses. Untuk informasi selengkapnya, lihat [Kompatibilitas titik akses dengan operasi S3](access-points-service-api-support.md#access-points-operations-support).

Berikut ini adalah pemetaan operasi bucket dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)  |  (Diperlukan) `s3:CreateBucket`  |  Diperlukan untuk membuat bucket s3 baru.  | 
|    |  (Diperlukan secara kondisional) `s3:PutBucketAcl`  |  Diperlukan jika Anda ingin menggunakan daftar kontrol akses (ACL) untuk menentukan izin pada bucket saat Anda membuat `CreateBucket` permintaan.  | 
|    |  (Diperlukan secara kondisional)`s3:PutBucketObjectLockConfiguration`, `s3:PutBucketVersioning`  |  Diperlukan jika Anda ingin mengaktifkan Object Lock saat membuat bucket.  | 
|    |  (Diperlukan secara kondisional) `s3:PutBucketOwnershipControls`  |  Diperlukan jika Anda ingin menentukan Kepemilikan Objek S3 saat Anda membuat bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html)(Operasi API V2. Nama tindakan kebijakan IAM sama untuk operasi API V1 dan V2.)  |  (Diperlukan)`s3:CreateBucketMetadataTableConfiguration`,`s3tables:CreateTableBucket`,`s3tables:CreateNamespace`,`s3tables:CreateTable`,,`s3tables:GetTable`,`s3tables:PutTablePolicy`,`s3tables:PutTableEncryption`, `kms:DescribeKey`  |  Diperlukan untuk membuat konfigurasi tabel metadata pada bucket tujuan umum.  Untuk membuat bucket tabel AWS terkelola dan tabel metadata yang ditentukan dalam konfigurasi tabel metadata, Anda harus memiliki izin yang ditentukan. `s3tables` Jika Anda ingin mengenkripsi tabel metadata Anda dengan enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS), Anda memerlukan izin tambahan dalam kebijakan kunci KMS Anda. Untuk informasi selengkapnya, lihat [Menyiapkan izin untuk mengonfigurasi tabel metadata](metadata-tables-permissions.md). Jika Anda juga ingin mengintegrasikan bucket tabel AWS terkelola dengan layanan AWS analitik sehingga Anda dapat melakukan kueri tabel metadata, Anda memerlukan izin tambahan. Untuk informasi selengkapnya, lihat [Mengintegrasikan Tabel Amazon S3 AWS dengan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) layanan analitik.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html)(Operasi API V1)  |  (Diperlukan)`s3:CreateBucketMetadataTableConfiguration`,`s3tables:CreateNamespace`,`s3tables:CreateTable`,`s3tables:GetTable`, `s3tables:PutTablePolicy`  |  Diperlukan untuk membuat konfigurasi tabel metadata pada bucket tujuan umum.  Untuk membuat tabel metadata di keranjang tabel yang ditentukan dalam konfigurasi tabel metadata, Anda harus memiliki izin yang ditentukan. `s3tables` Jika Anda ingin mengenkripsi tabel metadata Anda dengan enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS), Anda memerlukan izin tambahan. Untuk informasi selengkapnya, lihat [Menyiapkan izin untuk mengonfigurasi tabel metadata](metadata-tables-permissions.md). Jika Anda juga ingin mengintegrasikan bucket tabel Anda dengan layanan AWS analitik sehingga Anda dapat menanyakan tabel metadata Anda, Anda memerlukan izin tambahan. Untuk informasi selengkapnya, lihat [Mengintegrasikan Tabel Amazon S3 AWS dengan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) layanan analitik.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)  |  (Diperlukan) `s3:DeleteBucket`  |  Diperlukan untuk menghapus bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html)  |  (Diperlukan) `s3:PutAnalyticsConfiguration`  |  Diperlukan untuk menghapus konfigurasi analitik S3 dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html)  |  (Diperlukan) `s3:PutBucketCORS`  |  Diperlukan untuk menghapus konfigurasi cross-origin resource sharing (CORS) untuk bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html)  |  (Diperlukan) `s3:PutEncryptionConfiguration`  |  Diperlukan untuk mengatur ulang konfigurasi enkripsi default untuk bucket S3 sebagai enkripsi sisi server dengan kunci terkelola Amazon S3 (SSE-S3).  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html)  |  (Diperlukan) `s3:PutIntelligentTieringConfiguration`  |  Diperlukan untuk menghapus konfigurasi S3 Intelligent-Tiering yang ada dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html)  |  (Diperlukan) `s3:PutInventoryConfiguration`  |  Diperlukan untuk menghapus konfigurasi S3 Inventory dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html)  |  (Diperlukan) `s3:PutLifecycleConfiguration`  |  Diperlukan untuk menghapus konfigurasi Siklus Hidup S3 untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html)(Operasi API V2. Nama tindakan kebijakan IAM sama untuk operasi API V1 dan V2.)  |  (Diperlukan) `s3:DeleteBucketMetadataTableConfiguration`  |  Diperlukan untuk menghapus konfigurasi tabel metadata dari bucket tujuan umum.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html)(Operasi API V1)  |  (Diperlukan) `s3:DeleteBucketMetadataTableConfiguration`  |  Diperlukan untuk menghapus konfigurasi tabel metadata dari bucket tujuan umum.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html)  |  (Diperlukan) `s3:PutMetricsConfiguration`  |  Diperlukan untuk menghapus konfigurasi metrik untuk metrik CloudWatch permintaan Amazon dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html)   |  (Diperlukan) `s3:PutBucketOwnershipControls`  |  Diperlukan untuk menghapus pengaturan Object Ownership untuk bucket S3. Setelah penghapusan, pengaturan Object Ownership menjadi`Object writer`.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html)  |  (Diperlukan) `s3:DeleteBucketPolicy`  |  Diperlukan untuk menghapus kebijakan bucket S3.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html)  |  (Diperlukan) `s3:PutReplicationConfiguration`  |  Diperlukan untuk menghapus konfigurasi replikasi bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html)  |  (Diperlukan) `s3:PutBucketTagging`  |  Diperlukan untuk menghapus tag dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html)  |  (Diperlukan) `s3:DeleteBucketWebsite`  |  Diperlukan untuk menghapus konfigurasi situs web untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html)(Tingkat ember)  |  (Diperlukan) `s3:PutBucketPublicAccessBlock`  |  Diperlukan untuk menghapus konfigurasi blok akses publik untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html)  |  (Diperlukan) `s3:GetAccelerateConfiguration`  |  Diperlukan untuk menggunakan subsumber daya akselerasi untuk mengembalikan status Amazon S3 Transfer Acceleration dari bucket, yang diaktifkan atau ditangguhkan.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAcl.html)  |  (Diperlukan) `s3:GetBucketAcl`  |  Diperlukan untuk mengembalikan daftar kontrol akses (ACL) dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html)  |  (Diperlukan) `s3:GetAnalyticsConfiguration`  |  Diperlukan untuk mengembalikan konfigurasi analitik yang diidentifikasi oleh ID konfigurasi analitik dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html)  |  (Diperlukan) `s3:GetBucketCORS`  |  Diperlukan untuk mengembalikan konfigurasi cross-origin resource sharing (CORS) untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)  |  (Diperlukan) `s3:GetEncryptionConfiguration`  |  Diperlukan untuk mengembalikan konfigurasi enkripsi default untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html)  |  (Diperlukan) `s3:GetIntelligentTieringConfiguration`  |  Diperlukan untuk mendapatkan konfigurasi S3 Intelligent-Tiering dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html)  |  (Diperlukan) `s3:GetInventoryConfiguration`  |  Diperlukan untuk mengembalikan konfigurasi inventaris yang diidentifikasi oleh ID konfigurasi inventaris dari bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html)  |  (Diperlukan) `s3:GetLifecycleConfiguration`  |  Diperlukan untuk mengembalikan konfigurasi Siklus Hidup S3 bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html)  |  (Diperlukan) `s3:GetBucketLocation`  |  Diperlukan untuk mengembalikan Wilayah AWS tempat ember S3 berada.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html)  |  (Diperlukan) `s3:GetBucketLogging`  |  Diperlukan untuk mengembalikan status logging bucket S3 dan izin yang dimiliki pengguna untuk melihat dan memodifikasi status tersebut.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html)(Operasi API V2. Nama tindakan kebijakan IAM sama untuk operasi API V1 dan V2.)  |  (Diperlukan) `s3:GetBucketMetadataTableConfiguration`  |  Diperlukan untuk mengambil konfigurasi tabel metadata untuk bucket tujuan umum.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html)(Operasi API V1)  |  (Diperlukan) `s3:GetBucketMetadataTableConfiguration`  |  Diperlukan untuk mengambil konfigurasi tabel metadata untuk bucket tujuan umum.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html)  |  (Diperlukan) `s3:GetMetricsConfiguration`  |  Diperlukan untuk mendapatkan konfigurasi metrik yang ditentukan oleh ID konfigurasi metrik dari bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html)  |  (Diperlukan) `s3:GetBucketNotification`  |  Diperlukan untuk mengembalikan konfigurasi notifikasi bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html)  |  (Diperlukan) `s3:GetBucketOwnershipControls`  |  Diperlukan untuk mengambil pengaturan Object Ownership untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html)  |  (Diperlukan) `s3:GetBucketPolicy`  |  Diperlukan untuk mengembalikan kebijakan bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html)  |  (Diperlukan) `s3:GetBucketPolicyStatus`  |  Diperlukan untuk mengambil status kebijakan bucket S3, yang menunjukkan apakah bucket bersifat publik.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html)  |  (Diperlukan) `s3:GetReplicationConfiguration`  |  Diperlukan untuk mengembalikan konfigurasi replikasi bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html)  |  (Diperlukan) `s3:GetBucketRequestPayment`  |  Diperlukan untuk mengembalikan konfigurasi pembayaran permintaan untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html)  |  (Diperlukan) `s3:GetBucketVersioning`  |  Diperlukan untuk mengembalikan status pembuatan versi bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html)  |  (Diperlukan) `s3:GetBucketTagging`  |  Diperlukan untuk mengembalikan set tag yang terkait dengan bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html)  |  (Diperlukan) `s3:GetBucketWebsite`  |  Diperlukan untuk mengembalikan konfigurasi situs web untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html)  |  (Diperlukan) `s3:GetBucketObjectLockConfiguration`  |  Diperlukan untuk mendapatkan konfigurasi Object Lock untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html)(Tingkat ember)  |  (Diperlukan) `s3:GetBucketPublicAccessBlock`  |  Diperlukan untuk mengambil konfigurasi akses publik blok untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html)  |  (Diperlukan) `s3:ListBucket`  |  Diperlukan untuk menentukan apakah ada bucket dan apakah Anda memiliki izin untuk mengaksesnya.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html)  |  (Diperlukan) `s3:GetAnalyticsConfiguration`  |  Diperlukan untuk membuat daftar konfigurasi analitik untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html)  |  (Diperlukan) `s3:GetIntelligentTieringConfiguration`  |  Diperlukan untuk membuat daftar konfigurasi S3 Intelligent-Tiering dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html)  |  (Diperlukan) `s3:GetInventoryConfiguration`  |  Diperlukan untuk mengembalikan daftar konfigurasi inventaris untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html)  |  (Diperlukan) `s3:GetMetricsConfiguration`  |  Diperlukan untuk membuat daftar konfigurasi metrik untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)  |  (Diperlukan) `s3:ListBucket`  |  Diperlukan untuk mencantumkan beberapa atau semua (hingga 1.000) objek dalam ember S3.  | 
|    |  (Diperlukan secara kondisional) `s3:GetObjectAcl`  |  Diperlukan jika Anda ingin menampilkan informasi pemilik objek.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)  |  (Diperlukan) `s3:ListBucket`  |  Diperlukan untuk mencantumkan beberapa atau semua (hingga 1.000) objek dalam ember S3.  | 
|    |  (Diperlukan secara kondisional) `s3:GetObjectAcl`  |  Diperlukan jika Anda ingin menampilkan informasi pemilik objek.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html)  |  (Diperlukan) `s3:ListBucketVersions`  |  Diperlukan untuk mendapatkan metadata tentang semua versi objek dalam bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html)  |  (Diperlukan) `s3:PutAccelerateConfiguration`  |  Diperlukan untuk mengatur konfigurasi percepatan bucket yang ada.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html)  |  (Diperlukan) `s3:PutBucketAcl`  |  Diperlukan untuk menggunakan daftar kontrol akses (ACLs) untuk menyetel izin pada bucket yang ada.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html)  |  (Diperlukan) `s3:PutAnalyticsConfiguration`  |  Diperlukan untuk mengatur konfigurasi analitik untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html)  |  (Diperlukan) `s3:PutBucketCORS`  |  Diperlukan untuk mengatur konfigurasi cross-origin resource sharing (CORS) untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)  |  (Diperlukan) `s3:PutEncryptionConfiguration`  |  Diperlukan untuk mengonfigurasi enkripsi default untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html)  |  (Diperlukan) `s3:PutIntelligentTieringConfiguration`  |  Diperlukan untuk menempatkan konfigurasi S3 Intelligent-Tiering ke bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html)  |  (Diperlukan) `s3:PutInventoryConfiguration`  |  Diperlukan untuk menambahkan konfigurasi inventaris ke bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html)  |  (Diperlukan) `s3:PutLifecycleConfiguration`  |  Diperlukan untuk membuat konfigurasi Siklus Hidup S3 baru atau mengganti konfigurasi siklus hidup yang ada untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html)  |  (Diperlukan) `s3:PutBucketLogging`  |  Diperlukan untuk mengatur parameter logging untuk bucket S3 dan menentukan izin untuk siapa yang dapat melihat dan memodifikasi parameter logging.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html)  |  (Diperlukan) `s3:PutMetricsConfiguration`  |  Diperlukan untuk menyetel atau memperbarui konfigurasi metrik untuk metrik CloudWatch permintaan Amazon dari bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html)  |  (Diperlukan) `s3:PutBucketNotification`  |  Diperlukan untuk mengaktifkan pemberitahuan peristiwa tertentu untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html)  |  (Diperlukan) `s3:PutBucketOwnershipControls`  |  Diperlukan untuk membuat atau memodifikasi pengaturan Object Ownership untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html)  |  (Diperlukan) `s3:PutBucketPolicy`  |  Diperlukan untuk menerapkan kebijakan bucket S3 ke bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html)  |  (Diperlukan) `s3:PutReplicationConfiguration`  |  Diperlukan untuk membuat konfigurasi replikasi baru atau mengganti yang sudah ada untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketRequestPayment.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketRequestPayment.html)  |  (Diperlukan) `s3:PutBucketRequestPayment`  |  Diperlukan untuk mengatur konfigurasi pembayaran permintaan untuk ember.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html)  |  (Diperlukan) `s3:PutBucketTagging`  |  Diperlukan untuk menambahkan satu set tag ke bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html)  |  (Diperlukan) `s3:PutBucketVersioning`  |  Diperlukan untuk mengatur status pembuatan versi bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html)  |  (Diperlukan) `s3:PutBucketWebsite`  |  Diperlukan untuk mengkonfigurasi bucket sebagai situs web dan mengatur konfigurasi situs web.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html)  |  (Diperlukan) `s3:PutBucketObjectLockConfiguration`  |  Diperlukan untuk menempatkan konfigurasi Object Lock pada bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html)(Tingkat ember)  |  (Diperlukan) `s3:PutBucketPublicAccessBlock`  |  Diperlukan untuk membuat atau memodifikasi konfigurasi blokir akses publik untuk bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html)  |  (Diperlukan)`s3:UpdateBucketMetadataInventoryTableConfiguration`,`s3tables:CreateTableBucket`,`s3tables:CreateNamespace`,`s3tables:CreateTable`,,`s3tables:GetTable`,`s3tables:PutTablePolicy`,`s3tables:PutTableEncryption`, `kms:DescribeKey`  |  Diperlukan untuk mengaktifkan atau menonaktifkan tabel inventaris untuk konfigurasi tabel metadata pada bucket tujuan umum. Jika Anda ingin mengenkripsi tabel inventaris Anda dengan enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS), Anda memerlukan izin tambahan dalam kebijakan kunci KMS Anda. Untuk informasi selengkapnya, lihat [Menyiapkan izin untuk mengonfigurasi tabel metadata](metadata-tables-permissions.md).  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html)  |  (Diperlukan) `s3:UpdateBucketMetadataJournalTableConfiguration`  |  Diperlukan untuk mengaktifkan atau menonaktifkan kedaluwarsa catatan tabel jurnal untuk konfigurasi tabel metadata pada bucket tujuan umum.  | 

## Operasi dan izin objek
<a name="using-with-s3-policy-actions-related-to-objects"></a>

Operasi objek adalah operasi API S3 yang beroperasi pada tipe sumber daya objek. Anda harus menentukan tindakan kebijakan S3 untuk operasi objek dalam kebijakan berbasis sumber daya (seperti kebijakan bucket, kebijakan titik akses, kebijakan Titik Akses Multi-Wilayah, kebijakan titik akhir VPC) atau kebijakan berbasis identitas IAM.

Dalam kebijakan, `Resource` elemen harus menjadi objek ARN. Untuk informasi selengkapnya tentang format `Resource` elemen dan kebijakan contoh, lihat[Operasi objek](security_iam_service-with-iam.md#using-with-s3-actions-related-to-objects). 

**catatan**  
AWS KMS tindakan kebijakan (`kms:GenerateDataKey`dan`kms:Decrypt`) hanya berlaku untuk jenis AWS KMS sumber daya dan harus ditentukan dalam kebijakan berbasis identitas IAM dan kebijakan berbasis AWS KMS sumber daya (kebijakan utama).AWS KMS Anda tidak dapat menentukan tindakan AWS KMS kebijakan dalam kebijakan berbasis sumber daya S3, seperti kebijakan bucket S3.
Saat Anda menggunakan titik akses untuk mengontrol akses ke operasi objek, Anda dapat menggunakan kebijakan titik akses. Untuk memberikan izin ke operasi objek dalam kebijakan jalur akses, perhatikan hal berikut:  
Dalam kebijakan titik akses yang memberikan izin untuk operasi objek, `Resource` elemen harus ARNs untuk objek yang diakses melalui titik akses. Untuk informasi selengkapnya tentang format `Resource` elemen dan kebijakan contoh, lihat[Operasi objek dalam kebijakan titik akses](security_iam_service-with-iam.md#object-operations-ap).
Tidak semua operasi objek didukung oleh titik akses. Untuk informasi selengkapnya, lihat [Kompatibilitas titik akses dengan operasi S3](access-points-service-api-support.md#access-points-operations-support).
Tidak semua operasi objek didukung oleh Titik Akses Multi-Wilayah. Untuk informasi selengkapnya, lihat [Kompatibilitas Titik Akses Multi-Wilayah dengan operasi S3](MrapOperations.md#mrap-operations-support).

Berikut ini adalah pemetaan operasi objek dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)  |  (Diperlukan) `s3:AbortMultipartUpload`  |  Diperlukan untuk membatalkan unggahan multipart.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)  |  (Diperlukan) `s3:PutObject`  |  Diperlukan untuk menyelesaikan unggahan multipart.  | 
|    |  (Diperlukan secara kondisional) `kms:Decrypt`  |  Diperlukan jika Anda ingin menyelesaikan unggahan multipart untuk objek terenkripsi kunci yang dikelola AWS KMS pelanggan.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)  |  Untuk objek sumber:  |  Untuk objek sumber:  | 
|    |  (Diperlukan) Salah satu `s3:GetObject` atau `s3:GetObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Diperlukan secara kondisional) `kms:Decrypt`  |  Diperlukan jika Anda ingin menyalin objek terenkripsi kunci terkelola AWS KMS pelanggan dari bucket sumber.   | 
|    |  Untuk objek tujuan:  |  Untuk objek tujuan:  | 
|    |  (Diperlukan) `s3:PutObject`  |  Diperlukan untuk meletakkan objek yang disalin di ember tujuan.  | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectAcl`  |  Diperlukan jika Anda ingin meletakkan objek yang disalin dengan daftar kontrol akses objek (ACL) ke bucket tujuan saat Anda membuat `CopyObject` permintaan.  | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectTagging`  |  Diperlukan jika Anda ingin meletakkan objek yang disalin dengan penandaan objek ke bucket tujuan saat Anda membuat `CopyObject` permintaan.  | 
|    |  (Diperlukan secara kondisional) `kms:GenerateDataKey`  |  Diperlukan jika Anda ingin mengenkripsi objek yang disalin dengan kunci yang dikelola AWS KMS pelanggan dan memasukkannya ke bucket tujuan.   | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectRetention`  |  Diperlukan jika Anda ingin mengatur konfigurasi retensi Object Lock untuk objek baru.  | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectLegalHold`  |  Diperlukan jika Anda ingin menempatkan penahanan hukum Object Lock pada objek baru.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)  |  (Diperlukan) `s3:PutObject`  |  Diperlukan untuk membuat unggahan multipart.  | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectAcl`  |  Diperlukan jika Anda ingin mengatur izin daftar kontrol akses objek (ACL) untuk objek yang diunggah.  | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectTagging`  |  Diperlukan jika Anda ingin menambahkan penandaan objek ke objek yang diunggah.  | 
|    |  (Diperlukan secara kondisional) `kms:GenerateDataKey`  |  Diperlukan jika Anda ingin menggunakan kunci yang dikelola AWS KMS pelanggan untuk mengenkripsi objek saat Anda memulai unggahan multibagian.   | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectRetention`  |  Diperlukan jika Anda ingin mengatur konfigurasi retensi Object Lock untuk objek yang diunggah.  | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectLegalHold`  |  Diperlukan jika Anda ingin menerapkan penahanan hukum Object Lock ke objek yang diunggah.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)  |  (Diperlukan) Salah satu `s3:DeleteObject` atau `s3:DeleteObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Diperlukan secara kondisional) `s3:BypassGovernanceRetention`  |  Diperlukan jika Anda ingin menghapus objek yang dilindungi oleh mode tata kelola untuk retensi Object Lock.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html)  |  (Diperlukan) Salah satu `s3:DeleteObject` atau `s3:DeleteObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Diperlukan secara kondisional) `s3:BypassGovernanceRetention`  |  Diperlukan jika Anda ingin menghapus objek yang dilindungi oleh modus tata kelola untuk retensi Object Lock.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)  |  (Diperlukan) Salah satu `s3:DeleteObjectTagging` atau `s3:DeleteObjectVersionTagging`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)  |  (Diperlukan) Salah satu `s3:GetObject` atau `s3:GetObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Diperlukan secara kondisional) `kms:Decrypt`  |  Diperlukan jika Anda ingin mendapatkan dan mendekripsi objek terenkripsi kunci yang dikelola AWS KMS pelanggan.   | 
|    |  (Diperlukan secara kondisional) `s3:GetObjectTagging`  |  Diperlukan jika Anda ingin mendapatkan tag-set objek saat Anda membuat `GetObject` permintaan.  | 
|    |  (Diperlukan secara kondisional) `s3:GetObjectLegalHold`  |  Diperlukan jika Anda ingin mendapatkan status penahanan hukum Object Lock objek saat ini.  | 
|    |  (Diperlukan secara kondisional) `s3:GetObjectRetention`  |  Diperlukan jika Anda ingin mengambil pengaturan retensi Object Lock untuk objek.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)  |  (Diperlukan) Salah satu `s3:GetObjectAcl` atau `s3:GetObjectVersionAcl`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)  |  (Diperlukan) Salah satu `s3:GetObject` atau `s3:GetObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Diperlukan secara kondisional) `kms:Decrypt`  |  Diperlukan jika Anda ingin mengambil atribut yang terkait dengan objek terenkripsi kunci yang dikelola AWS KMS pelanggan.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html)  |  (Diperlukan) `s3:GetObjectLegalHold`  |  Diperlukan untuk mendapatkan status penahanan hukum Object Lock objek saat ini.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html)  |  (Diperlukan) `s3:GetObjectRetention`  |  Diperlukan untuk mengambil pengaturan retensi Object Lock untuk objek.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)  |  (Diperlukan) Salah satu `s3:GetObjectTagging` atau `s3:GetObjectVersionTagging`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTorrent.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTorrent.html)  |  (Diperlukan) `s3:GetObject`  |  Diperlukan untuk mengembalikan file torrent dari suatu objek.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)  |  (Diperlukan) `s3:GetObject`  |  Diperlukan untuk mengambil metadata dari objek tanpa mengembalikan objek itu sendiri.  | 
|    |  (Diperlukan secara kondisional) `s3:GetObjectLegalHold`  |  Diperlukan jika Anda ingin mendapatkan status penahanan hukum Object Lock objek saat ini.  | 
|    |  (Diperlukan secara kondisional) `s3:GetObjectRetention`  |  Diperlukan jika Anda ingin mengambil pengaturan retensi Object Lock untuk objek.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)  |  (Diperlukan) `s3:ListBucketMultipartUploads`  |  Diperlukan untuk mencantumkan unggahan multipart yang sedang berlangsung dalam bucket.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)  |  (Diperlukan) `s3:ListMultipartUploadParts`  |  Diperlukan untuk membuat daftar bagian yang telah diunggah untuk unggahan multibagian tertentu.  | 
|    |  (Diperlukan secara kondisional) `kms:Decrypt`  |  Diperlukan jika Anda ingin membuat daftar bagian dari unggahan multibagian kunci terenkripsi yang dikelola AWS KMS pelanggan.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)  |  (Diperlukan) `s3:PutObject`  |  Diperlukan untuk meletakkan objek.  | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectAcl`  |  Diperlukan jika Anda ingin menempatkan daftar kontrol akses objek (ACL) saat Anda membuat `PutObject` permintaan.  | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectTagging`  |  Diperlukan jika Anda ingin menempatkan penandaan objek saat Anda membuat `PutObject` permintaan.  | 
|    |  (Diperlukan secara kondisional) `kms:GenerateDataKey`  |  Diperlukan jika Anda ingin mengenkripsi objek dengan kunci yang dikelola AWS KMS pelanggan.   | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectRetention`  |  Diperlukan jika Anda ingin mengatur konfigurasi retensi Object Lock pada objek.  | 
|    |  (Diperlukan secara kondisional) `s3:PutObjectLegalHold`  |  Diperlukan jika Anda ingin menerapkan konfigurasi penahanan hukum Object Lock ke objek tertentu.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)  |  (Diperlukan) Salah satu `s3:PutObjectAcl` atau `s3:PutObjectVersionAcl`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html)  |  (Diperlukan) `s3:PutObjectLegalHold`  |  Diperlukan untuk menerapkan konfigurasi penahanan hukum Object Lock ke objek.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html)  |  (Diperlukan) `s3:PutObjectRetention`  |  Diperlukan untuk menerapkan konfigurasi retensi Object Lock ke objek.  | 
|    |  (Diperlukan secara kondisional) `s3:BypassGovernanceRetention`  |  Diperlukan jika Anda ingin melewati mode tata kelola konfigurasi retensi Object Lock.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)  |  (Diperlukan) Salah satu `s3:PutObjectTagging` atau `s3:PutObjectVersionTagging`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)  |  (Diperlukan) `s3:RestoreObject`  |  Diperlukan untuk mengembalikan salinan objek yang diarsipkan.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html)  |  (Diperlukan) `s3:GetObject`  |  Diperlukan untuk memfilter isi objek S3 berdasarkan pernyataan bahasa kueri terstruktur sederhana (SQL).  | 
|    |  (Diperlukan secara kondisional) `kms:Decrypt`  |  Diperlukan jika Anda ingin memfilter konten objek S3 yang dienkripsi dengan kunci yang dikelola AWS KMS pelanggan.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html) | (Diperlukan)`s3:UpdateObjectEncryption`,`s3:PutObject`,`kms:Encrypt`,`kms:Decrypt`,`kms:GenerateDataKey`, `kms:ReEncrypt*`  | Diperlukan jika Anda ingin mengubah objek terenkripsi antara enkripsi sisi server dengan enkripsi terkelola Amazon S3 (SSE-S3) dan enkripsi sisi server dengan () kunci enkripsi (SSE-KMS). AWS Key Management Service AWS KMS Anda juga dapat menggunakan `UpdateObjectEncryption` operasi untuk menerapkan Kunci Bucket S3 untuk mengurangi biaya AWS KMS permintaan atau mengubah kunci KMS yang dikelola pelanggan yang digunakan untuk mengenkripsi data Anda sehingga Anda dapat mematuhi standar rotasi kunci khusus. | 
|    | (Diperlukan secara kondisional) `organizations:DescribeAccount` | Jika Anda menggunakan AWS Organizations, untuk menggunakan `UpdateObjectEncryption` operasi dengan kunci KMS yang dikelola pelanggan dari orang lain Akun AWS dalam organisasi Anda, Anda harus memiliki izin. `organizations:DescribeAccount`   Anda juga harus meminta kemampuan untuk menggunakan yang AWS KMS keys dimiliki oleh akun anggota lain dalam organisasi Anda dengan menghubungi AWS Dukungan.   | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)  |  (Diperlukan) `s3:PutObject`  |  Diperlukan untuk mengunggah bagian dalam unggahan multibagian.  | 
|    |  (Diperlukan secara kondisional) `kms:GenerateDataKey`  |  Diperlukan jika Anda ingin meletakkan bagian unggahan dan mengenkripsi dengan kunci yang dikelola AWS KMS pelanggan.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)  |  Untuk objek sumber:  |  Untuk objek sumber:  | 
|    |  (Diperlukan) Salah satu `s3:GetObject` atau `s3:GetObjectVersion`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)  | 
|    |  (Diperlukan secara kondisional) `kms:Decrypt`  |  Diperlukan jika Anda ingin menyalin objek terenkripsi kunci terkelola AWS KMS pelanggan dari bucket sumber.   | 
|    |  Untuk bagian tujuan:  |  Untuk bagian tujuan:  | 
|    |  (Diperlukan) `s3:PutObject`  |  Diperlukan untuk mengunggah bagian unggahan multibagian ke bucket tujuan.  | 
|    |  (Diperlukan secara kondisional) `kms:GenerateDataKey`  |  Diperlukan jika Anda ingin mengenkripsi bagian dengan kunci yang dikelola AWS KMS pelanggan saat Anda mengunggah bagian tersebut ke bucket tujuan.   | 

## Titik akses untuk operasi dan izin bucket tujuan umum
<a name="using-with-s3-policy-actions-related-to-accesspoint"></a>

Operasi titik akses adalah operasi API S3 yang beroperasi pada jenis `accesspoint` sumber daya. Anda harus menentukan tindakan kebijakan S3 untuk operasi titik akses dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket atau kebijakan titik akses.

Dalam kebijakan, `Resource` elemennya haruslah `accesspoint` ARN. Untuk informasi selengkapnya tentang format `Resource` elemen dan kebijakan contoh, lihat[Titik akses untuk operasi bucket tujuan umum](security_iam_service-with-iam.md#using-with-s3-actions-related-to-accesspoint).

**catatan**  
Jika Anda ingin menggunakan titik akses untuk mengontrol akses ke operasi bucket atau objek, perhatikan hal berikut:  
Untuk menggunakan titik akses untuk mengontrol akses ke operasi bucket, lihat[Operasi bucket dalam kebijakan untuk titik akses untuk bucket tujuan umum](security_iam_service-with-iam.md#bucket-operations-ap).
Untuk menggunakan titik akses untuk mengontrol akses ke operasi objek, lihat[Operasi objek dalam kebijakan titik akses](security_iam_service-with-iam.md#object-operations-ap).
Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan titik akses, lihat[Mengonfigurasi kebijakan IAM untuk menggunakan titik akses](access-points-policies.md).

Berikut ini adalah pemetaan operasi titik akses dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html)  |  (Diperlukan) `s3:CreateAccessPoint`  |  Diperlukan untuk membuat titik akses yang terkait dengan bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html)  |  (Diperlukan) `s3:DeleteAccessPoint`  |  Diperlukan untuk menghapus titik akses.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html)  |  (Diperlukan) `s3:DeleteAccessPointPolicy`  |  Diperlukan untuk menghapus kebijakan titik akses.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html)  |  (Diperlukan) `s3:GetAccessPointPolicy`  |  Diperlukan untuk mengambil kebijakan jalur akses.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicyStatus.html)  |  (Diperlukan) `s3:GetAccessPointPolicyStatus`  |  Diperlukan untuk mengambil informasi apakah titik akses yang ditentukan saat ini memiliki kebijakan yang memungkinkan akses publik.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html)  |  (Diperlukan) `s3:PutAccessPointPolicy`  |  Diperlukan untuk menempatkan kebijakan titik akses.  | 

## Operasi dan izin Objek Lambda Access Point
<a name="using-with-s3-policy-actions-related-to-olap"></a>

Operasi Object Lambda Access Point adalah operasi API S3 yang beroperasi pada jenis sumber daya. `objectlambdaaccesspoint` Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan untuk operasi Titik Akses Objek Lambda, lihat. [Mengonfigurasi kebijakan IAM untuk Titik Akses Lambda Objek](olap-policies.md)

Berikut ini adalah pemetaan operasi Object Lambda Access Point dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html)  |  (Diperlukan) `s3:CreateAccessPointForObjectLambda`  |  Diperlukan untuk membuat Object Lambda Access Point.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointForObjectLambda.html)  |  (Diperlukan) `s3:DeleteAccessPointForObjectLambda`  |  Diperlukan untuk menghapus Titik Akses Objek Lambda tertentu.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicyForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicyForObjectLambda.html)  |  (Diperlukan) `s3:DeleteAccessPointPolicyForObjectLambda`  |  Diperlukan untuk menghapus kebijakan pada Titik Akses Lambda Objek tertentu.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointConfigurationForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointConfigurationForObjectLambda.html)  |  (Diperlukan) `s3:GetAccessPointConfigurationForObjectLambda`  |  Diperlukan untuk mengambil konfigurasi Object Lambda Access Point.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointForObjectLambda.html)  |  (Diperlukan) `s3:GetAccessPointForObjectLambda`  |  Diperlukan untuk mengambil informasi tentang Object Lambda Access Point.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointPolicyForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointPolicyForObjectLambda.html)  |  (Diperlukan) `s3:GetAccessPointPolicyForObjectLambda`  |  Diperlukan untuk mengembalikan kebijakan titik akses yang terkait dengan Titik Akses Objek Lambda yang ditentukan.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointPolicyStatusForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetAccessPointPolicyStatusForObjectLambda.html)  |  (Diperlukan) `s3:GetAccessPointPolicyStatusForObjectLambda`  |  Diperlukan untuk mengembalikan status kebijakan untuk kebijakan Titik Akses Objek Lambda tertentu.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutAccessPointConfigurationForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutAccessPointConfigurationForObjectLambda.html)  |  (Diperlukan) `s3:PutAccessPointConfigurationForObjectLambda`  |  Diperlukan untuk mengatur konfigurasi Object Lambda Access Point.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutAccessPointPolicyForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutAccessPointPolicyForObjectLambda.html)  |  (Diperlukan) `s3:PutAccessPointPolicyForObjectLambda`  |  Diperlukan untuk mengaitkan kebijakan akses dengan Titik Akses Objek Lambda tertentu.  | 

## Operasi dan izin Jalur Akses Multi-Wilayah
<a name="using-with-s3-policy-actions-related-to-mrap"></a>

Operasi Titik Akses Multi-Wilayah adalah operasi API S3 yang beroperasi pada jenis `multiregionaccesspoint` sumber daya. Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan untuk operasi Titik Akses Multi-Wilayah, lihat[Contoh kebijakan Titik Akses Multi-Wilayah](MultiRegionAccessPointPermissions.md#MultiRegionAccessPointPolicyExamples).

Berikut ini adalah pemetaan operasi Titik Akses Multi-Wilayah dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html)  |  (Diperlukan) `s3:CreateMultiRegionAccessPoint`  |  Diperlukan untuk membuat Titik Akses Multi-Wilayah dan mengaitkannya dengan bucket S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteMultiRegionAccessPoint.html)  |  (Diperlukan) `s3:DeleteMultiRegionAccessPoint`  |  Diperlukan untuk menghapus Titik Akses Multi-Wilayah.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html)  |  (Diperlukan) `s3:DescribeMultiRegionAccessPointOperation`  |  Diperlukan untuk mengambil status permintaan asinkron untuk mengelola Titik Akses Multi-Wilayah.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html)  |  (Diperlukan) `s3:GetMultiRegionAccessPoint`  |  Diperlukan untuk mengembalikan informasi konfigurasi tentang Titik Akses Multi-Wilayah yang ditentukan.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html)  |  (Diperlukan) `s3:GetMultiRegionAccessPointPolicy`  |  Diperlukan untuk mengembalikan kebijakan kontrol akses dari Titik Akses Multi-Wilayah yang ditentukan.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html)  |  (Diperlukan) `s3:GetMultiRegionAccessPointPolicyStatus`  |  Diperlukan untuk mengembalikan status kebijakan untuk Titik Akses Multi-Wilayah tertentu tentang apakah Titik Akses Multi-Wilayah yang ditentukan memiliki kebijakan kontrol akses yang memungkinkan akses publik.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointRoutes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointRoutes.html)  |  (Diperlukan) `s3:GetMultiRegionAccessPointRoutes`  |  Diperlukan untuk mengembalikan konfigurasi routing untuk Titik Akses Multi-Wilayah.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html)  |  (Diperlukan) `s3:PutMultiRegionAccessPointPolicy`  |  Diperlukan untuk memperbarui kebijakan kontrol akses dari Titik Akses Multi-Wilayah yang ditentukan.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SubmitMultiRegionAccessPointRoutes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SubmitMultiRegionAccessPointRoutes.html)  |  (Diperlukan) `s3:SubmitMultiRegionAccessPointRoutes`  |  Diperlukan untuk mengirimkan konfigurasi rute yang diperbarui untuk Titik Akses Multi-Wilayah.  | 

## Operasi dan izin pekerjaan Batch
<a name="using-with-s3-policy-actions-related-to-batchops"></a>

Operasi pekerjaan (Operasi Batch) adalah operasi API S3 yang beroperasi pada jenis `job` sumber daya. Anda harus menentukan tindakan kebijakan S3 untuk operasi pekerjaan dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket.

Dalam kebijakan, `Resource` elemennya haruslah `job` ARN. Untuk informasi selengkapnya tentang format `Resource` elemen dan kebijakan contoh, lihat[Operasi pekerjaan Batch](security_iam_service-with-iam.md#using-with-s3-actions-related-to-batchops).

Berikut ini adalah pemetaan operasi pekerjaan batch dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html)  |  (Diperlukan) `s3:DeleteJobTagging`  |  Diperlukan untuk menghapus tag dari pekerjaan Operasi Batch S3 yang ada.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html)  |  (Diperlukan) `s3:DescribeJob`  |  Diperlukan untuk mengambil parameter konfigurasi dan status untuk pekerjaan Operasi Batch.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html)  |  (Diperlukan) `s3:GetJobTagging`  |  Diperlukan untuk mengembalikan kumpulan tag dari pekerjaan Operasi Batch S3 yang ada.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html)  |  (Diperlukan) `s3:PutJobTagging`  |  Diperlukan untuk menempatkan atau mengganti tag pada pekerjaan Operasi Batch S3 yang ada.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobPriority.html)  |  (Diperlukan) `s3:UpdateJobPriority`  |  Diperlukan untuk memperbarui prioritas pekerjaan yang ada.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateJobStatus.html)  |  (Diperlukan) `s3:UpdateJobStatus`  |  Diperlukan untuk memperbarui status untuk pekerjaan yang ditentukan.  | 

## Operasi dan izin konfigurasi Lensa Penyimpanan S3
<a name="using-with-s3-policy-actions-related-to-lens"></a>

Operasi konfigurasi Lensa Penyimpanan S3 adalah operasi API S3 yang beroperasi pada jenis `storagelensconfiguration` sumber daya. Untuk informasi selengkapnya tentang cara mengonfigurasi operasi konfigurasi Lensa Penyimpanan S3, lihat[Menyetel izin Lensa Penyimpanan Amazon S3](storage_lens_iam_permissions.md).

Berikut ini adalah pemetaan operasi konfigurasi Lensa Penyimpanan S3 dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensConfiguration.html)  |  (Diperlukan) `s3:DeleteStorageLensConfiguration`  |  Diperlukan untuk menghapus konfigurasi Lensa Penyimpanan S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensConfigurationTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensConfigurationTagging.html)  |  (Diperlukan) `s3:DeleteStorageLensConfigurationTagging`  |  Diperlukan untuk menghapus tag konfigurasi Lensa Penyimpanan S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensConfiguration.html)  |  (Diperlukan) `s3:GetStorageLensConfiguration`  |  Diperlukan untuk mendapatkan konfigurasi Lensa Penyimpanan S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensConfigurationTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensConfigurationTagging.html)  |  (Diperlukan) `s3:GetStorageLensConfigurationTagging`  |  Diperlukan untuk mendapatkan tag konfigurasi Lensa Penyimpanan S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfigurationTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfigurationTagging.html)  |  (Diperlukan) `s3:PutStorageLensConfigurationTagging`  |  Diperlukan untuk meletakkan atau mengganti tag pada konfigurasi Lensa Penyimpanan S3 yang ada.  | 

## Lensa Penyimpanan S3 mengelompokkan operasi dan izin
<a name="using-with-s3-policy-actions-related-to-lens-groups"></a>

Operasi grup Lensa Penyimpanan S3 adalah operasi API S3 yang beroperasi pada jenis `storagelensgroup` sumber daya. Untuk informasi selengkapnya tentang cara mengonfigurasi izin grup Lensa Penyimpanan S3, lihat. [Izin grup Lensa Penyimpanan](storage-lens-groups.md#storage-lens-group-permissions)

Berikut ini adalah pemetaan operasi grup Lensa Penyimpanan S3 dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteStorageLensGroup.html)  |  (Diperlukan) `s3:DeleteStorageLensGroup`  |  Diperlukan untuk menghapus grup Lensa Penyimpanan S3 yang ada.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetStorageLensGroup.html)  |  (Diperlukan) `s3:GetStorageLensGroup`  |  Diperlukan untuk mengambil detail konfigurasi grup Lensa Penyimpanan S3.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateStorageLensGroup.html)  |  (Diperlukan) `s3:UpdateStorageLensGroup`  |  Diperlukan untuk memperbarui grup Lensa Penyimpanan S3 yang ada.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html) | (Diperlukan) `s3:CreateStorageLensGroup` | Diperlukan untuk membuat grup Lensa Penyimpanan baru. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html), [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html) | (Diperlukan)`s3:CreateStorageLensGroup`, `s3:TagResource` | Diperlukan untuk membuat grup Lensa Penyimpanan baru dengan tag. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensGroups.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensGroups.html) | (Diperlukan) `s3:ListStorageLensGroups` | Diperlukan untuk mencantumkan semua grup Lensa Penyimpanan di Wilayah rumah Anda. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html) | (Diperlukan) `s3:ListTagsForResource` | Diperlukan untuk mencantumkan tag yang ditambahkan ke grup Lensa Penyimpanan Anda. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html) | (Diperlukan) `s3:TagResource` | Diperlukan untuk menambah atau memperbarui tag grup Lensa Penyimpanan untuk grup Lensa Penyimpanan yang ada. | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html) | (Diperlukan) `s3:UntagResource` | Diperlukan untuk menghapus tag dari grup Lensa Penyimpanan. | 

## S3 Access Memberikan operasi dan izin instans
<a name="using-with-s3-policy-actions-related-to-s3ag-instances"></a>

Operasi instans S3 Access Grants adalah operasi API S3 yang beroperasi pada jenis sumber daya. `accessgrantsinstance` Instance S3 Access Grants adalah wadah logis untuk hibah akses Anda. Untuk informasi selengkapnya tentang bekerja dengan instans S3 Access Grants, lihat. [Bekerja dengan instans S3 Access Grants](access-grants-instance.md)

Berikut ini adalah pemetaan operasi konfigurasi instans S3 Access Grants dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AssociateAccessGrantsIdentityCenter.html)  |  (Diperlukan) `s3:AssociateAccessGrantsIdentityCenter`  |  Diperlukan untuk mengaitkan AWS IAM Identity Center instance dengan instans S3 Access Grants Anda, sehingga memungkinkan Anda membuat hibah akses untuk pengguna dan grup di direktori identitas perusahaan Anda. Anda juga harus memiliki izin berikut:  `sso:CreateApplication`, `sso:PutApplicationGrant`, dan `sso:PutApplicationAuthenticationMethod`.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsInstance.html)  |  (Diperlukan) `s3:CreateAccessGrantsInstance`  |  Diperlukan untuk membuat instance S3 Access Grants (`accessgrantsinstance`resource) yang merupakan wadah untuk hibah akses individual Anda.  Untuk mengaitkan AWS IAM Identity Center instance dengan instans S3 Access Grants, Anda juga harus memiliki`sso:DescribeInstance`,, `sso:CreateApplication``sso:PutApplicationGrant`, dan `sso:PutApplicationAuthenticationMethod` izin.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstance.html)  |  (Diperlukan) `s3:DeleteAccessGrantsInstance`  |  Diperlukan untuk menghapus instance (`accessgrantsinstance`sumber daya) S3 Access Grants dari akun Wilayah AWS Anda.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstanceResourcePolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsInstanceResourcePolicy.html)  |  (Diperlukan) `s3:DeleteAccessGrantsInstanceResourcePolicy`  |  Diperlukan untuk menghapus kebijakan sumber daya untuk instance S3 Access Grants Anda.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DissociateAccessGrantsIdentityCenter.html)  |  (Diperlukan) `s3:DissociateAccessGrantsIdentityCenter`  |  Diperlukan untuk memisahkan AWS IAM Identity Center instance dari instance S3 Access Grants Anda. Anda juga harus memiliki izin berikut: `sso:DeleteApplication`  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstance.html)  |  (Diperlukan) `s3:GetAccessGrantsInstance`  |  Diperlukan untuk mengambil instance S3 Access Grants untuk akun Wilayah AWS Anda.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceForPrefix.html)  |  (Diperlukan) `s3:GetAccessGrantsInstanceForPrefix`  |  Diperlukan untuk mengambil instance S3 Access Grants yang berisi awalan tertentu.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceResourcePolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsInstanceResourcePolicy.html)  |  (Diperlukan) `s3:GetAccessGrantsInstanceResourcePolicy`  |  Diperlukan untuk mengembalikan kebijakan sumber daya instans S3 Access Grants Anda.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsInstances.html)  |  (Diperlukan) `s3:ListAccessGrantsInstances`  |  Diperlukan untuk mengembalikan daftar instans S3 Access Grants di akun Anda.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessGrantsInstanceResourcePolicy.html)  |  (Diperlukan) `s3:PutAccessGrantsInstanceResourcePolicy`  |  Diperlukan untuk memperbarui kebijakan sumber daya instance S3 Access Grants.  | 

## Akses S3 Memberikan operasi dan izin lokasi
<a name="using-with-s3-policy-actions-related-to-s3ag-locations"></a>

Operasi lokasi S3 Access Grants adalah operasi API S3 yang beroperasi pada jenis sumber daya. `accessgrantslocation` Untuk informasi selengkapnya tentang bekerja dengan lokasi S3 Access Grants, lihat. [Bekerja dengan lokasi S3 Access Grants](access-grants-location.md)

Berikut ini adalah pemetaan operasi konfigurasi lokasi S3 Access Grants dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html)  |  (Diperlukan) `s3:CreateAccessGrantsLocation`  |  Diperlukan untuk mendaftarkan lokasi di instans S3 Access Grants Anda (membuat `accessgrantslocation` sumber daya). Anda juga harus memiliki izin berikut untuk peran IAM yang ditentukan:  `iam:PassRole`  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html)  |  (Diperlukan) `s3:DeleteAccessGrantsLocation`  |  Diperlukan untuk menghapus lokasi terdaftar dari instans S3 Access Grants Anda.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html)  |  (Diperlukan) `s3:GetAccessGrantsLocation`  |  Diperlukan untuk mengambil detail lokasi tertentu yang terdaftar di instans S3 Access Grants Anda.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html)  |  (Diperlukan) `s3:ListAccessGrantsLocations`  |  Diperlukan untuk mengembalikan daftar lokasi yang terdaftar di instans S3 Access Grants Anda.  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html)  |  (Diperlukan) `s3:UpdateAccessGrantsLocation`  |  Diperlukan untuk memperbarui peran IAM dari lokasi terdaftar di instans S3 Access Grants Anda.  | 

## S3 Access Grants memberikan operasi dan izin
<a name="using-with-s3-policy-actions-related-to-s3ag-grants"></a>

Operasi hibah S3 Access Grants adalah operasi API S3 yang beroperasi pada jenis sumber daya. `accessgrant` Untuk informasi lebih lanjut tentang bekerja dengan hibah individu menggunakan S3 Access Grants, lihat. [Bekerja dengan hibah di S3 Access Grants](access-grants-grant.md)

Berikut ini adalah pemetaan operasi konfigurasi hibah S3 Access Grants dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrant.html)  |  (Diperlukan) `s3:CreateAccessGrant`  |  Diperlukan untuk membuat hibah individu (`accessgrant`sumber daya) untuk pengguna atau grup di instance S3 Access Grants Anda. Anda juga harus memiliki izin berikut: Untuk identitas direktori apa pun — `sso:DescribeInstance` dan `sso:DescribeApplication` Untuk pengguna direktori — `identitystore:DescribeUser`  | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html)  |  (Diperlukan) `s3:DeleteAccessGrant`  |  Diperlukan untuk menghapus hibah akses individual (`accessgrant`sumber daya) dari instance S3 Access Grants Anda.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html)  |  (Diperlukan) `s3:GetAccessGrant`  |  Diperlukan untuk mendapatkan detail tentang hibah akses individual di instans Hibah Akses S3 Anda.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html)  |  (Diperlukan) `s3:ListAccessGrants`  |  Diperlukan untuk mengembalikan daftar hibah akses individual di instance Hibah Akses S3 Anda.   | 
| [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html)  |  (Diperlukan) `s3:ListCallerAccessGrants`  |  Diperlukan untuk mencantumkan hibah akses yang memberikan akses pemanggil ke data Amazon S3 melalui S3 Access Grants.   | 

## Operasi dan izin akun
<a name="using-with-s3-policy-actions-related-to-accounts"></a>

Operasi akun adalah operasi API S3 yang beroperasi pada tingkat akun. Akun bukanlah jenis sumber daya yang ditentukan oleh Amazon S3. Anda harus menentukan tindakan kebijakan S3 untuk operasi akun dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket.

Dalam kebijakan, `Resource` elemennya harus`"*"`. Untuk informasi selengkapnya tentang kebijakan contoh, lihat[Operasi akun](security_iam_service-with-iam.md#using-with-s3-actions-related-to-accounts).

Berikut ini adalah pemetaan operasi akun dan tindakan kebijakan yang diperlukan. 


| Operasi API | Tindakan kebijakan | Deskripsi tindakan kebijakan | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html)  |  (Diperlukan) `s3:CreateJob`  |  Diperlukan untuk membuat pekerjaan Operasi Batch S3 baru.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateStorageLensGroup.html)  |  (Diperlukan) `s3:CreateStorageLensGroup`  |  Diperlukan untuk membuat grup Lensa Penyimpanan S3 baru dan mengaitkannya dengan Akun AWS ID yang ditentukan.  | 
|    |  (Diperlukan secara kondisional) `s3:TagResource`  |  Diperlukan jika Anda ingin membuat grup Lensa Penyimpanan S3 dengan tag AWS sumber daya.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html)(Tingkat akun)  |  (Diperlukan) `s3:PutAccountPublicAccessBlock`  |  Diperlukan untuk menghapus konfigurasi blokir akses publik dari file Akun AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html)  |  (Diperlukan) `s3:GetAccessPoint`  |  Diperlukan untuk mengambil informasi konfigurasi tentang titik akses yang ditentukan.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html)(Tingkat akun)  |  (Diperlukan) `s3:GetAccountPublicAccessBlock`  |  Diperlukan untuk mengambil konfigurasi akses publik blok untuk file Akun AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html)  |  (Diperlukan) `s3:ListAccessPoints`  |  Diperlukan untuk mencantumkan titik akses bucket S3 yang dimiliki oleh file Akun AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForObjectLambda.html)  |  (Diperlukan) `s3:ListAccessPointsForObjectLambda`  |  Diperlukan untuk mencantumkan Titik Akses Objek Lambda.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)  |  (Diperlukan) `s3:ListAllMyBuckets`  |  Diperlukan untuk mengembalikan daftar semua bucket yang dimiliki oleh pengirim permintaan yang diautentikasi.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListJobs.html)  |  (Diperlukan) `s3:ListJobs`  |  Diperlukan untuk membuat daftar pekerjaan dan pekerjaan saat ini yang telah berakhir baru-baru ini.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html)  |  (Diperlukan) `s3:ListMultiRegionAccessPoints`  |  Diperlukan untuk mengembalikan daftar Titik Akses Multi-Wilayah yang saat ini terkait dengan yang ditentukan Akun AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensConfigurations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensConfigurations.html)  |  (Diperlukan) `s3:ListStorageLensConfigurations`  |  Diperlukan untuk mendapatkan daftar konfigurasi Lensa Penyimpanan S3 untuk file. Akun AWS  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensGroups.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListStorageLensGroups.html)  |  (Diperlukan) `s3:ListStorageLensGroups`  |  Diperlukan untuk mencantumkan semua grup Lensa Penyimpanan S3 di rumah Wilayah AWS yang ditentukan.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html)(Tingkat akun)  |  (Diperlukan) `s3:PutAccountPublicAccessBlock`  |  Diperlukan untuk membuat atau memodifikasi konfigurasi blokir akses publik untuk file Akun AWS.  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfiguration.html)  |  (Diperlukan) `s3:PutStorageLensConfiguration`  |  Diperlukan untuk menempatkan konfigurasi Lensa Penyimpanan S3.  | 

# Kebijakan dan izin di Amazon S3
<a name="access-policy-language-overview"></a>

Halaman ini memberikan ikhtisar kebijakan bucket dan pengguna di Amazon S3 dan menjelaskan elemen dasar kebijakan AWS Identity and Access Management (IAM). Setiap elemen yang tercantum berkaitan dengan perincian lebih lanjut tentang elemen tersebut dan contoh-contoh cara penggunaannya. 

*Untuk daftar lengkap tindakan, sumber daya, dan ketentuan Amazon S3, lihat [Tindakan, sumber daya, dan kunci kondisi untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) di Referensi Otorisasi Layanan.*

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

Secara mendasar, sebuah kebijakan berisi elemen-elemen berikut ini:
+ [Resource](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources)- Bucket Amazon S3, objek, titik akses, atau pekerjaan yang berlaku untuk kebijakan tersebut. Gunakan Amazon Resource Name (ARN) dari bucket, objek, titik akses, atau job untuk mengidentifikasi sumber daya. 

  Contoh untuk operasi tingkat bucket:

  `"Resource": "arn:aws:s3:::bucket_name"`

  Contoh operasi tingkat objek: 
  + `"Resource": "arn:aws:s3:::bucket_name/*"`untuk semua benda di ember.
  + `"Resource": "arn:aws:s3:::bucket_name/prefix/*"`untuk objek di bawah awalan tertentu di ember.

  Untuk informasi selengkapnya, lihat [Sumber daya kebijakan untuk Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources).
+ [Actions](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions)— Untuk setiap sumber daya, Amazon S3 mendukung serangkaian operasi. Anda mengidentifikasi operasi sumber daya yang Anda izinkan (atau tolak) dengan menggunakan kata kunci tindakan. 

  Misalnya, `s3:ListBucket` izin memungkinkan pengguna untuk menggunakan operasi Amazon S3 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html). (`s3:ListBucket`Izin adalah kasus di mana nama tindakan tidak dipetakan langsung ke nama operasi.) Untuk informasi selengkapnya tentang penggunaan tindakan Amazon S3, lihat [Tindakan kebijakan untuk Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions). Untuk daftar lengkap tindakan Amazon S3, lihat [Tindakan](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.html) di Referensi *API Layanan Penyimpanan Sederhana Amazon*.
+ [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html)— Apa efeknya ketika pengguna meminta tindakan tertentu—ini bisa berupa salah satu atau. `Allow` `Deny` 

  Jika Anda tidak secara eksplisit memberikan akses ke (mengizinkan) sumber daya, akses akan ditolak secara implisit. Anda juga dapat secara eksplisit menolak akses ke sumber daya. Anda dapat melakukan ini untuk memastikan bahwa pengguna tidak dapat mengakses sumber daya, bahkan jika kebijakan yang berbeda memberikan akses. Untuk informasi selengkapnya, lihat [Elemen Kebijakan IAM JSON: Efek](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html) dalam *Panduan Pengguna IAM*.
+ [Principal](security_iam_service-with-iam.md#s3-bucket-user-policy-specifying-principal-intro)— Akun atau pengguna yang diizinkan mengakses tindakan dan sumber daya dalam pernyataan. Dalam kebijakan bucket, pengguna utama adalah pengguna, akun, layanan, atau entitas lain yang merupakan penerima izin ini. Untuk informasi selengkapnya, lihat [Prinsipal untuk kebijakan bucket](security_iam_service-with-iam.md#s3-bucket-user-policy-specifying-principal-intro).
+ [Condition](amazon-s3-policy-keys.md)— Ketentuan kapan kebijakan berlaku. Anda dapat menggunakan kunci AWS-wide dan kunci khusus Amazon S3 untuk menentukan kondisi dalam kebijakan akses Amazon S3. Untuk informasi selengkapnya, lihat [Contoh kebijakan bucket menggunakan tombol kondisi](amazon-s3-policy-keys.md).

Contoh kebijakan bucket berikut menunjukkan`Effect`,, `Principal``Action`, dan `Resource` elemen. Kebijakan ini memungkinkan`Akua`, pengguna dalam akun`123456789012`, `s3:GetObject``s3:GetBucketLocation`, dan izin `s3:ListBucket` Amazon S3 di bucket. `amzn-s3-demo-bucket1`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ExamplePolicy01",
    "Statement": [
        {
            "Sid": "ExampleStatement01",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Akua"
            },
            "Action": [
                "s3:GetObject",
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                "arn:aws:s3:::amzn-s3-demo-bucket1"
            ]
        }
    ]
}
```

------

*Untuk informasi bahasa kebijakan selengkapnya, lihat [Kebijakan dan izin dalam referensi kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) [dan IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) di Panduan Pengguna IAM.*

## Delegasi izin
<a name="permission-delegation"></a>

Jika Akun AWS memiliki sumber daya, ia dapat memberikan izin tersebut kepada yang lain. Akun AWS Akun tersebut kemudian dapat mendelegasikan izin-izin tersebut, atau sebagian izin, kepada pengguna dalam akun. Ini disebut sebagai *delegasi izin*. Tetapi akun yang menerima izin dari akun lain tidak dapat mendelegasikan izin lintas akun ke akun lain. Akun AWS

## bucket Amazon S3 dan kepemilikan objek
<a name="about-resource-owner"></a>

bucket dan objek adalah sumber daya Amazon S3. Secara bawaan, hanya pemilik sumber daya yang dapat mengakses sumber daya ini. Pemilik sumber daya mengacu pada Akun AWS yang menciptakan sumber daya. Contoh: 
+  Akun AWS Yang Anda gunakan untuk membuat bucket dan mengunggah objek memiliki sumber daya tersebut. 
+  Jika Anda mengunggah objek menggunakan pengguna AWS Identity and Access Management (IAM) atau kredensyal peran, pengguna atau peran Akun AWS tersebut memiliki objek tersebut. 
+ Pemilik bucket dapat memberikan izin lintas akun kepada Akun AWS lain (atau pengguna di akun lain) untuk unggah objek. Dalam hal ini, Akun AWS yang unggah objek tersebut adalah pemilik objek tersebut. Pemilik bucket tidak memiliki izin pada objek yang dimiliki akun lain, dengan pengecualian berikut:
  + Pemilik bucket membayar tagihan. Pemilik bucket dapat menolak akses ke objek apa pun, atau menghapus objek apa pun di dalam bucket, tanpa memandang siapa yang memilikinya. 
  + Pemilik bucket dapat mengarsipkan objek apa pun atau memulihkan objek yang diarsipkan, tanpa memandang siapa yang memilikinya. Pengarsipan mengacu pada kelas penyimpanan yang digunakan untuk menyimpan objek. Untuk informasi selengkapnya, lihat [Mengelola siklus hidup objek](object-lifecycle-mgmt.md).

### Autentikasi kepemilikan dan permintaan
<a name="about-resource-owner-requests"></a>

Semua permintaan ke bucket akan diautentikasi atau tidak diautentikasi. Permintaan yang diautentikasi harus menyertakan nilai tanda tangan yang mengautentikasi pengirim permintaan, permintaan yang tidak diautentikasi tidak harus menyertakannya. Untuk informasi selengkapnya tentang autentikasi permintaan, lihat [Membuat permintaan](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html) di Referensi *API Amazon S3*.

Pemilik bucket dapat mengizinkan permintaan yang tidak diauntentikasi. Misalnya, [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html)permintaan yang tidak diautentikasi diizinkan jika bucket memiliki kebijakan bucket publik, atau saat ACL bucket memberikan `WRITE` atau `FULL_CONTROL` mengakses `All Users` grup atau pengguna anonim secara khusus. Untuk informasi selengkapnya tentang kebijakan bucket publik dan daftar kontrol akses publik (ACLs), lihat[Arti “publik”](access-control-block-public-access.md#access-control-block-public-access-policy-status).

Semua permintaan yang tidak diautentikasi dibuat oleh pengguna anonim. Pengguna ini diwakili ACLs oleh ID pengguna kanonik tertentu. `65a011a29cdf8ec533ec3d1ccaae921c` Jika objek diunggah ke bucket melalui permintaan yang tidak terotentikasi, pengguna anonim memiliki objek. ACL objek bawaan memberikan `FULL_CONTROL` kepada pengguna anonim sebagai pemilik objek. Oleh karena itu, Amazon S3 mengizinkan permintaan yang tidak diautentikasi untuk mengambil objek atau memodifikasi ACL-nya. 

Untuk mencegah objek dimodifikasi oleh pengguna anonim, sebaiknya Anda tidak menerapkan kebijakan bucket yang mengizinkan penulisan publik anonim ke bucket Anda atau penggunaan ACLs yang memungkinkan pengguna anonim menulis akses ke bucket Anda. Anda dapat menerapkan perilaku yang direkomendasikan ini dengan menggunakan Blokir Akses Publik Amazon S3. 

Untuk informasi lebih lanjut tentang pemblokiran akses publik, lihat [Melakukan blok akses publik ke penyimpanan Amazon S3 Anda](access-control-block-public-access.md). Untuk informasi selengkapnya tentang ACLs, lihat [Gambaran umum daftar kontrol akses (ACL)](acl-overview.md).

**penting**  
Kami menyarankan agar Anda tidak menggunakan kredensyal pengguna Akun AWS root untuk membuat permintaan yang diautentikasi. Sebagai gantinya, buat peran IAM dan berikan akses penuh kepada peran tersebut. Kami merujuk ke pengguna dengan peran ini sebagai *pengguna administrator*. Anda dapat menggunakan kredensyal yang ditetapkan ke peran administrator, bukan kredensyal pengguna Akun AWS root, untuk berinteraksi AWS dan melakukan tugas, seperti membuat bucket, membuat pengguna, dan memberikan izin. Untuk informasi selengkapnya, lihat [AWS kredensyal](https://docs.aws.amazon.com/general/latest/gr/root-vs-iam.html) [keamanan dan praktik terbaik Keamanan di IAM di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) Pengguna *IAM*.







# Kebijakan Bucket untuk Amazon S3
<a name="bucket-policies"></a>

Kebijakan bucket adalah kebijakan berbasis sumber daya yang dapat Anda gunakan untuk memberikan izin akses ke bucket Amazon S3 dan objek di dalamnya. Hanya pemilik bucket yang dapat mengaitkan kebijakan dengan bucket. Izin yang dipasang pada bucket berlaku untuk semua objek di bucket yang dimiliki oleh pemilik bucket. Izin ini tidak berlaku untuk objek yang dimiliki oleh orang lain Akun AWS.

S3 Object Ownership adalah setelan tingkat ember Amazon S3 yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket Anda dan untuk menonaktifkan atau mengaktifkan daftar kontrol akses (). ACLs Secara default, Kepemilikan Objek disetel ke setelan diberlakukan pemilik Bucket dan semuanya ACLs dinonaktifkan. Pemilik bucket memiliki semua objek di bucket dan mengelola akses ke data secara eksklusif menggunakan kebijakan.

Kebijakan bucket menggunakan bahasa kebijakan berbasis JSON AWS Identity and Access Management (IAM). Anda dapat menggunakan kebijakan bucket untuk menambah atau menolak izin objek dalam bucket. Kebijakan bucket dapat mengizinkan atau menolak permintaan berdasarkan elemen dalam kebijakan. Elemen-elemen ini termasuk pemohon, tindakan S3, sumber daya, dan aspek atau kondisi permintaan (seperti alamat IP yang digunakan untuk membuat permintaan). 

Misalnya, Anda dapat membuat kebijakan bucket yang melakukan langkah berikut: 
+ Berikan izin lintas akun lainnya untuk mengunggah objek ke bucket S3 Anda
+ Memastikan bahwa Anda, pemilik bucket, memiliki kendali penuh atas objek yang diunggah

Untuk informasi selengkapnya, lihat [Contoh kebijakan bucket Amazon S3](example-bucket-policies.md).

**penting**  
Anda tidak dapat menggunakan kebijakan bucket untuk mencegah penghapusan atau transisi oleh aturan Siklus Hidup [S3](object-lifecycle-mgmt.md). Misalnya, meskipun kebijakan bucket Anda menolak semua tindakan untuk semua prinsipal, konfigurasi Siklus Hidup S3 Anda tetap berfungsi seperti biasa.

Topik di bagian ini memberikan contoh dan menunjukkan cara menambahkan kebijakan bucket di konsol S3. Untuk informasi tentang kebijakan berbasis identitas, lihat. [Kebijakan berbasis identitas untuk Amazon S3](security_iam_id-based-policy-examples.md) Untuk informasi tentang bahasa kebijakan bucket, lihat [Kebijakan dan izin di Amazon S3](access-policy-language-overview.md).

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

**Topics**
+ [Menambahkan kebijakan bucket dengan menggunakan konsol Amazon S3](add-bucket-policy.md)
+ [Megendalikan akses dari titik akhir VPC dengan kebijakan bucket](example-bucket-policies-vpc-endpoint.md)
+ [Contoh kebijakan bucket Amazon S3](example-bucket-policies.md)
+ [Contoh kebijakan bucket menggunakan tombol kondisi](amazon-s3-policy-keys.md)

# Menambahkan kebijakan bucket dengan menggunakan konsol Amazon S3
<a name="add-bucket-policy"></a>

Anda dapat menggunakan [Pembuat Kebijakan AWS](https://aws.amazon.com/blogs/aws/aws-policy-generator/) dan konsol Amazon S3 untuk menambahkan kebijakan bucket baru, atau mengedit kebijakan bucket yang sudah ada. Kebijakan bucket adalah kebijakan berbasis sumber daya AWS Identity and Access Management (IAM). Anda menambahkan kebijakan bucket ke bucket untuk memberikan izin akses kepada pengguna lain Akun AWS atau IAM untuk bucket dan objek di dalamnya. Izin objek hanya berlaku untuk objek yang dibuat oleh pemilik bucket. Untuk informasi lebih lanjut tentang kebijakan bucket, lihat [Identity and Access Management untuk Amazon S3](security-iam.md).

Pastikan Anda menyelesaikan peringatan keamanan, kesalahan, peringatan umum, dan saran dari AWS Identity and Access Management Access Analyzer sebelum Anda menyimpan kebijakan Anda. Penganalisis Akses IAM menjalankan pemeriksaan kebijakan untuk memvalidasi kebijakan Anda terhadap [tata bahasa kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html) IAM dan [praktik terbaik](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). Pemeriksaan ini menghasilkan temuan dan memberikan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang fungsional dan sesuai dengan praktik terbaik keamanan. Untuk mempelajari validasi kebijakan menggunakan Penganalisis Akses IAM lebih lanjut, lihat [Memvalidasi kebijakan Penganalisis Akses IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) di *Panduan Pengguna IAM*. Untuk melihat daftar peringatan, kesalahan, dan saran yang ditampilkan oleh Penganalisis Akses IAM, lihat referensi pemeriksaan kebijakan [Penganalisis Akses IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html).

Untuk panduan tentang pemecahan masalah kesalahan dengan kebijakan, lihat. [Memecahkan masalah kesalahan akses ditolak (403 Forbidden) di Amazon S3](troubleshoot-403-errors.md)

**Untuk membuat atau mengedit kebijakan bucket**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih Bucket **tujuan umum atau ember** **Direktori**.

1. Dalam daftar bucket, pilih nama bucket yang ingin Anda buat kebijakan bucket atau kebijakan bucket yang ingin Anda edit.

1. Pilih tab **Izin**.

1. Di Bawah **Kebijakan bucket**, pilih **Edit**. Halaman **Edit kebijakan bucket** akan muncul.

1. Di halaman **Edit kebijakan bucket**, lakukan salah satu hal berikut: 
   + Untuk melihat contoh kebijakan bucket, pilih **Contoh kebijakan**. Atau lihat [Contoh kebijakan bucket Amazon S3](example-bucket-policies.md) di *Panduan Pengguna Amazon S3*.
   + Untuk membuat kebijakan secara otomatis, atau mengedit JSON di bagian **Kebijakan**, pilih **Pembuat kebijakan**.

   Jika Anda memilih **Policy Generator**, AWS Policy Generator akan terbuka di jendela baru.

   1. Pada halaman **AWS Pembuat Kebijakan**, untuk **Pilih Jenis Kebijakan**, pilih **Kebijakan Bucket S3**.

   1. Tambahkan pernyataan dengan memasukkan informasi di bidang yang disediakan, lalu pilih **Tambah Pernyataan**. Ulangi langkah ini sebanyak jumlah pernyataan yang ingin Anda tambahkan. Untuk informasi selengkapnya tentang persyaratan kebijakan, lihat [Referensi kebijakan IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) di *Panduan Pengguna IAM*. 
**catatan**  
Untuk kenyamanan Anda, halaman **Edit kebijakan bucket** menampilkan **Bucket ARN** (Nama Sumber Daya Amazon) dari bucket saat ini di atas bidang teks **Kebijakan**. Anda dapat menyalin ARN ini untuk digunakan dalam pernyataan di halaman **Pembuat Kebijakan AWS **. 

   1. Setelah Anda selesai menambahkan pernyataan, pilih **Buat Kebijakan**.

   1. Salin teks kebijakan yang dihasilkan, pilih **Tutup**, dan kembali ke halaman **Edit kebijakan bucket** di konsol Amazon S3.

1. Di kotak **Kebijakan**, edit kebijakan yang ada atau tempel kebijakan bucket dari AWS Policy Generator. Pastikan peringatan keamanan, kesalahan, peringatan umum, dan saran telah ditangani sebelum menyimpan kebijakan.
**catatan**  
Kebijakan bucket dibatasi hingga ukuran 20 KB.

1. (Opsional) Pilih **Pratinjau akses eksternal** di sudut kanan bawah untuk melihat bagaimana kebijakan baru memengaruhi publik dan akses lintas akun ke sumber daya Anda. Sebelum Anda menyimpan kebijakan Anda, Anda dapat memeriksa apakah itu memperkenalkan temuan Penganalisa Akses IAM baru atau menyelesaikan temuan yang ada. Jika Anda tidak melihat penganalisis aktif, pilih **Buka Penganalisis Akses** untuk [membuat penganalisis akun](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#access-analyzer-enabling) di Penganalisis Akses IAM. Untuk informasi selengkapnya, lihat [Pratinjau akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-access-preview.html) dalam *Panduan Pengguna IAM*. 

1. Pilih **Simpan perubahan**, yang mengembalikan Anda ke tab **Izin**. 

# Megendalikan akses dari titik akhir VPC dengan kebijakan bucket
<a name="example-bucket-policies-vpc-endpoint"></a>

Anda dapat menggunakan kebijakan bucket Amazon S3 untuk mengontrol akses ke bucket dari titik akhir virtual private cloud (VPC) tertentu atau spesifik. VPCs Bagian ini berisi contoh kebijakan bucket yang dapat Anda gunakan untuk mengontrol akses bucket Amazon S3 dari titik akhir VPC. Untuk mempelajari cara mengatur titik akhir VPC, lihat [Titik Akhir VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) dalam *Panduan Pengguna VPC*. 

VPC memungkinkan Anda meluncurkan AWS sumber daya ke jaringan virtual yang Anda tentukan. Endpoint VPC memungkinkan Anda membuat koneksi pribadi antara VPC Anda dan VPC lainnya. Layanan AWS Koneksi pribadi ini tidak memerlukan akses melalui internet, melalui koneksi jaringan pribadi virtual (VPN), melalui instance NAT, atau melalui Direct Connect. 

Titik akhir VPC untuk Amazon S3 adalah entitas logika dalam VPC yang memungkinkan konektivitas hanya ke Amazon S3. Rute titik akhir VPC mengarahkan permintaan ke Amazon S3 dan mengarahkan respons kembali ke VPC. Titik akhir VPC hanya mengubah bagaimana permintaan diarahkan. Titik akhir publik Amazon S3 dan nama DNS akan terus bekerja dengan titik akhir VPC. *Untuk informasi penting tentang penggunaan titik akhir VPC dengan Amazon S3, lihat Titik akhir Gateway dan [titik akhir Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html) [untuk Amazon S3](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html) di Panduan Pengguna VPC.* 

Titik akhir VPC untuk Amazon S3 menyediakan dua cara untuk mengontrol akses ke data Amazon S3 Anda: 
+ Anda dapat mengontrol permintaan, pengguna, atau grup yang diizinkan melalui titik akhir VPC tertentu. *Untuk informasi tentang jenis kontrol akses ini, lihat [Mengontrol akses ke titik akhir VPC menggunakan kebijakan titik akhir di](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) Panduan Pengguna VPC.*
+ Anda dapat mengontrol titik akhir VPCs atau VPC mana yang memiliki akses ke bucket Anda dengan menggunakan kebijakan bucket Amazon S3. Untuk contoh jenis kontrol akses kebijakan bucket seperti ini, lihat topik-topik yang membahas tentang pembatasan akses.

**Topics**
+ [Membatasi akses ke titik akhir VPC kustom](#example-bucket-policies-restrict-accesss-vpc-endpoint)
+ [Membatasi Akses ke VPC Tertentu](#example-bucket-policies-restrict-access-vpc)
+ [Membatasi akses ke titik akhir IPv6 VPC](#example-bucket-policies-ipv6-vpc-endpoint)

**penting**  
Saat menerapkan kebijakan bucket Amazon S3 untuk titik akhir VPC yang dijelaskan di bagian ini, Anda dapat memblokir akses ke bucket secara tidak sengaja. Izin bucket yang dimaksudkan untuk secara kustom membatasi akses bucket ke koneksi yang berasal dari titik akhir VPC Anda dapat memblokir semua koneksi ke bucket tersebut. Untuk informasi tentang cara memperbaiki masalah ini, lihat [Bagaimana cara memperbaiki kebijakan bucket saya jika memiliki ID titik akhir VPC atau VPC yang salah](https://aws.amazon.com/premiumsupport/knowledge-center/s3-regain-access/)? di *pusat AWS Dukungan pengetahuan*.

## Membatasi akses ke titik akhir VPC kustom
<a name="example-bucket-policies-restrict-accesss-vpc-endpoint"></a>

Berikut ini adalah contoh kebijakan bucket Amazon S3 yang membatasi akses ke bucket tertentu, `awsexamplebucket1`, hanya dari titik akhir VPC dengan ID `vpce-1a2b3c4d`. Jika titik akhir yang ditentukan tidak digunakan, kebijakan menolak semua akses ke bucket. `aws:SourceVpce`Kondisi menentukan titik akhir. `aws:SourceVpce`Kondisi ini tidak memerlukan Nama Sumber Daya Amazon (ARN) untuk sumber daya titik akhir VPC, hanya ID titik akhir VPC. Untuk informasi lebih lanjut tentang penggunaan kondisi dalam kebijakan, lihat [Contoh kebijakan bucket menggunakan tombol kondisi](amazon-s3-policy-keys.md).

**penting**  
Sebelum menggunakan kebijakan contoh berikut ini, ganti ID titik akhir VPC dengan nilai yang sesuai untuk kasus penggunaan Anda. Jika tidak, Anda tidak akan dapat mengakses bucket Anda.
Kebijakan ini menonaktifkan akses konsol ke bucket yang ditentukan karena permintaan konsol tidak berasal dari titik akhir VPC yang ditentukan.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Policy1415115909152",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpce": "vpce-0abcdef1234567890"
         }
       }
     }
   ]
}
```

------

## Membatasi Akses ke VPC Tertentu
<a name="example-bucket-policies-restrict-access-vpc"></a>

Anda dapat membuat kebijakan bucket yang membatasi akses ke VPC tertentu dengan menggunakan kondisi `aws:SourceVpc` tersebut. Hal ini berguna jika Anda memiliki beberapa titik akhir VPC yang dikonfigurasi dalam VPC yang sama, dan Anda ingin mengelola akses ke bucket Amazon S3 Anda untuk semua titik akhir Anda. Berikut ini adalah contoh kebijakan yang menolak akses ke `awsexamplebucket1` dan objeknya dari siapa pun di luar VPC`vpc-111bbb22`. Jika VPC yang ditentukan tidak digunakan, kebijakan menolak semua akses ke bucket. Pernyataan ini tidak memberikan akses ke bucket. Untuk memberikan akses, Anda harus menambahkan `Allow` pernyataan terpisah. Kunci `vpc-111bbb22` kondisi tidak memerlukan ARN untuk sumber daya VPC, hanya ID VPC.

**penting**  
Sebelum menggunakan kebijakan contoh berikut, ganti ID VPC dengan nilai yang sesuai untuk kasus penggunaan Anda. Jika tidak, Anda tidak akan dapat mengakses bucket Anda.
Kebijakan ini menonaktifkan akses konsol ke bucket yang ditentukan karena permintaan konsol tidak berasal dari VPC yang ditentukan.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Policy1415115909153",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPC-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpc": "vpc-1a2b3c4d"
         }
       }
     }
   ]
}
```

------

## Membatasi akses ke titik akhir IPv6 VPC
<a name="example-bucket-policies-ipv6-vpc-endpoint"></a>

Contoh kebijakan berikut menolak semua tindakan Amazon S3 `s3:` () pada *amzn-s3-demo-bucket* bucket dan objeknya, kecuali permintaan tersebut berasal dari titik akhir `vpce-0a1b2c3d4e5f6g` () VPC yang ditentukan dan alamat IP sumber cocok dengan blok CIDR yang disediakan. IPv6 

```
{
   "Version": "2012-10-17", 		 	 	 
   "Id": "Policy1415115909154",
   "Statement": [
     {
       "Sid": "AccessSpecificIPv6VPCEOnly",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpc": "vpc-0a1b2c3d4e5f6g4h2"
         },
        "NotIpAddress": {
          "aws:VpcSourceIp": "2001:db8::/32"
        }
       }
     }
   ]
}
```

Untuk informasi tentang cara membatasi akses ke bucket Anda berdasarkan spesifik IPs atau VPCs, lihat [Bagaimana cara mengizinkan hanya titik akhir atau alamat IP VPC tertentu untuk mengakses bucket Amazon S3 saya](https://repost.aws/knowledge-center/block-s3-traffic-vpc-ip)? di pusat AWS re:Post pengetahuan.

# Contoh kebijakan bucket Amazon S3
<a name="example-bucket-policies"></a>

Dengan kebijakan bucket Amazon S3, Anda dapat mengamankan akses ke objek di bucket, sehingga hanya pengguna dengan izin yang sesuai yang dapat mengaksesnya. Anda bahkan dapat mencegah pengguna yang diautentikasi tanpa izin yang sesuai untuk mengakses sumber daya Amazon S3 Anda.

Bagian ini menyajikan contoh kasus penggunaan umum untuk kebijakan bucket. Kebijakan sampel ini digunakan `amzn-s3-demo-bucket` sebagai nilai sumber daya. Untuk menguji kebijakan ini, ganti `user input placeholders` dengan informasi Anda sendiri (seperti nama bucket Anda). 

Untuk memberikan atau menolak izin ke sekumpulan objek, Anda dapat menggunakan karakter wildcard (`*`) di Amazon Resource Names (ARNs) dan nilai lainnya. Misalnya, Anda dapat mengontrol akses ke grup objek yang dimulai dengan [awalan](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix) umum atau diakhiri dengan ekstensi tertentu, seperti`.html`. 

Untuk informasi selengkapnya tentang bahasa kebijakan AWS Identity and Access Management (IAM), lihat[Kebijakan dan izin di Amazon S3](access-policy-language-overview.md).

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

**catatan**  
Saat menguji izin dengan menggunakan konsol Amazon S3, Anda harus memberikan izin tambahan yang diperlukan konsol—`s3:ListAllMyBuckets`, `s3:GetBucketLocation`, dan. `s3:ListBucket`. Untuk panduan contoh yang memberikan izin kepada pengguna dan menguji izin tersebut dengan menggunakan konsol, lihat. [Mengontrol akses ke bucket dengan kebijakan pengguna](walkthrough1.md)

Sumber daya tambahan untuk membuat kebijakan bucket meliputi:
+ Untuk daftar tindakan kebijakan IAM, sumber daya, dan kunci kondisi yang dapat Anda gunakan saat membuat kebijakan bucket, lihat [Kunci tindakan, sumber daya, dan kondisi untuk Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) S3 di Referensi Otorisasi *Layanan*.
+ Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)
+ Untuk panduan tentang membuat kebijakan S3 Anda, lihat [Menambahkan kebijakan bucket dengan menggunakan konsol Amazon S3](add-bucket-policy.md).
+ Untuk memecahkan masalah kesalahan dengan kebijakan, lihat [Memecahkan masalah kesalahan akses ditolak (403 Forbidden) di Amazon S3](troubleshoot-403-errors.md).

Jika Anda mengalami masalah saat menambahkan atau memperbarui kebijakan, lihat [Mengapa saya mendapatkan kesalahan “Prinsipal tidak valid dalam kebijakan” saat saya mencoba memperbarui kebijakan bucket Amazon S3 saya](https://repost.aws/knowledge-center/s3-invalid-principal-in-policy-error)? di pusat AWS re:Post pengetahuan.

**Topics**
+ [Memberikan izin baca-saja kepada pengguna anonim publik](#example-bucket-policies-anonymous-user)
+ [Membutuhkan enkripsi](#example-bucket-policies-encryption)
+ [Mengelola ember menggunakan kaleng ACLs](#example-bucket-policies-public-access)
+ [Mengelola akses objek dengan penandaan objek](#example-bucket-policies-object-tags)
+ [Mengelola akses objek dengan menggunakan kunci kondisi global](#example-bucket-policies-global-condition-keys)
+ [Mengelola akses sesuai permintaan HTTP atau HTTPS](#example-bucket-policies-HTTP-HTTPS)
+ [Mengelola akses pengguna ke folder tertentu](#example-bucket-policies-folders)
+ [Mengelola akses log akses](#example-bucket-policies-access-logs)
+ [Mengelola akses ke Amazon CloudFront OAI](#example-bucket-policies-cloudfront)
+ [Mengelola akses untuk Lensa Penyimpanan Amazon S3](#example-bucket-policies-lens)
+ [Mengelola izin untuk laporan Inventaris S3, S3 analytics, dan Inventaris S3](#example-bucket-policies-s3-inventory)
+ [Membutuhkan MFA](#example-bucket-policies-MFA)
+ [Mencegah pengguna menghapus objek](#using-with-s3-actions-related-to-bucket-subresources)

## Memberikan izin baca-saja kepada pengguna anonim publik
<a name="example-bucket-policies-anonymous-user"></a>

Anda dapat menggunakan setelan kebijakan untuk memberikan akses ke pengguna anonim publik, yang berguna jika Anda mengonfigurasi bucket sebagai situs web statis. Memberikan akses ke pengguna anonim publik mengharuskan Anda menonaktifkan pengaturan Blokir Akses Publik untuk bucket Anda. Untuk informasi selengkapnya tentang cara melakukannya, dan kebijakan yang diperlukan, lihat[Mengatur izin untuk akses situs web](WebsiteAccessPermissionsReqd.md). Untuk mempelajari cara menyiapkan kebijakan yang lebih ketat untuk tujuan yang sama, [lihat Bagaimana cara memberikan akses baca publik ke beberapa objek di bucket Amazon S3 saya](https://repost.aws/knowledge-center/read-access-objects-s3-bucket)? di pusat AWS pengetahuan.

Secara default, Amazon S3 memblokir akses publik ke akun dan bucket Anda. Jika Anda ingin menggunakan bucket untuk menghosting situs web statis, Anda dapat menggunakan langkah-langkah ini untuk mengedit pengaturan blokir akses publik Anda. 

**Awas**  
Sebelum Anda menyelesaikan langkah-langkah ini, tinjau [Melakukan blok akses publik ke penyimpanan Amazon S3 Anda](access-control-block-public-access.md) untuk memastikan bahwa Anda memahami dan menerima risiko yang terkait dengan mengizinkan akses publik. Saat Anda mematikan pengaturan blokir akses publik untuk membuat bucket Anda menjadi publik, siapa pun di internet dapat mengakses bucket Anda. Kami sarankan agar Anda memblokir semua akses publik ke bucket Anda.

1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Pilih nama bucket yang telah Anda konfigurasikan sebagai situs web statis.

1. Pilih **Izin**.

1. Di bagian bawah **Blokir akses publik (pengaturan bucket)**, pilih **Edit**.

1. Kosongkan **Blokir *semua* akses publik**, lalu pilih **Simpan perubahan**.  
![\[Konsol Amazon S3, menampilkan pengaturan bucket akses publik blok.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/edit-public-access-clear.png)

   Amazon S3 mematikan pengaturan Blokir Akses Publik untuk bucket Anda. Untuk membuat situs web statis publik, Anda mungkin juga harus [mengedit pengaturan Blokir Akses Publik](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/block-public-access-account.html) untuk akun Anda sebelum menambahkan kebijakan bucket. Jika pengaturan Blokir Akses Publik untuk akun Anda saat ini diaktifkan, Anda akan melihat catatan di bawah **Blokir akses publik (pengaturan bucket)**.

## Membutuhkan enkripsi
<a name="example-bucket-policies-encryption"></a>

Anda dapat memerlukan enkripsi sisi server dengan AWS Key Management Service (AWS KMS) kunci (SSE-KMS), seperti yang ditunjukkan pada contoh berikut.

### Membutuhkan SSE-KMS untuk semua objek yang ditulis ke bucket
<a name="example-bucket-policies-encryption-1"></a>

Contoh kebijakan berikut mengharuskan setiap objek yang ditulis ke bucket dienkripsi dengan enkripsi sisi server menggunakan AWS Key Management Service (AWS KMS) keys (SSE-KMS). Jika objek tidak dienkripsi dengan SSE-KMS, permintaan ditolak.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Id": "PutObjPolicy",
"Statement": [{
  "Sid": "DenyObjectsThatAreNotSSEKMS",
  "Principal": "*",
  "Effect": "Deny",
  "Action": "s3:PutObject",
  "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
  "Condition": {
    "Null": {
      "s3:x-amz-server-side-encryption-aws-kms-key-id": "true"
    }
  }
}]
}
```

------

### Memerlukan SSE-KMS dengan spesifik AWS KMS key untuk semua objek yang ditulis ke ember
<a name="example-bucket-policies-encryption-2"></a>

Contoh kebijakan berikut menyangkal objek apa pun ditulis ke bucket jika tidak dienkripsi dengan SSE-KMS dengan menggunakan ID kunci KMS tertentu. Bahkan jika objek dienkripsi dengan SSE-KMS dengan menggunakan header per permintaan atau enkripsi default bucket, objek tidak dapat ditulis ke bucket jika belum dienkripsi dengan kunci KMS yang ditentukan. Pastikan untuk mengganti ARN kunci KMS yang digunakan dalam contoh ini dengan ARN kunci KMS Anda sendiri.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Id": "PutObjPolicy",
"Statement": [{
  "Sid": "DenyObjectsThatAreNotSSEKMSWithSpecificKey",
  "Principal": "*",
  "Effect": "Deny",
  "Action": "s3:PutObject",
  "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
  "Condition": {
    "ArnNotEqualsIfExists": {
      "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef"
    }
  }
}]
}
```

------

## Mengelola ember menggunakan kaleng ACLs
<a name="example-bucket-policies-public-access"></a>

### Memberikan izin ke beberapa akun untuk mengunggah objek atau mengatur objek ACLs untuk akses publik
<a name="example-bucket-policies-acl-1"></a>

Contoh kebijakan berikut memberikan `s3:PutObjectAcl` izin `s3:PutObject` dan ke beberapa. Akun AWS Selain itu, kebijakan contoh mengharuskan setiap permintaan untuk operasi ini harus menyertakan [daftar kontrol akses `public-read` kaleng (ACL)](acl-overview.md#canned-acl). Untuk informasi selengkapnya, lihat [Tindakan kebijakan untuk Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions) dan [Kunci kondisi kebijakan untuk Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys).

**Awas**  
ACL `public-read` terekam memungkinkan siapa pun di dunia untuk melihat objek di bucket Anda. Berhati-hatilah saat memberikan akses anonim ke bucket Amazon S3 Anda atau menonaktifkan pengaturan blokir akses publik. Saat Anda memberikan akses anonim, siapa pun di dunia dapat mengakses bucket Anda. Kami menyarankan Anda untuk tidak pernah memberikan akses anonim ke bucket Amazon S3 Anda kecuali jika Anda secara kustom memerlukannya, seperti [hosting situs web statis](WebsiteHosting.md). Jika Anda ingin mengaktifkan blokir pengaturan akses publik untuk hosting situs web statis, lihat [Tutorial: Mengonfigurasi situs web statis di Amazon](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html) S3.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AddPublicReadCannedAcl",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:root",
                    "arn:aws:iam::444455556666:root"
                ]
            },
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": [
                        "public-read"
                    ]
                }
            }
        }
    ]
}
```

------

### Berikan izin lintas akun untuk unggah objek sekaligus memastikan bahwa pemilik bucket memiliki kendali penuh
<a name="example-bucket-policies-acl-2"></a>

Contoh berikut menunjukkan cara mengizinkan orang lain Akun AWS mengunggah objek ke bucket sambil memastikan bahwa Anda memiliki kendali penuh atas objek yang diunggah. Kebijakan ini memberikan kemampuan spesifik Akun AWS (*`111122223333`*) untuk mengunggah objek hanya jika akun tersebut menyertakan ACL yang `bucket-owner-full-control` dikalengkan saat diunggah. `StringEquals`Kondisi dalam kebijakan tersebut menyebutkan kunci `s3:x-amz-acl` kondisi untuk mengekspresikan persyaratan ACL terekam. Untuk informasi selengkapnya, lihat [Kunci kondisi kebijakan untuk Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys). 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
     {
       "Sid":"PolicyForAllowUploadWithACL",
       "Effect":"Allow",
       "Principal":{"AWS":"111122223333"},
       "Action":"s3:PutObject",
       "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*",
       "Condition": {
         "StringEquals": {"s3:x-amz-acl":"bucket-owner-full-control"}
       }
     }
   ]
}
```

------

## Mengelola akses objek dengan penandaan objek
<a name="example-bucket-policies-object-tags"></a>

### Mengizinkan pengguna untuk membaca objek yang memiliki kunci dan nilai tag spesifik
<a name="example-bucket-policies-tagging-1"></a>

Kebijakan izin berikut membatasi pengguna agar hanya membaca objek yang memiliki kunci dan nilai tag `environment: production`. Kebijakan ini menggunakan kunci kondisi `s3:ExistingObjectTag` untuk menentukan kunci tag dan nilai.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Principal":{
            "AWS":"arn:aws:iam::111122223333:role/JohnDoe"
         },
         "Effect":"Allow",
         "Action":[
            "s3:GetObject",
            "s3:GetObjectVersion"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*",
         "Condition":{
            "StringEquals":{
               "s3:ExistingObjectTag/environment":"production"
            }
         }
      }
   ]
}
```

------

### Batasi kunci tag objek mana yang dapat ditambahkan pengguna
<a name="example-bucket-policies-tagging-2"></a>

Kebijakan contoh berikut memberikan izin pengguna untuk melakukan `s3:PutObjectTagging` tindakan, yang memungkinkan pengguna menambahkan tag ke objek yang sudah ada. Kondisi ini menggunakan kunci kondisi `s3:RequestObjectTagKeys` untuk menentukan kunci tag yang diizinkan, seperti `Owner` atau `CreationDate`. Untuk informasi selengkapnya, lihat [Membuat kondisi yang menguji beberapa nilai kunci](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) dalam *Panduan Pengguna IAM*.

Kebijakan ini memastikan agar setiap kunci tag yang ditentukan dalam permintaan adalah kunci tag yang diotorisasi. Kualifikasi `ForAnyValue` dalam kondisi tersebut memastikan bahwa setidaknya ada satu kunci yang ditentukan dalam permintaan.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
  "Statement": [
    {"Principal":{"AWS":[
            "arn:aws:iam::111122223333:role/JohnDoe"
         ]
       },
 "Effect": "Allow",
      "Action": [
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {"ForAnyValue:StringEquals": {"s3:RequestObjectTagKeys": [
            "Owner",
            "CreationDate"
          ]
        }
      }
    }
  ]
}
```

------

### Memerlukan kunci dan nilai tag spesifik saat mengizinkan pengguna untuk menambahkan tag objek
<a name="example-bucket-policies-tagging-3"></a>

Kebijakan contoh berikut memberikan izin pengguna untuk melakukan `s3:PutObjectTagging` tindakan, yang memungkinkan pengguna menambahkan tag ke objek yang sudah ada. Kondisi ini mengharuskan pengguna untuk menyertakan kunci tag tertentu (seperti `Project`) dengan set nilai ke `X`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
  "Statement": [
    {"Principal":{"AWS":[
       "arn:aws:iam::111122223333:user/JohnDoe"
         ]
       },
      "Effect": "Allow",
      "Action": [
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {"StringEquals": {"s3:RequestObjectTag/Project": "X"
        }
      }
    }
  ]
}
```

------

### Mengizinkan pengguna untuk hanya menambahkan objek dengan kunci dan nilai tag objek tertentu
<a name="example-bucket-policies-tagging-4"></a>

Kebijakan contoh berikut memberikan izin pengguna untuk melakukan `s3:PutObject` tindakan, sehingga pengguna dapat menambahkan tag ke objek yang sudah ada. Namun, `Condition` pernyataan membatasi kunci tag dan nilai yang diizinkan pada objek yang diunggah. Dalam contoh ini, pengguna hanya dapat menambahkan objek yang memiliki kunci tag tertentu (`Department`) dengan nilai yang disetel `Finance` ke bucket.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Principal":{
            "AWS":[
                 "arn:aws:iam::111122223333:user/JohnDoe"
         ]
        },
        "Effect": "Allow",
        "Action": [
            "s3:PutObject"
        ],
        "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
        ],
        "Condition": {
            "StringEquals": {
                "s3:RequestObjectTag/Department": "Finance"
            }
        }
    }]
}
```

------

## Mengelola akses objek dengan menggunakan kunci kondisi global
<a name="example-bucket-policies-global-condition-keys"></a>

[Kunci kondisi global](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html) adalah kunci konteks kondisi dengan `aws` awalan. Layanan AWS dapat mendukung kunci kondisi global atau kunci khusus layanan yang menyertakan awalan layanan. Anda dapat menggunakan `Condition` elemen kebijakan JSON untuk membandingkan kunci dalam permintaan dengan nilai kunci yang Anda tentukan dalam kebijakan Anda.

### Batasi akses hanya ke pengiriman log akses server Amazon S3
<a name="example-bucket-policies-global-condition-keys-1"></a>

Dalam contoh kebijakan bucket berikut, kunci kondisi [https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)global digunakan untuk membandingkan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) sumber daya, membuat service-to-service permintaan dengan ARN yang ditentukan dalam kebijakan. Kunci kondisi `aws:SourceArn` global digunakan untuk mencegah layanan Amazon S3 digunakan sebagai [wakil yang bingung](https://docs.aws.amazon.com//IAM/latest/UserGuide/confused-deputy.html) selama transaksi antar layanan. Hanya layanan Amazon S3 yang diizinkan untuk menambahkan objek ke bucket Amazon S3.

Contoh kebijakan bucket ini hanya memberikan `s3:PutObject` izin kepada pengguna utama layanan logging (`logging.s3.amazonaws.com`). 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutObjectS3ServerAccessLogsPolicy",
            "Principal": {
                "Service": "logging.s3.amazonaws.com"
            },
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-logs/*",
            "Condition": {
                "StringEquals": {
                "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket1"
                }
            }
        },
        {
            "Sid": "RestrictToS3ServerAccessLogs",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-logs/*",
            "Condition": {
                "ForAllValues:StringNotEquals": {
                    "aws:PrincipalServiceNamesList": "logging.s3.amazonaws.com"
                }
            }
        }
    ]
}
```

------

### Izinkan akses hanya ke organisasi Anda
<a name="example-bucket-policies-global-condition-keys-2"></a>

Jika Anda ingin meminta semua [kepala sekolah IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/intro-structure.html#intro-structure-principal) yang mengakses sumber daya berasal dari organisasi Anda (termasuk akun AWS Organizations manajemen), Anda dapat menggunakan kunci kondisi global. Akun AWS `aws:PrincipalOrgID`

Untuk memberikan atau membatasi jenis akses ini, tentukan `aws:PrincipalOrgID` kondisi dan tetapkan nilainya ke [ID organisasi](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_org_details.html) Anda dalam kebijakan bucket. ID organisasi digunakan untuk mengontrol akses ke bucket. Saat Anda menggunakan `aws:PrincipalOrgID` kondisi ini, izin dari kebijakan bucket juga diterapkan ke semua akun baru yang ditambahkan ke organisasi.

Berikut adalah contoh kebijakan bucket berbasis sumber daya yang dapat Anda gunakan untuk memberikan pengguna utama IAM tertentu di organisasi Anda akses langsung ke bucket Anda. Dengan menambahkan kunci kondisi `aws:PrincipalOrgID` global ke kebijakan bucket Anda, pengguna utama sekarang harus berada di organisasi Anda untuk mendapatkan akses ke sumber daya. Bahkan jika Anda secara tidak sengaja menentukan akun yang salah saat memberikan akses, [kunci kondisi aws:PrincipalOrgID global](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid) bertindak sebagai perlindungan tambahan. Ketika kunci global ini digunakan dalam kebijakan, ini mencegah semua pengguna utama dari luar organisasi tertentu mengakses bucket S3. Hanya pengguna utama dari akun di organisasi yang terdaftar yang dapat memperoleh akses ke sumber daya.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "AllowGetObject",
        "Principal": {
            "AWS": "*"
        },
        "Effect": "Allow",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
        "Condition": {
            "StringEquals": {
                "aws:PrincipalOrgID": ["o-aa111bb222"]
            }
        }
    }]
}
```

------

## Mengelola akses sesuai permintaan HTTP atau HTTPS
<a name="example-bucket-policies-HTTP-HTTPS"></a>

### Batasi Akses Hanya ke Permintaan HTTPS
<a name="example-bucket-policies-use-case-HTTP-HTTPS-1"></a>

Jika Anda ingin mencegah penyerang potensial memanipulasi lalu lintas jaringan, Anda dapat menggunakan HTTPS (TLS) untuk hanya mengizinkan koneksi terenkripsi sambil membatasi permintaan HTTP mengakses bucket Anda. Untuk menentukan apakah permintaan tersebut HTTP atau HTTPS, gunakan kunci kondisi [https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-securetransport](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-securetransport)global dalam kebijakan bucket S3 Anda. Kunci `aws:SecureTransport` kondisi memeriksa apakah permintaan dikirim dengan menggunakan HTTP.

Jika permintaan kembali`true`, maka permintaan dikirim melalui HTTPS. Jika permintaan kembali`false`, maka permintaan dikirim melalui HTTP. Anda kemudian dapat mengizinkan atau menolak akses ke bucket Anda berdasarkan skema permintaan yang diinginkan.

Dalam contoh berikut, kebijakan bucket secara eksplisit menolak permintaan HTTP. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "RestrictToTLSRequestsOnly",
        "Action": "s3:*",
        "Effect": "Deny",
        "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket",
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
        ],
        "Condition": {
            "Bool": {
                "aws:SecureTransport": "false"
            }
        },
        "Principal": "*"
    }]
}
```

------

### Membatasi akses ke suatu Wilayah tertentu
<a name="example-bucket-policies-HTTP-HTTPS-2"></a>

Misalkan Anda memiliki situs web dengan nama domain *`www.example.com`* atau *`example.com`* dengan tautan ke foto dan video yang disimpan di bucket Anda bernama `amzn-s3-demo-bucket`. Secara default, semua sumber daya Amazon S3 bersifat pribadi, jadi hanya Akun AWS yang membuat sumber daya yang dapat mengaksesnya. 

Untuk mengizinkan akses baca ke objek ini dari situs web Anda, Anda dapat menambahkan kebijakan bucket yang mengizinkan `s3:GetObject` izin dengan syarat `GET` permintaan harus berasal dari halaman web tertentu. Kebijakan berikut membatasi permintaan dengan menggunakan `StringLike` kondisi dengan kunci `aws:Referer` kondisi.

Pastikan browser yang Anda gunakan menyertakan `referer` header HTTP dalam permintaan.

**Awas**  
Sebaiknya Anda berhati-hati saat menggunakan tombol `aws:Referer` kondisi. Menyertakan nilai header perujuk HTTP yang diketahui publik sangat berbahaya. Pihak yang tidak berwenang dapat menggunakan browser yang diubah atau disesuaikan untuk menyediakan nilai `aws:Referer` yang mereka pilih. Oleh karena itu, jangan gunakan `aws:Referer` untuk mencegah pihak yang tidak berwenang membuat AWS permintaan langsung.   
Kunci `aws:Referer` kondisi ditawarkan hanya untuk memungkinkan pelanggan melindungi konten digital mereka, seperti konten yang disimpan di Amazon S3, agar tidak dirujuk di situs pihak ketiga yang tidak sah. Untuk informasi lebih lanjut, lihat [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-referer](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-referer) dalam *Panduan Pengguna IAM*.

## Mengelola akses pengguna ke folder tertentu
<a name="example-bucket-policies-folders"></a>

### memberikan pengguna akses ke folder tertentu
<a name="example-bucket-policies-folders-1"></a>

Misalkan Anda mencoba memberikan pengguna akses ke folder tertentu. Jika pengguna IAM dan bucket S3 milik yang sama Akun AWS, maka Anda dapat menggunakan kebijakan IAM untuk memberikan akses pengguna ke folder bucket tertentu. Dengan pendekatan ini, Anda tidak perlu memperbarui kebijakan bucket untuk memberikan akses. Anda dapat menambahkan kebijakan IAM ke peran IAM yang dapat dialihkan oleh beberapa pengguna. 

Jika identitas IAM dan bucket S3 milik yang berbeda Akun AWS, maka Anda harus memberikan akses lintas akun baik dalam kebijakan IAM maupun kebijakan bucket. Untuk informasi selengkapnya tentang pemberian akses lintas akun, lihat [Pemilik bucket yang memberikan izin bucket lintas](https://docs.aws.amazon.com//AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html) akun.

Contoh kebijakan bucket berikut memberikan akses konsol `JohnDoe` penuh hanya ke foldernya (`home/JohnDoe/`). Dengan membuat `home` folder dan memberikan izin yang sesuai kepada pengguna, Anda dapat meminta beberapa pengguna berbagi satu bucket. Kebijakan ini terdiri dari tiga `Allow` pernyataan:
+ `AllowRootAndHomeListingOfCompanyBucket`: Memungkinkan user (`JohnDoe`) untuk daftar objek di tingkat root `amzn-s3-demo-bucket` bucket dan di `home` folder. Pernyataan ini juga memungkinkan pengguna untuk mencari pada prefiks `home/` dengan menggunakan konsol.
+ `AllowListingOfUserFolder`: Memungkinkan user (`JohnDoe`) untuk daftar semua objek dalam `home/JohnDoe/` folder dan subfolder apapun.
+ `AllowAllS3ActionsInUserFolder`: Memungkinkan pengguna untuk melakukan semua tindakan Amazon S3 dengan memberikan `Read`, `Write`, dan izin `Delete`. Izin terbatas pada folder beranda pemilik bucket.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRootAndHomeListingOfCompanyBucket",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/JohnDoe"
                ]
            },
            "Effect": "Allow",
            "Action": ["s3:ListBucket"],
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"],
            "Condition": {
                "StringEquals": {
                    "s3:prefix": ["", "home/", "home/JohnDoe"],
                    "s3:delimiter": ["/"]
                }
            }
        },
        {
            "Sid": "AllowListingOfUserFolder",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/JohnDoe"
                ]
            },
            "Action": ["s3:ListBucket"],
            "Effect": "Allow",
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"],
            "Condition": {
                "StringLike": {
                    "s3:prefix": ["home/JohnDoe/*"]
                }
            }
        },
        {
            "Sid": "AllowAllS3ActionsInUserFolder",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/JohnDoe"
                ]
            },
            "Action": ["s3:*"],
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/home/JohnDoe/*"]
        }
    ]
}
```

------

## Mengelola akses log akses
<a name="example-bucket-policies-access-logs"></a>

### Berikan akses ke Penyeimbang Beban Aplikasi untuk mengaktifkan log akses
<a name="example-bucket-policies-access-logs-1"></a>

[Saat Anda mengaktifkan pencatatan akses untuk Penyeimbang Beban Aplikasi, Anda harus menentukan nama bucket S3 tempat penyeimbang beban akan menyimpan log.](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/enable-access-logging.html#access-log-create-bucket) Bucket harus memiliki [kebijakan terlampir](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/enable-access-logging.html#attach-bucket-policy) yang memberikan izin Elastic Load Balancing untuk menulis ke bucket.

Pada contoh berikut, kebijakan bucket memberikan izin Elastic Load Balancing (ELB) untuk menulis log akses ke bucket:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/111122223333/*"
        }
    ]
}
```

------

**catatan**  
Pastikan untuk mengganti `elb-account-id` dengan Akun AWS ID untuk Elastic Load Balancing untuk Anda. Wilayah AWS Untuk daftar Wilayah Elastic Load Balancing, lihat [Melampirkan kebijakan ke bucket Amazon S3 Anda](https://docs.aws.amazon.com//elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) di Panduan Pengguna *Elastic Load Balancing*.

Jika Anda Wilayah AWS tidak muncul di daftar Wilayah Elastic Load Balancing yang didukung, gunakan kebijakan berikut, yang memberikan izin ke layanan pengiriman log yang ditentukan.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
       "Principal": {
         "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
          },
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/111122223333/*"
    }
  ]
}
```

------

Kemudian, pastikan untuk mengonfigurasi [log akses Elastic Load Balancing](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/enable-access-logging.html#enable-access-logs) Anda dengan mengaktifkannya. Anda dapat [memverifikasi izin bucket](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/enable-access-logging.html#verify-bucket-permissions) dengan membuat file pengujian.

## Mengelola akses ke Amazon CloudFront OAI
<a name="example-bucket-policies-cloudfront"></a>

### Berikan izin ke Amazon CloudFront OAI
<a name="example-bucket-policies-cloudfront-1"></a>

Contoh kebijakan bucket berikut memberikan izin identitas akses CloudFront asal (OAI) untuk mendapatkan (membaca) semua objek di bucket S3 Anda. Anda dapat menggunakan CloudFront OAI untuk memungkinkan pengguna mengakses objek di bucket Anda CloudFront tetapi tidak secara langsung melalui Amazon S3. Untuk informasi selengkapnya, lihat [Membatasi akses ke konten Amazon S3 menggunakan Identitas Akses Asal](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) di Panduan Pengembang * CloudFront Amazon*.

Kebijakan berikut menggunakan ID OAI sebagai `Principal`. *Untuk informasi selengkapnya tentang menggunakan kebijakan bucket S3 guna memberikan akses ke CloudFront OAI, lihat [Memigrasi dari identitas akses asal (OAI) ke kontrol akses asal (OAC) di Panduan Pengembang Amazon](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#migrate-from-oai-to-oac). CloudFront *

Untuk menggunakan contoh ini:
+ Ganti `EH1HDMB1FH2TC` dengan ID OAI. Untuk menemukan ID OAI, lihat [halaman Origin Access Identity](https://console.aws.amazon.com/cloudfront/home?region=us-east-1#oai:) di CloudFront konsol, atau gunakan [https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListCloudFrontOriginAccessIdentities.html](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListCloudFrontOriginAccessIdentities.html)di CloudFront API.
+ Ganti `amzn-s3-demo-bucket` dengan nama bucket Anda.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity EH1HDMB1FH2TC"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

## Mengelola akses untuk Lensa Penyimpanan Amazon S3
<a name="example-bucket-policies-lens"></a>

### Berikan Izin untuk Lensa Penyimpanan Amazon S3
<a name="example-bucket-policies-lens-1"></a>

Lensa Penyimpanan S3 menggabungkan metrik Anda dan menampilkan informasi di bagian **Snapshot akun** di halaman **Bucket** konsol Amazon S3. S3 Storage Lens juga menyediakan dasbor interaktif yang dapat Anda gunakan untuk memvisualisasikan wawasan dan tren, menandai outlier, dan menerima rekomendasi untuk mengoptimalkan biaya penyimpanan dan menerapkan praktik terbaik perlindungan data. Dasbor Anda memiliki opsi penelusuran untuk menghasilkan dan memvisualisasikan wawasan di tingkat grup organisasi, akun, kelas penyimpanan, bucket Wilayah AWS, awalan, atau Storage Lens. Anda juga dapat mengirim laporan metrik harian dalam CSV atau Parquet format ke bucket S3 tujuan umum atau mengekspor metrik langsung ke bucket tabel S3 yang AWS dikelola.

Lensa Penyimpanan S3 dapat mengekspor metrik penggunaan penyimpanan gabungan Anda ke bucket Amazon S3 untuk analisis lebih lanjut. *Bucket tempat Lensa Penyimpanan S3 menempatkan ekspor metrik nya dikenal sebagai bucket tujuan.* Saat mengatur ekspor metrik Lensa Penyimpanan S3, Anda harus memiliki kebijakan bucket untuk bucket tujuan. Untuk informasi selengkapnya, lihat [Memantau aktivitas penyimpanan dan penggunaan Anda dengan Amazon S3 Storage Lens](storage_lens.md).

Contoh kebijakan bucket berikut memberikan kepada Amazon S3 izin untuk tulis objek `PUT` (permintaan) ke bucket tujuan. Anda menggunakan kebijakan bucket seperti ini pada bucket tujuan saat membuat pengaturan ekspor metrik Lensa Penyimpanan S3.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3StorageLensExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "storage-lens.s3.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/destination-prefix/StorageLens/111122223333/*"
            ],
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control",
                    "aws:SourceAccount": "111122223333",
                    "aws:SourceArn": "arn:aws:s3:region-code:111122223333:storage-lens/storage-lens-dashboard-configuration-id"
                }
            }
        }
    ]
}
```

------

Saat Anda menyiapkan ekspor metrik tingkat organisasi Lensa Penyimpanan S3, gunakan modifikasi berikut pada pernyataan `Resource` kebijakan bucket sebelumnya.

```
1. "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/destination-prefix/StorageLens/your-organization-id/*",
```

## Mengelola izin untuk laporan Inventaris S3, S3 analytics, dan Inventaris S3
<a name="example-bucket-policies-s3-inventory"></a>

### Berikan izin untuk Inventaris S3 dan analitik S3
<a name="example-bucket-policies-s3-inventory-1"></a>

S3 Inventaris membuat daftar objek dalam bucket, dan ekspor Analisis Kelas Penyimpanan analitik S3 membuat file output dari data yang digunakan dalam analisis. Bucket tempat inventaris mencantumkan objek disebut *bucket sumber*. Bucket tempat file inventaris atau file ekspor analitik ditulis disebut *bucket tujuan*. Saat membuat inventaris atau ekspor analitik, Anda harus membuat kebijakan bucket untuk bucket tujuan. Untuk informasi selengkapnya, lihat [Membuat katalog dan menganalisis data Anda dengan S3 Inventory](storage-inventory.md) dan [Analitik Amazon S3–Analisis Kelas Penyimpanan](analytics-storage-class.md).

Contoh kebijakan bucket berikut memberikan kepada Amazon S3 izin untuk menulis objek `PUT` (permintaan) dari akun untuk bucket sumber ke bucket tujuan. Anda menggunakan kebijakan bucket seperti ini pada bucket tujuan saat menyiapkan S3 Inventory, dan ekspor analitik S3.

------
#### [ JSON ]

****  

```
{  
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
            "Sid": "InventoryAndAnalyticsExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": [
            "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ],
            "Condition": {
                "ArnLike": {
                "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket"
                },
                "StringEquals": {
                    "aws:SourceAccount": "111122223333",
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

### Kontrol pembuatan konfigurasi laporan Inventaris S3
<a name="example-bucket-policies-s3-inventory-2"></a>

[Membuat katalog dan menganalisis data Anda dengan S3 Inventory](storage-inventory.md)membuat daftar objek dalam bucket S3 dan metadata untuk setiap objek. `s3:PutInventoryConfiguration`Izin ini memungkinkan pengguna untuk membuat konfigurasi inventaris yang mencakup semua bidang metadata objek yang tersedia secara default dan menentukan bucket tujuan untuk menyimpan inventaris. Pengguna dengan akses baca ke objek di bucket tujuan dapat mengakses semua bidang metadata objek yang tersedia dalam laporan inventaris. Untuk informasi selengkapnya tentang bidang metadata yang tersedia di Inventaris S3, lihat. [Daftar Inventaris Amazon S3](storage-inventory.md#storage-inventory-contents)

Untuk membatasi pengguna mengonfigurasi laporan Inventaris S3, hapus `s3:PutInventoryConfiguration` izin dari pengguna.

Beberapa bidang metadata objek dalam konfigurasi laporan Inventaris S3 bersifat opsional, artinya mereka tersedia secara default tetapi dapat dibatasi saat Anda memberikan izin kepada pengguna. `s3:PutInventoryConfiguration` Anda dapat mengontrol apakah pengguna dapat menyertakan bidang metadata opsional ini dalam laporan mereka dengan menggunakan kunci `s3:InventoryAccessibleOptionalFields` kondisi. Untuk daftar bidang metadata opsional yang tersedia di S3 Inventory, lihat [https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html#API_PutBucketInventoryConfiguration_RequestBody](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html#API_PutBucketInventoryConfiguration_RequestBody)di Referensi API *Amazon Simple Storage Service*.

Untuk memberikan izin kepada pengguna untuk membuat konfigurasi inventaris dengan bidang metadata opsional tertentu, gunakan kunci `s3:InventoryAccessibleOptionalFields` kondisi untuk menyempurnakan kondisi dalam kebijakan bucket Anda. 

Contoh kebijakan berikut memberikan izin kepada pengguna (`Ana`) untuk membuat konfigurasi inventaris secara kondisional. `ForAllValues:StringEquals`Kondisi dalam kebijakan menggunakan kunci `s3:InventoryAccessibleOptionalFields` kondisi untuk menentukan dua bidang metadata opsional yang diizinkan, yaitu `Size` dan. `StorageClass` Jadi, saat `Ana` membuat konfigurasi inventaris, satu-satunya bidang metadata opsional yang dapat dia sertakan adalah `Size` dan. `StorageClass` 

------
#### [ JSON ]

****  

```
{
	"Id": "InventoryConfigPolicy",
	"Version":"2012-10-17",		 	 	 
	"Statement": [{
			"Sid": "AllowInventoryCreationConditionally",
			"Effect": "Allow",			
			"Principal": {
				"AWS": "arn:aws:iam::111122223333:user/Ana"
			},			
			"Action": 
				"s3:PutInventoryConfiguration",
			"Resource": 
				"arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET",
			"Condition": {
				"ForAllValues:StringEquals": {
					"s3:InventoryAccessibleOptionalFields": [
					   "Size",
					   "StorageClass"
					   ]
				  }
				}
			}
	]
}
```

------

Untuk membatasi pengguna mengonfigurasi laporan Inventaris S3 yang menyertakan bidang metadata opsional tertentu, tambahkan `Deny` pernyataan eksplisit ke kebijakan bucket untuk bucket sumber. Contoh kebijakan bucket berikut menyangkal pengguna `Ana` membuat konfigurasi inventaris di bucket sumber `amzn-s3-demo-source-bucket` yang menyertakan bidang opsional `ObjectAccessControlList` atau `ObjectOwner` metadata. Pengguna masih `Ana` dapat membuat konfigurasi inventaris dengan bidang metadata opsional lainnya.

```
 1. {
 2. 	"Id": "InventoryConfigSomeFields",
 3. 	"Version": "2012-10-17",		 	 	 
 4. 	"Statement": [{
 5. 			"Sid": "AllowInventoryCreation",
 6. 			"Effect": "Allow",
 7. 			"Principal": {
 8. 				"AWS": "arn:aws:iam::111122223333:user/Ana"
 9. 			},
10. 			"Action": "s3:PutInventoryConfiguration",			
11. 			"Resource": 
12. 				"arn:aws:s3:::amzn-s3-demo-source-bucket",
13. 
14. 		},
15. 		{
16. 			"Sid": "DenyCertainInventoryFieldCreation",
17. 			"Effect": "Deny",
18. 			"Principal": {
19. 				"AWS": "arn:aws:iam::111122223333:user/Ana"
20. 			},
21. 			"Action": "s3:PutInventoryConfiguration",	
22. 			"Resource": 
23. 			  "arn:aws:s3:::amzn-s3-demo-source-bucket",			
24. 			"Condition": {
25. 				"ForAnyValue:StringEquals": {
26. 					"s3:InventoryAccessibleOptionalFields": [
27. 					   "ObjectOwner",
28. 					   "ObjectAccessControlList"
29. 					   ]
30. 				  }
31. 				}
32. 			}
33. 	]
34. }
```

**catatan**  
Penggunaan kunci `s3:InventoryAccessibleOptionalFields` kondisi dalam kebijakan bucket tidak memengaruhi pengiriman laporan inventaris berdasarkan konfigurasi inventaris yang ada. 

**penting**  
Kami menyarankan Anda menggunakan `ForAllValues` dengan `Allow` efek atau `ForAnyValue` dengan `Deny` efek, seperti yang ditunjukkan pada contoh sebelumnya.  
Jangan gunakan `ForAllValues` dengan `Deny` efek atau `ForAnyValue` `Allow` efek, karena kombinasi ini bisa terlalu membatasi dan memblokir penghapusan konfigurasi inventaris.  
Untuk mempelajari selengkapnya tentang operator set `ForAllValues` dan `ForAnyValue` kondisi, lihat [Kunci konteks Multivalued](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html#reference_policies_condition-multi-valued-context-keys) di Panduan Pengguna *IAM*.

## Membutuhkan MFA
<a name="example-bucket-policies-MFA"></a>

Amazon S3 mendukung akses API yang dilindungi MFA, sebuah fitur yang dapat memberlakukan autentikasi multi-faktor (MFA) untuk mengakses sumber daya Amazon S3. Otentikasi multi-faktor memberikan tingkat keamanan ekstra yang dapat Anda terapkan ke lingkungan Anda AWS . MFA adalah fitur keamanan yang mengharuskan pengguna membuktikan kepemilikan fisik perangkat MFA dengan menyediakan kode MFA yang valid. Untuk informasi selengkapnya, lihat [Autentikasi Multi-Faktor AWS](https://aws.amazon.com/mfa/). Anda dapat mewajibkan MFA untuk setiap permintaan akses sumber daya Amazon S3. 

Untuk memberlakukan persyaratan MFA, gunakan kunci kondisi `aws:MultiFactorAuthAge` dalam kebijakan bucket. Pengguna IAM dapat mengakses sumber daya Amazon S3 dengan menggunakan kredensyal sementara yang dikeluarkan oleh (). AWS Security Token Service AWS STS Anda memberikan kode MFA pada saat permintaan AWS STS . 

Saat Amazon S3 menerima permintaan dengan autentikasi multi-faktor, kunci `aws:MultiFactorAuthAge` kondisi memberikan nilai numerik yang menunjukkan berapa lama (dalam detik) kredensial sementara dibuat. Jika kredensial sementara yang diberikan dalam permintaan tidak dibuat menggunakan perangkat MFA, maka nilai kunci ini akan kosong (tidak ada). Dalam kebijakan bucket, Anda dapat menambahkan sebuah kondisi untuk memeriksa nilai ini, seperti yang ditunjukkan dalam contoh berikut. 

Contoh kebijakan ini menolak operasi Amazon S3 pada *`/taxdocuments`*folder dalam bucket jika permintaan tidak `amzn-s3-demo-bucket` diautentikasi dengan menggunakan MFA. Untuk pelajari selengkapnya tentang otentikasi multifaktor (MFA), lihat [Menggunakan Autentikasi Multi-Faktor (MFA) di AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) dalam *Panduan Pengguna IAM*.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "123",
    "Statement": [
      {
        "Sid": "",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/taxdocuments/*",
        "Condition": { "Null": { "aws:MultiFactorAuthAge": true }}
      }
    ]
 }
```

------

`Null`Kondisi di `Condition` blok mengevaluasi `true` apakah nilai kunci `aws:MultiFactorAuthAge` kondisi adalah nol, yang mana hal ini menunjukkan bahwa kredensial keamanan sementara dalam permintaan dibuat tanpa perangkat MFA. 

Kebijakan bucket berikut merupakan perpanjangan dari kebijakan bucket sebelumnya. Kebijakan berikut mencakup dua pernyataan kebijakan. Satu pernyataan memberikan izin `s3:GetObject` pada bucket (`amzn-s3-demo-bucket`) kepada semua orang. Pernyataan lain membatasi lebih lanjut akses ke folder `amzn-s3-demo-bucket/taxdocuments` yang ada dalam bucket dengan mewajibkan MFA. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "123",
    "Statement": [
      {
        "Sid": "DenyInsecureConnections",
        "Effect": "Deny",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:root"
        },
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/taxdocuments/*",
        "Condition": { "Null": { "aws:MultiFactorAuthAge": true } }
      },
      {
        "Sid": "AllowGetObject",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:root"
        },
        "Action": ["s3:GetObject"],
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
      }
    ]
 }
```

------

Anda dapat menggunakan kondisi numerik secara opsional untuk membatasi durasi berlakunya `aws:MultiFactorAuthAge` kunci. Durasi yang Anda tentukan dengan `aws:MultiFactorAuthAge` kunci tidak bergantung pada usia pakai kredensial keamanan sementara yang digunakan untuk mengautentikasi permintaan. 

Sebagai contoh, kebijakan bucket berikut, selain mewajibkan autentikasi MFA, juga memeriksa berapa lama lagi sesi sementara dibuat. Kebijakan tersebut menolak setiap operasi jika nilai kunci `aws:MultiFactorAuthAge` menunjukkan bahwa sesi sementara dibuat lebih dari satu jam yang lalu (3.600 detik). 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "123",
    "Statement": [
      {
        "Sid": "",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/taxdocuments/*",
        "Condition": {"Null": {"aws:MultiFactorAuthAge": true }}
      },
      {
        "Sid": "",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/taxdocuments/*",
        "Condition": {"NumericGreaterThan": {"aws:MultiFactorAuthAge": 3600 }}
       },
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": "*",
         "Action": ["s3:GetObject"],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
       }
    ]
 }
```

------

## Mencegah pengguna menghapus objek
<a name="using-with-s3-actions-related-to-bucket-subresources"></a>

Secara bawaan, pengguna tidak memiliki izin. Namun saat membuat kebijakan, Anda mungkin memberikan izin kepada pengguna yang tidak ingin Anda berikan. Untuk menghindari celah izin tersebut, Anda dapat menulis kebijakan akses yang lebih ketat dengan menambahkan penolakan eksplisit. 

Untuk secara eksplisit memblokir pengguna atau akun agar tidak menghapus objek, Anda harus menambahkan tindakan berikut ke kebijakan bucket:`s3:DeleteObject`,`s3:DeleteObjectVersion`, dan izin. `s3:PutLifecycleConfiguration` Ketiga tindakan tersebut diperlukan karena Anda dapat menghapus objek baik dengan memanggil operasi `DELETE Object` API secara eksplisit atau dengan mengonfigurasi siklus hidupnya (lihat) [Mengelola siklus hidup objek](object-lifecycle-mgmt.md) sehingga Amazon S3 dapat menghapus objek saat masa pakainya berakhir.

Dalam contoh kebijakan berikut, Anda secara eksplisit menolak `DELETE Object` izin kepada pengguna. `MaryMajor` `Deny`Pernyataan eksplisit selalu menggantikan izin lain yang diberikan.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "statement1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:user/MaryMajor"
      },
      "Action": [
        "s3:GetObjectVersion",
        "s3:GetBucketAcl"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1",
	 	"arn:aws:s3:::amzn-s3-demo-bucket1/*"
      ]
    },
    {
      "Sid": "statement2",
      "Effect": "Deny",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:user/MaryMajor"
      },
      "Action": [
        "s3:DeleteObject",
        "s3:DeleteObjectVersion",
        "s3:PutLifecycleConfiguration"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1",
	    "arn:aws:s3:::amzn-s3-demo-bucket1/*"
      ]
    }
  ]
}
```

------

# Contoh kebijakan bucket menggunakan tombol kondisi
<a name="amazon-s3-policy-keys"></a>

Anda dapat menggunakan bahasa kebijakan akses untuk menentukan syarat-syarat saat memberikan izin. Anda dapat menggunakan `Condition` elemen opsional, atau `Condition` memblokir, untuk menentukan kondisi kapan kebijakan diberlakukan. 

Untuk kebijakan yang menggunakan kunci syarat Amazon S3 untuk operasi objek dan bucket, lihat contoh berikut. Untuk informasi lebih lanjut tentang kunci syarat ini, lihat [Kunci kondisi kebijakan untuk Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys). *Untuk daftar lengkap tindakan Amazon S3, kunci kondisi, dan sumber daya yang dapat Anda tentukan dalam kebijakan, lihat [Tindakan, sumber daya, dan kunci kondisi untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) di Referensi Otorisasi Layanan.*

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

## Contoh: Kunci kondisi Amazon S3 untuk operasi objek
<a name="object-keys-in-amazon-s3-policies"></a>

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan kunci kondisi khusus Amazon S3 untuk operasi objek. *Untuk daftar lengkap tindakan Amazon S3, kunci kondisi, dan sumber daya yang dapat Anda tentukan dalam kebijakan, lihat [Tindakan, sumber daya, dan kunci kondisi untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) di Referensi Otorisasi Layanan.*

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

Beberapa contoh kebijakan menunjukkan bagaimana Anda dapat menggunakan kunci kondisi operasi [PUT Objek](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html). Operasi PUT Objek memungkinkan header spesifik daftar kontrol akses (ACL) yang dapat Anda gunakan untuk memberikan izin berbasis ACL. Dengan menggunakan tombol kondisi ini, Anda dapat mengatur kondisi untuk memerlukan izin akses tertentu saat pengguna mengunggah objek. Anda juga dapat memberikan izin berbasis ACL dengan operasi tersebut. PutObjectAcl Untuk informasi lebih lanjut, lihat [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) dalam *Referensi API Layanan Penyimpanan Sederhana Amazon S3 Amazon*. Untuk informasi lebih lanjut tentang ACLs, lihat[Gambaran umum daftar kontrol akses (ACL)](acl-overview.md).

**Topics**
+ [Contoh 1: Memberikan `s3:PutObject` izin yang mengharuskan objek disimpan menggunakan enkripsi sisi server](#putobject-require-sse-2)
+ [Contoh 2: Memberikan `s3:PutObject` izin untuk menyalin objek dengan batasan pada sumber salinan](#putobject-limit-copy-source-3)
+ [Contoh 3: Memberikan akses ke versi objek tertentu](#getobjectversion-limit-access-to-specific-version-3)
+ [Contoh 4: Memberikan izin berdasarkan tag objek](#example-object-tagging-access-control)
+ [Contoh 5: Membatasi akses oleh Akun AWS ID pemilik bucket](#example-object-resource-account)
+ [Contoh 6: Membutuhkan versi TLS minimum](#example-object-tls-version)
+ [Contoh 7: Mengecualikan prinsipal tertentu dari pernyataan `Deny`](#example-exclude-principal-from-deny-statement)
+ [Contoh 8: Menegakkan klien untuk mengunggah objek secara kondisional berdasarkan nama kunci objek atau ETags](#example-conditional-writes-enforce)

### Contoh 1: Memberikan `s3:PutObject` izin yang mengharuskan objek disimpan menggunakan enkripsi sisi server
<a name="putobject-require-sse-2"></a>

Misalkan ketika Akun A memiliki bucket. Administrator akun ingin memberi Jane, pengguna di Akun A, izin untuk mengunggah objek dengan syarat Jane selalu meminta enkripsi sisi server dengan kunci terkelola Amazon S3 (SSE-S3). Administrator Akun A dapat menentukan persyaratan ini dengan menggunakan kunci `s3:x-amz-server-side-encryption` kondisi seperti yang ditunjukkan. Pasangan kunci-nilai di `Condition` blok berikut menentukan kunci `s3:x-amz-server-side-encryption` kondisi dan SSE-S3 () `AES256` sebagai jenis enkripsi:

```
"Condition": {
     "StringNotEquals": {
         "s3:x-amz-server-side-encryption": "AES256"
     }}
```

Saat menguji izin ini dengan menggunakan AWS CLI, Anda harus menambahkan enkripsi yang diperlukan dengan menggunakan `--server-side-encryption` parameter, seperti yang ditunjukkan pada contoh berikut. Untuk menggunakan perintah contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri. 

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key HappyFace.jpg --body c:\HappyFace.jpg --server-side-encryption "AES256" --profile AccountAadmin
```

### Contoh 2: Memberikan `s3:PutObject` izin untuk menyalin objek dengan batasan pada sumber salinan
<a name="putobject-limit-copy-source-3"></a>

Dalam permintaan `PUT` objek, ketika Anda menentukan objek sumber, permintaan adalah operasi salinan (lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html)). Oleh karena itu, pemilik bucket dapat memberikan izin kepada pengguna untuk menyalin objek dengan pembatasan pada sumber, misalnya:
+ Izinkan menyalin objek hanya dari bucket sumber yang ditentukan (misalnya,`amzn-s3-demo-source-bucket`).
+ Izinkan menyalin objek dari bucket sumber yang ditentukan dan hanya objek yang awalan nama kuncinya dimulai dengan awalan tertentu, seperti *`public/`* (misalnya,). `amzn-s3-demo-source-bucket/public/*`
+ Izinkan menyalin hanya objek tertentu dari bucket sumber (misalnya,`amzn-s3-demo-source-bucket/example.jpg`).

Kebijakan bucket berikut memberikan `s3:PutObject` izin kepada pengguna (`Dave`). Kebijakan ini memungkinkan dia untuk menyalin objek hanya dengan syarat permintaan menyertakan `s3:x-amz-copy-source` header dan bahwa nilai header menentukan awalan nama `/amzn-s3-demo-source-bucket/public/*` kunci. Untuk menggunakan kebijakan contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
       {
            "Sid": "cross-account permission to user in your own account",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
        },
        {
            "Sid": "Deny your user permission to upload object if copy source is not /bucket/prefix",
            "Effect": "Deny",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
            "Condition": {
                "StringNotLike": {
                    "s3:x-amz-copy-source": "amzn-s3-demo-source-bucket/public/*"
                }
            }
        }
    ]
}
```

------

**Uji kebijakan dengan AWS CLI**  
Anda dapat menguji izin menggunakan AWS CLI `copy-object` perintah. Anda menentukan sumber dengan menambahkan parameter `--copy-source`; prefiks nama kunci harus cocok dengan prefiks yang diperbolehkan dalam kebijakan. Anda perlu memberikan kredensial Dave kepada pengguna dengan menggunakan parameter `--profile`. *Untuk informasi selengkapnya tentang pengaturan AWS CLI, lihat [Mengembangkan dengan Amazon S3 menggunakan AWS CLI di Referensi API](https://docs.aws.amazon.com/AmazonS3/latest/API/setup-aws-cli.html) Amazon S3.*

```
aws s3api copy-object --bucket amzn-s3-demo-source-bucket --key HappyFace.jpg 
--copy-source amzn-s3-demo-source-bucket/public/PublicHappyFace1.jpg --profile AccountADave
```

**Berikan izin untuk menyalin objek tertentu**  
Kebijakan sebelumnya menggunakan kondisi `StringNotLike`. Untuk memberikan izin untuk menyalin hanya objek tertentu, Anda harus mengubah kondisi dari `StringNotLike` ke `StringNotEquals` dan kemudian menentukan kunci objek yang tepat, seperti yang ditunjukkan pada contoh berikut. Untuk menggunakan perintah contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri.

```
"Condition": {
       "StringNotEquals": {
           "s3:x-amz-copy-source": "amzn-s3-demo-source-bucket/public/PublicHappyFace1.jpg"
       }
}
```

### Contoh 3: Memberikan akses ke versi objek tertentu
<a name="getobjectversion-limit-access-to-specific-version-3"></a>

Misalkan Akun A memiliki bucket berkemampuan versi. Bucket tersebut memiliki beberapa versi objek `HappyFace.jpg`. Administrator Akun A sekarang ingin memberikan `Dave` izin kepada pengguna untuk mendapatkan hanya versi objek tertentu. Administrator akun dapat melakukannya dengan memberikan `s3:GetObjectVersion` izin kepada pengguna `Dave` secara kondisional, seperti yang ditunjukkan pada contoh berikut. Pasangan nilai kunci dalam pemblokiran `Condition` menentukan kunci kondisi `s3:VersionId`. Dalam hal ini, untuk mengambil objek dari bucket berkemampuan versi tertentu, `Dave` perlu mengetahui ID versi objek yang tepat. Untuk menggunakan kebijakan contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri.

Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) dalam *Referensi API Amazon Simple Storage Service*. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "statement1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": "s3:GetObjectVersion",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/HappyFace.jpg"
        },
        {
            "Sid": "statement2",
            "Effect": "Deny",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": "s3:GetObjectVersion",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/HappyFace.jpg",
            "Condition": {
                "StringNotEquals": {
                    "s3:VersionId": "AaaHbAQitwiL_h47_44lRO2DDfLlBO5e"
                }
            }
        }
    ]
}
```

------

**Uji kebijakan dengan AWS CLI**  
Anda dapat menguji izin dalam kebijakan ini dengan menggunakan AWS CLI `get-object` perintah dengan `--version-id` parameter untuk mengidentifikasi versi objek tertentu yang akan diambil. Perintah mengambil versi objek yang ditentukan dan menyimpannya ke `OutputFile.jpg` file.

```
aws s3api get-object --bucket amzn-s3-demo-bucket --key HappyFace.jpg OutputFile.jpg --version-id AaaHbAQitwiL_h47_44lRO2DDfLlBO5e --profile AccountADave
```

### Contoh 4: Memberikan izin berdasarkan tag objek
<a name="example-object-tagging-access-control"></a>

Untuk contoh cara menggunakan kunci kondisi penandaan objek dengan operasi Amazon S3, lihat. [Kebijakan pemberian tag dan kontrol akses](tagging-and-policies.md)

### Contoh 5: Membatasi akses oleh Akun AWS ID pemilik bucket
<a name="example-object-resource-account"></a>

Anda dapat menggunakan kunci `aws:ResourceAccount` atau `s3:ResourceAccount` kondisi untuk menulis kebijakan titik akhir IAM atau virtual private cloud (VPC) yang membatasi akses pengguna, peran, atau aplikasi ke bucket Amazon S3 yang dimiliki oleh ID tertentu. Akun AWS Anda dapat menggunakan kunci kondisi ini untuk membatasi klien dalam VPC Anda agar tidak mengakses bucket yang tidak Anda miliki.

Namun, ketahuilah bahwa beberapa AWS layanan bergantung pada akses ke bucket yang AWS dikelola. Oleh karena itu, menggunakan kunci `aws:ResourceAccount` atau `s3:ResourceAccount` dalam kebijakan IAM Anda juga dapat memengaruhi akses ke sumber daya ini. Untuk informasi selengkapnya, lihat sumber daya berikut:
+ [Batasi akses ke bucket dalam Akun AWS yang ditentukan](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#bucket-policies-s3) dalam *Panduan AWS PrivateLink *
+ [Batasi akses ke bucket yang digunakan Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html#ecr-minimum-s3-perms) dalam *Panduan Amazon ECR*
+ [Menyediakan akses yang diperlukan ke Systems Manager untuk bucket Amazon S3 AWS terkelola](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-minimum-s3-permissions.html) *dalam Panduan AWS Systems Manager *

*Untuk informasi selengkapnya tentang kunci `s3:ResourceAccount` kondisi `aws:ResourceAccount` dan contoh yang menunjukkan cara menggunakannya, lihat [Membatasi akses ke bucket Amazon S3 yang dimiliki oleh spesifik Akun AWS di Blog](https://aws.amazon.com/blogs/storage/limit-access-to-amazon-s3-buckets-owned-by-specific-aws-accounts/) Penyimpanan.AWS *

### Contoh 6: Membutuhkan versi TLS minimum
<a name="example-object-tls-version"></a>

Anda dapat menggunakan tombol `s3:TlsVersion` kondisi untuk menulis IAM, virtual private cloud endpoint (VPCE), atau kebijakan bucket yang membatasi akses pengguna atau aplikasi ke bucket Amazon S3 berdasarkan versi TLS yang digunakan oleh klien. Anda dapat menggunakan kunci syarat ini untuk tulis kebijakan yang memerlukan versi TLS minimum. 

**catatan**  
Ketika AWS layanan melakukan panggilan ke AWS layanan lain atas nama Anda (service-to-service panggilan), konteks otorisasi khusus jaringan tertentu dihapus, termasuk`s3:TlsVersion`,,, dan. `aws:SecureTransport` `aws:SourceIp` `aws:VpcSourceIp` Jika kebijakan Anda menggunakan kunci kondisi ini dengan `Deny` pernyataan, prinsip AWS layanan mungkin diblokir secara tidak sengaja. Untuk memungkinkan AWS layanan berfungsi dengan baik sambil mempertahankan persyaratan keamanan Anda, kecualikan prinsip layanan dari `Deny` pernyataan Anda dengan menambahkan kunci `aws:PrincipalIsAWSService` kondisi dengan nilai. `false` Contoh:  

```
{
  "Effect": "Deny",
  "Action": "s3:*",
  "Resource": "*",
  "Condition": {
    "Bool": {
      "aws:SecureTransport": "false",
      "aws:PrincipalIsAWSService": "false"
    }
  }
}
```
Kebijakan ini menolak akses ke operasi S3 ketika HTTPS tidak `aws:SecureTransport` digunakan (salah), tetapi hanya untuk prinsipal AWS non-layanan. Ini memastikan pembatasan bersyarat Anda berlaku untuk semua kepala sekolah kecuali kepala sekolah layanan. AWS 

**Example**  
Contoh kebijakan bucket berikut *menolak `PutObject` permintaan* klien yang memiliki versi TLS lebih awal dari 1.2, misalnya 1.1 atau 1.0. Untuk menggunakan kebijakan contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1",
                "arn:aws:s3:::amzn-s3-demo-bucket1/*"
            ],
            "Condition": {
                "NumericLessThan": {
                    "s3:TlsVersion": 1.2
                }
            }
        }
    ]
}
```

**Example**  
Contoh kebijakan bucket berikut *memungkinkan* `PutObject` permintaan oleh klien yang memiliki versi TLS lebih lambat 1.1, misalnya, 1.2, 1.3, atau yang lebih baru:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1",
                "arn:aws:s3:::amzn-s3-demo-bucket1/*"
            ],
            "Condition": {
                "NumericGreaterThan": {
                    "s3:TlsVersion": 1.1
                }
            }
        }
    ]
}
```

### Contoh 7: Mengecualikan prinsipal tertentu dari pernyataan `Deny`
<a name="example-exclude-principal-from-deny-statement"></a>

Kebijakan bucket berikut menolak `s3:GetObject` akses ke`amzn-s3-demo-bucket`, kecuali ke kepala sekolah dengan nomor rekening. *`123456789012`* Untuk menggunakan kebijakan contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAccessFromPrincipalNotInSpecificAccount",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:GetObject",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {
        "StringNotEquals": {
          "aws:PrincipalAccount": [
            "123456789012"
          ]
        }
      }
    }
  ]
}
```

------

### Contoh 8: Menegakkan klien untuk mengunggah objek secara kondisional berdasarkan nama kunci objek atau ETags
<a name="example-conditional-writes-enforce"></a>

Dengan penulisan bersyarat, Anda dapat menambahkan header tambahan ke `WRITE` permintaan Anda untuk menentukan prasyarat untuk operasi S3 Anda. Header ini menentukan kondisi yang, jika tidak terpenuhi, akan mengakibatkan operasi S3 gagal. Misalnya, Anda dapat mencegah penimpaan data yang ada dengan memvalidasi tidak ada objek dengan nama kunci yang sama yang sudah ada di bucket Anda selama pengunggahan objek. Anda juga dapat memeriksa tag entitas objek (ETag) di Amazon S3 sebelum menulis objek.

Untuk contoh kebijakan bucket yang menggunakan kondisi dalam kebijakan bucket guna menerapkan penulisan bersyarat, lihat. [Menegakkan penulisan bersyarat di ember Amazon S3](conditional-writes-enforce.md)

## Contoh: Kunci kondisi Amazon S3 untuk operasi bucket
<a name="bucket-keys-in-amazon-s3-policies"></a>

Contoh kebijakan berikut menunjukkan cara Anda dapat menggunakan kunci kondisi khusus Amazon S3 untuk operasi bucket.

**Topics**
+ [Contoh 1: Memberikan `s3:GetObject` izin dengan syarat pada alamat IP](#AvailableKeys-iamV2)
+ [Contoh 2: Mendapatkan daftar objek di bucket dengan prefiks tertentu](#condition-key-bucket-ops-2)
+ [Contoh 3: Mengatur jumlah kunci maksimum](#example-numeric-condition-operators)

### Contoh 1: Memberikan `s3:GetObject` izin dengan syarat pada alamat IP
<a name="AvailableKeys-iamV2"></a>

Anda dapat memberikan izin kepada pengguna yang diautentikasi untuk menggunakan `s3:GetObject` tindakan jika permintaan berasal dari rentang alamat IP tertentu (misalnya,`192.0.2.*`), kecuali alamat IP adalah salah satu yang ingin Anda kecualikan (misalnya,`192.0.2.188`). Di `Condition` blok, `IpAddress` dan `NotIpAddress` kondisi, dan setiap kondisi disediakan pasangan kunci-nilai untuk evaluasi. Kedua pasangan kunci-nilai dalam contoh ini menggunakan kunci `aws:SourceIp` AWS lebar. Untuk menggunakan kebijakan contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri.

**catatan**  
Nilai `IPAddress` dan `NotIpAddress` kunci yang ditentukan dalam `Condition` blok menggunakan notasi CIDR, seperti yang dijelaskan dalam RFC 4632. Untuk informasi lebih lanjut, lihat [http://www.rfc-editor. org/rfc/rfc](http://www.rfc-editor.org/rfc/rfc4632.txt)4632.txt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "S3PolicyId1",
    "Statement": [
        {
            "Sid": "statement1",
            "Effect": "Allow",
            "Principal": "*",
            "Action":"s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition" : {
                "IpAddress" : {
                    "aws:SourceIp": "192.0.2.0/24" 
                },
                "NotIpAddress" : {
                    "aws:SourceIp": "192.0.2.188/32" 
                } 
            } 
        } 
    ]
}
```

------

Anda juga dapat menggunakan kunci kondisi AWS-wide lainnya dalam kebijakan Amazon S3. Misalnya, Anda dapat menentukan kunci kondisi `aws:SourceVpce` dan `aws:SourceVpc` dalam kebijakan bucket untuk titik akhir VPC. Untuk contoh spesifik, lihat[Megendalikan akses dari titik akhir VPC dengan kebijakan bucket](example-bucket-policies-vpc-endpoint.md).

**catatan**  
Untuk beberapa kunci kondisi AWS global, hanya jenis sumber daya tertentu yang didukung. Oleh karena itu, periksa apakah Amazon S3 mendukung kunci kondisi global dan jenis sumber daya yang ingin Anda gunakan, atau apakah Anda perlu menggunakan kunci kondisi khusus Amazon S3. *Untuk daftar lengkap jenis sumber daya dan kunci kondisi yang didukung untuk Amazon S3, lihat [Tindakan, sumber daya, dan kunci kondisi untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) di Referensi Otorisasi Layanan.*  
Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

### Contoh 2: Mendapatkan daftar objek di bucket dengan prefiks tertentu
<a name="condition-key-bucket-ops-2"></a>

Anda dapat menggunakan kunci `s3:prefix` kondisi untuk membatasi respons operasi [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)API ke nama kunci dengan awalan tertentu. Jika Anda adalah pemilik bucket, Anda dapat menggunakan kunci kondisi ini untuk membatasi pengguna agar mencantumkan konten awalan tertentu di bucket. Kunci `s3:prefix` kondisi berguna jika objek dalam bucket diatur oleh awalan nama kunci. 

Konsol Amazon S3 menggunakan prefiks nama kunci untuk menampilkan konsep folder. Hanya konsol tersebut yang mendukung konsep folder; Amazon S3 API hanya mendukung bucket dan objek. Misalnya, jika Anda memiliki dua objek dengan nama kunci *`public/object1.jpg`* dan*`public/object2.jpg`*, konsol menunjukkan objek di bawah *`public`* folder. Pada Amazon S3 API, objek-objek ini adalah objek dengan prefiks, bukan objek yang ada dalam folder. Untuk informasi lebih lanjut tentang bagaimana menggunakan prefiks dan pembatas untuk memfilter izin akses, lihat [Mengontrol akses ke bucket dengan kebijakan pengguna](walkthrough1.md). 

Dalam skenario berikut, pemilik bucket dan akun induk yang dimiliki pengguna adalah sama. Jadi pemilik bucket dapat menggunakan kebijakan bucket atau kebijakan pengguna untuk memberikan akses. Untuk informasi selengkapnya tentang kunci kondisi lain yang dapat Anda gunakan dengan operasi `ListObjectsV2` API, lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html).

**catatan**  
Jika bucket diaktifkan versi, untuk mencantumkan objek di bucket, Anda harus memberikan `s3:ListBucketVersions` izin dalam kebijakan berikut, bukan izin. `s3:ListBucket` `s3:ListBucketVersions`Izin juga mendukung kunci `s3:prefix` kondisi. 

**Kebijakan pengguna**  
Kebijakan pengguna berikut memberikan `s3:ListBucket` izin (lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)) dengan `Condition` pernyataan yang mengharuskan pengguna untuk menentukan awalan dalam permintaan dengan nilai. `projects` Untuk menggunakan kebijakan contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"statement1",
         "Effect":"Allow",
         "Action": "s3:ListBucket",
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition" : {
             "StringEquals" : {
                 "s3:prefix": "projects" 
             }
          } 
       },
      {
         "Sid":"statement2",
         "Effect":"Deny",
         "Action": "s3:ListBucket",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition" : {
             "StringNotEquals" : {
                 "s3:prefix": "projects" 
             }
          } 
       }         
    ]
}
```

------

`Condition`Pernyataan membatasi pengguna untuk mencantumkan hanya kunci objek yang memiliki `projects` awalan. `Deny`Pernyataan eksplisit yang ditambahkan menyangkal pengguna dari mencantumkan kunci dengan awalan lain, apa pun izin lain yang mungkin dimiliki pengguna. Misalnya, pengguna dapat memperoleh izin untuk membuat daftar kunci objek tanpa batasan apa pun, baik melalui pembaruan pada kebijakan pengguna sebelumnya atau melalui kebijakan bucket. Karena `Deny` pernyataan eksplisit selalu mengesampingkan `Allow` pernyataan, jika pengguna mencoba membuat daftar kunci selain yang memiliki `projects` awalan, permintaan ditolak. 

**Kebijakan bucket**  
Jika Anda menambahkan `Principal` elemen ke kebijakan pengguna di atas, mengidentifikasi pengguna, Anda sekarang memiliki kebijakan bucket, seperti yang ditunjukkan pada contoh berikut. Untuk menggunakan kebijakan contoh ini, ganti `user input placeholders` dengan informasi Anda sendiri.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"statement1",
         "Effect":"Allow",
         "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/bucket-owner"
         },  
         "Action":  "s3:ListBucket",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition" : {
             "StringEquals" : {
                 "s3:prefix": "projects" 
             }
          } 
       },
      {
         "Sid":"statement2",
         "Effect":"Deny",
         "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/bucket-owner"
         },  
         "Action": "s3:ListBucket",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition" : {
             "StringNotEquals" : {
                 "s3:prefix": "projects"  
             }
          } 
       }         
    ]
}
```

------

**Uji kebijakan dengan AWS CLI**  
Anda dapat menguji kebijakan menggunakan `list-object` AWS CLI perintah berikut. Dalam perintah ini, Anda memberikan kredensial pengguna dengan menggunakan parameter `--profile`. *Untuk informasi selengkapnya tentang pengaturan dan penggunaan AWS CLI, lihat [Mengembangkan dengan Amazon S3 menggunakan AWS CLI di Referensi API](https://docs.aws.amazon.com/AmazonS3/latest/API/setup-aws-cli.html) Amazon S3.*

```
aws s3api list-objects --bucket amzn-s3-demo-bucket --prefix projects --profile AccountA
```

### Contoh 3: Mengatur jumlah kunci maksimum
<a name="example-numeric-condition-operators"></a>

Anda dapat menggunakan tombol `s3:max-keys` kondisi untuk mengatur jumlah maksimum kunci yang dapat dikembalikan oleh pemohon dalam [https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectVersions.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_ListObjectVersions.html)permintaan [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)atau permintaan. Secara default, operasi API ini mengembalikan hingga 1.000 kunci. Untuk daftar operator kondisi numerik yang dapat Anda gunakan dengan `s3:max-keys` dan contoh yang menyertainya, lihat [Operator kondisi Numerik](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Numeric) dalam *Panduan Pengguna IAM*.

# Kebijakan berbasis identitas untuk Amazon S3
<a name="security_iam_id-based-policy-examples"></a>

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi sumber daya Amazon S3. Untuk memberikan izin kepada pengguna untuk melakukan tindakan di sumber daya yang mereka perlukan, administrator IAM dapat membuat kebijakan IAM.

*Untuk mempelajari cara membuat kebijakan berbasis identitas IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan IAM (konsol) di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).*

*Untuk detail tentang tindakan dan jenis sumber daya yang ditentukan oleh Amazon S3, termasuk format ARNs untuk setiap jenis sumber daya, lihat [Kunci tindakan, sumber daya, dan kondisi untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) di Referensi Otorisasi Layanan.*

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

**Topics**
+ [Praktik terbaik kebijakan](#security_iam_service-with-iam-policy-best-practices)
+ [Mengontrol akses ke bucket dengan kebijakan pengguna](walkthrough1.md)
+ [Contoh kebijakan berbasis identitas untuk Amazon S3](example-policies-s3.md)

## Praktik terbaik kebijakan
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Amazon S3 di akun Anda. Tindakan ini membuat Akun AWS Anda dikenai biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+ **Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin** kepada pengguna dan beban kerja Anda, gunakan *kebijakan AWS terkelola* yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) atau [Kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dalam *Panduan Pengguna IAM*.
+ **Menerapkan izin dengan hak akses paling rendah** – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai *izin dengan hak akses paling rendah*. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat [Kebijakan dan izin dalam IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut** – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti CloudFormation. Untuk informasi selengkapnya, lihat [Elemen kebijakan JSON IAM: Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional** – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat [Validasi kebijakan dengan IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dalam *Panduan Pengguna IAM*.
+ **Memerlukan otentikasi multi-faktor (MFA)** - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat [Amankan akses API dengan MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dalam *Panduan Pengguna IAM*.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

# Mengontrol akses ke bucket dengan kebijakan pengguna
<a name="walkthrough1"></a>

Panduan ini menjelaskan cara kerja izin pengguna dengan Amazon S3. Dalam contoh ini, Anda membuat bucket dengan folder. Anda kemudian membuat pengguna AWS Identity and Access Management IAM di Anda Akun AWS dan memberikan izin tambahan kepada pengguna tersebut di bucket Amazon S3 Anda dan folder di dalamnya. 

**Topics**
+ [Basic bucket dan folder](#walkthrough-background1)
+ [Ringkasan panduan](#walkthrough-scenario)
+ [Bersiap untuk panduan](#walkthrough-what-you-need)
+ [Langkah 1: Buat bucket](#walkthrough1-create-bucket)
+ [Langkah 2: Buat pengguna dan grup IAM](#walkthrough1-add-users)
+ [Langkah 3: Verifikasi bahwa pengguna IAM tidak memiliki izin](#walkthrough1-verify-no-user-permissions)
+ [Langkah 4: Berikan izin tingkat grup](#walkthrough-group-policy)
+ [Langkah 5: Berikan izin tertentu kepada Alice pengguna IAM](#walkthrough-grant-user1-permissions)
+ [Langkah 6: Berikan izin tertentu kepada Bob pengguna IAM](#walkthrough1-grant-permissions-step5)
+ [Langkah 7: Amankan folder privat](#walkthrough-secure-private-folder-explicit-deny)
+ [Langkah 8: Membersihkan](#walkthrough-cleanup)
+ [Sumber daya terkait](#RelatedResources-walkthrough1)

## Basic bucket dan folder
<a name="walkthrough-background1"></a>

Model data Amazon S3 bersifat struktur yang datar: Anda membuat bucket, dan bucket menyimpan objek tersebut. Tidak ada hierarki sub-bucket atau sub-folder, tetapi Anda dapat berusaha menyamai hierarki folder. Alat-alat seperti konsol Amazon S3 dapat menyajikan tampilan folder dan sub-folder logika ini di dalam bucket.

Konsol tersebut menunjukkan bahwa bucket bernama `companybucket` memiliki tiga folder, `Private`, `Development`, dan `Finance`, dan sebuah objek, `s3-dg.pdf`. Konsol tersebut menggunakan nama objek (kunci) untuk membuat hierarki logis dengan folder dan subfolder. Pertimbangkan contoh berikut:
+ Saat Anda membuat folder `Development`, konsol tersebut membuat objek dengan kunci `Development/`. Perhatikan jejak garis miring (`/`) pembatas.
+ Saat Anda mengunggah objek yang diberi nama `Projects1.xls` dalam folder `Development`, konsol mengunggah objek dan memberikannya kunci `Development/Projects1.xls`. 

  Dalam kunci tersebut, `Development` adalah [prefiks](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix) dan `/` adalah pembatas. Amazon S3 API mendukung prefiks dan pembatas dalam operasinya. Sebagai contoh, Anda dapat memperoleh daftar semua objek dari bucket dengan prefiks dan pembatas tertentu. Pada konsol, saat Anda membuka folder `Development`, konsol akan mencantumkan objek yang ada di folder tersebut. Pada contoh berikut, folder `Development` berisi satu objek. 

  Saat konsol mencantumkan folder `Development` di dalam bucket `companybucket`, konsol tersebut mengirimkan permintaan ke Amazon S3 yang menyebutkan prefiks dari `Development` dan pembatas dari `/` dalam permintaan. Respons konsol terlihat seperti daftar folder di sistem file komputer Anda. Contoh sebelumnya menunjukkan bahwa bucket `companybucket` memiliki sebuah objek dengan kunci `Development/Projects1.xls`.

Konsol menggunakan kunci objek untuk membuat hierarki logika. Amazon S3 tidak memiliki hierarki fisik. Amazon S3 hanya memiliki bucket yang berisi objek dalam struktur file datar. Saat Anda membuat objek menggunakan Amazon S3 API, Anda dapat menggunakan kunci objek yang menyiratkan hierarki logika. Saat Anda membuat hierarki logika dari objek-objek tersebut, Anda dapat mengelola akses ke setiap folder, seperti yang ditunjukkan oleh panduan ini.

Sebelum memulai, pastikan bahwa Anda sudah terbiasa dengan konsep konten bucket *tingkat root*. Misalkan bucket `companybucket` memiliki objek-objek berikut:
+ `Private/privDoc1.txt`
+ `Private/privDoc2.zip`
+ `Development/project1.xls`
+ `Development/project2.xls`
+ `Finance/Tax2011/document1.pdf`
+ `Finance/Tax2011/document2.pdf`
+ `s3-dg.pdf`

Kunci-kunci objek ini membuat hierarki logika dengan `Private`, `Development`, dan sebagai folder tingkat root `Finance` dan sebagai objek tingkat root `s3-dg.pdf`. Saat Anda memilih nama bucket di konsol Amazon S3, item tingkat root muncul. Konsol menunjukkan prefiks tingkat atas (`Private/`, `Development/`, dan `Finance/`) sebagai folder tingkat root. Kunci objek `s3-dg.pdf` tidak memiliki prefiks, sehingga muncul sebagai item tingkat root.



## Ringkasan panduan
<a name="walkthrough-scenario"></a>

Dalam panduan ini, Anda membuat sebuah bucket dengan tiga folder (`Private`, `Development`, dan `Finance`) di dalamnya. 

Anda memiliki dua pengguna, Alice dan Bob. Anda ingin Alice hanya mengakses folder `Development`, dan Anda ingin Bob hanya mengakses folder `Finance`. Anda ingin membuat konten folder `Private` tetap privat. Dalam panduan, Anda mengelola akses dengan membuat pengguna IAM (contoh menggunakan nama pengguna Alice dan Bob) dan memberi mereka izin yang diperlukan. 

IAM juga mendukung pembuatan grup pengguna dan pemberian izin tingkat grup yang berlaku untuk semua pengguna yang ada dalam grup. Hal ini membantu Anda untuk mengelola izin dengan lebih baik. Untuk latihan ini, baik Alice maupun Bob memerlukan beberapa izin yang sama. Jadi, Anda juga membuat kelompok bernama `Consultants`, lalu menambahkan Alice dan Bob ke dalam grup tersebut. Anda terlebih dahulu harus memberikan izin dengan melampirkan kebijakan grup ke grup tersebut. Kemudian Anda menambahkan izin kustom pengguna dengan melampirkan kebijakan kepada pengguna tertentu.

**catatan**  
Panduan menggunakan `companybucket` sebagai nama bucket, Alice dan Bob sebagai pengguna IAM, dan `Consultants` sebagai nama grup. Karena Amazon S3 mewajibkan bahwa nama bucket harus bersifat unik secara global, maka Anda harus mengganti nama bucket dengan nama yang Anda buat.

## Bersiap untuk panduan
<a name="walkthrough-what-you-need"></a>

 Dalam contoh ini, Anda menggunakan Akun AWS kredensil Anda untuk membuat pengguna IAM. Pada awalnya, pengguna ini tidak memiliki izin. Anda kemudian memberikan pengguna tersebut izin tambahan untuk melakukan tindakan Amazon S3 tertentu. Untuk menguji izin ini, Anda masuk ke konsol dengan menggunakan kredensial masing-masing pengguna. Saat Anda secara bertahap memberikan izin sebagai Akun AWS pemilik dan menguji izin sebagai pengguna IAM, Anda harus masuk dan keluar, setiap kali menggunakan kredensyal yang berbeda. Anda dapat melakukan pengujian ini dengan satu browser, tetapi prosesnya akan berjalan lebih cepat jika Anda dapat menggunakan dua browser yang berbeda. Gunakan satu browser untuk terhubung Konsol Manajemen AWS dengan Akun AWS kredensyal Anda dan browser lain untuk terhubung dengan kredensyal pengguna IAM. 

 [Untuk masuk ke Konsol Manajemen AWS dengan Akun AWS kredensyal Anda, buka/. https://console.aws.amazon.com](https://console.aws.amazon.com/) Pengguna IAM tidak dapat masuk menggunakan tautan yang sama. Pengguna IAM harus menggunakan halaman masuk dengan IAM yang diaktifkan. Sebagai pemilik akun, Anda dapat memberikan tautan ini kepada pengguna Anda. 

Untuk informasi lebih lanjut tentang IAM, lihat [Halaman Masuk Konsol Manajemen AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/console.html) dalam *Panduan Pengguna IAM*.

### Untuk menyediakan tautan masuk bagi pengguna IAM
<a name="walkthrough-sign-in-user-credentials"></a>

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Pada jendela **Navigasi**, pilih **Dasbor IAM **.

1. Perhatikan URL dalam **Tautan masuk pengguna IAM:**. Anda akan memberikan tautan ini ke pengguna IAM untuk masuk ke konsol dengan nama pengguna dan kata sandi IAM mereka.

## Langkah 1: Buat bucket
<a name="walkthrough1-create-bucket"></a>

Pada langkah ini, Anda masuk ke konsol Amazon S3 dengan Akun AWS kredensialnya, membuat bucket, menambahkan folder ke bucket, dan mengunggah satu atau dua contoh dokumen di setiap folder. 

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Buat bucket. 

   Untuk step-by-step instruksi, lihat[Membuat bucket tujuan umum](create-bucket-overview.md).

1. Unggah satu dokumen ke bucket.

   Latihan ini mengasumsikan bahwa Anda memiliki dokumen `s3-dg.pdf` pada tingkat root bucket ini. Jika Anda mengunggah dokumen lain, ganti nama file untuk `s3-dg.pdf`.

1. Tambahkan tiga folder yang diberi nama `Private`, `Finance`, dan `Development` ke dalam bucket.

   Untuk step-by-step petunjuk cara membuat folder, lihat [Mengatur objek di konsol Amazon S3 dengan menggunakan folder](using-folders.md) > di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

1. Unggah satu atau dua dokumen ke setiap folder. 

   Untuk latihan ini, asumsikan bahwa Anda telah mengunggah beberapa dokumen di setiap folder, sehingga bucket tersebut memiliki objek dengan kunci-kunci berikut:
   + `Private/privDoc1.txt`
   + `Private/privDoc2.zip`
   + `Development/project1.xls`
   + `Development/project2.xls`
   + `Finance/Tax2011/document1.pdf`
   + `Finance/Tax2011/document2.pdf`
   + `s3-dg.pdf`

   

   Untuk step-by-step instruksi, lihat[Mengunggah Objek](upload-objects.md). 

## Langkah 2: Buat pengguna dan grup IAM
<a name="walkthrough1-add-users"></a>

Sekarang gunakan [Konsol IAM](https://console.aws.amazon.com/iam/) untuk menambahkan dua pengguna IAM, Alice dan Bob, ke pengguna Anda. Akun AWS Untuk step-by-step petunjuk, lihat [Membuat pengguna IAM di Panduan Pengguna *IAM* Anda Akun AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console). 

Juga buat grup administratif bernama`Consultants`. Kemudian tambahkan kedua pengguna ke grup. Untuk step-by-step petunjuknya, lihat [Membuat grup pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_create.html). 

**Awas**  
Saat Anda menambahkan pengguna dan grup, jangan melampirkan kebijakan apa pun yang memberikan izin kepada pengguna-pengguna ini. Awalnya, para pengguna ini tidak memiliki izin. Dalam bagian berikut ini, Anda memberikan izin sebagai tambahan. Pertama, Anda harus memastikan bahwa Anda telah menetapkan kata sandi untuk para pengguna IAM ini. Anda menggunakan kredensial para pengguna ini untuk menguji tindakan Amazon S3 dan memverifikasi bahwa izin berfungsi sesuai harapan.

Untuk step-by-step petunjuk cara membuat pengguna IAM baru, lihat [Membuat pengguna IAM di Panduan Pengguna *IAM* Anda Akun AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). Saat Anda membuat pengguna untuk panduan ini, pilih **akses Konsol Manajemen AWS ** dan hapus [Akses terprogram](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).

Untuk step-by-step petunjuk cara membuat grup administratif, lihat [Membuat Pengguna dan Grup Admin IAM Pertama Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) di Panduan *Pengguna IAM*.



## Langkah 3: Verifikasi bahwa pengguna IAM tidak memiliki izin
<a name="walkthrough1-verify-no-user-permissions"></a>

Jika Anda menggunakan dua browser, sekarang Anda dapat menggunakan browser kedua untuk masuk ke konsol menggunakan salah satu kredensial pengguna IAM.

1. Menggunakan tautan masuk pengguna IAM (lihat [Untuk menyediakan tautan masuk bagi pengguna IAM](#walkthrough-sign-in-user-credentials)), masuklah ke Konsol Manajemen AWS menggunakan salah satu kredensial pengguna IAM.

1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

    Verifikasi pesan konsol yang memberi tahu Anda bahwa akses ditolak. 

Sekarang, Anda dapat mulai memberikan izin tambahan kepada pengguna. Pertama, Anda harus melampirkan kebijakan grup yang memberikan izin yang harus dimiliki kedua pengguna. 

## Langkah 4: Berikan izin tingkat grup
<a name="walkthrough-group-policy"></a>

Anda ingin pengguna dapat melakukan hal berikut ini:
+ Cantumkan semua bucket yang dimiliki oleh akun induk. Untuk melakukannya, Bob dan Alice harus memiliki izin untuk tindakan `s3:ListAllMyBuckets`.
+ Cantumkan item tingkat root, folder, dan objek dalam bucket `companybucket`. Untuk melakukannya, Bob dan Alice harus memiliki izin untuk tindakan `s3:ListBucket` pada bucket `companybucket`.

Pertama, Anda harus membuat kebijakan yang memberikan izin-izin tersebut, lalu Anda harus melampirkannya ke grup `Consultants`. 

### Langkah 4.1: Berikan izin untuk mencantumkan semua bucket
<a name="walkthrough1-grant-permissions-step1"></a>

Pada langkah ini, Anda membuat kebijakan terkelola yang memberikan izin minimum kepada para pengguna untuk memungkinkan mereka mencantumkan daftar semua bucket yang dimiliki oleh akun induk. Kemudian Anda melampirkan kebijakan tersebut ke grup `Consultants`. Saat Anda melampirkan kebijakan terkelola ke pengguna atau grup, Anda memberikan izin kepada pengguna atau grup untuk mendapatkan daftar bucket yang dimiliki oleh Akun AWS induk.

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).
**catatan**  
Karena Anda memberikan izin kepada pengguna, masuklah dengan menggunakan kredensial Akun AWS Anda, bukan sebagai pengguna IAM.

1. Buat kebijakan terkelola.

   1. Pada panel navigasi yang ada di sebelah kiri, pilih **Kebijakan**, lalu pilih **Buat Kebijakan**.

   1. Pilih tab **JSON**.

   1. Salin kebijakan akses berikut dan tempelkan ke dalam kolom teks kebijakan.

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Sid": "AllowGroupToSeeBucketListInTheConsole",
            "Action": ["s3:ListAllMyBuckets"],
            "Effect": "Allow",
            "Resource": ["arn:aws:s3:::*"]
          }
        ]
      }
      ```

------

      Kebijakan adalah dokumen JSON. Dalam dokumen, `Statement` adalah inline objek, yang masing-masing menjelaskan izin dengan menggunakan kumpulan pasangan nilai-nama. Kebijakan sebelumnya menjelaskan satu izin tertentu. `Action` menyebutkan jenis akses. Dalam kebijakan, `s3:ListAllMyBuckets` adalah tindakan Amazon S3 yang telah ditentukan sebelumnya. Tindakan ini mencakup operasi Amazon S3 GET Service, yang mengembalikan daftar semua bucket yang dimiliki oleh pengirim yang diautentikasi. Nilai elemen `Effect` menentukan apakah izin tertentu diperbolehkan atau ditolak.

   1. Pilih **Tinjau Kebijakan**. Pada halaman berikutnya, masukkan `AllowGroupToSeeBucketListInTheConsole` pada kolom **Nama**, dan kemudian pilih **Buat kebijakan**.
**catatan**  
Entri **Ringkasan** menampilkan pesan yang menyatakan bahwa kebijakan tidak memberikan izin apa pun. Untuk panduan ini, Anda dapat mengabaikan pesan ini dengan aman.

1. Lampirkan kebijakan terkelola `AllowGroupToSeeBucketListInTheConsole` yang Anda buat ke grup `Consultants`.

   Untuk step-by-step petunjuk untuk melampirkan kebijakan terkelola, lihat [Menambahkan dan menghapus izin identitas IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#attach-managed-policy-console) *IAM*. 

   Anda melampirkan dokumen kebijakan ke pengguna dan grup IAM di konsol IAM. Karena Anda ingin kedua pengguna dapat mencantumkan bucket, Anda harus melampirkan kebijakan ke grup. 

1. Uji izin.

   1. Menggunakan tautan masuk pengguna IAM (lihat [Untuk menyediakan tautan masuk bagi pengguna IAM](#walkthrough-sign-in-user-credentials)), masuklah ke konsol dengan menggunakan salah satu kredensial pengguna IAM.

   1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

      Konsol tersebut harus mencantumkan semua bucket tetapi bukan objek yang ada dalam bucket mana pun.

### Langkah 4.2: Mengaktifkan pengguna untuk mencantumkan konten tingkat root dalam bucket
<a name="walkthrough1-grant-permissions-step2"></a>

Selanjutnya, Anda mengizinkan semua pengguna di grup `Consultants` untuk mencantumkan item bucket `companybucket` tingkat root. Ketika pengguna memilih bucket perusahaan pada konsol Amazon S3, pengguna dapat melihat item tingkat root yang ada dalam bucket.

**catatan**  
Contoh ini menggunakan `companybucket` sebagai ilustrasi. Anda harus menggunakan nama bucket yang Anda buat.

Untuk memahami permintaan yang dikirim konsol ke Amazon S3 saat Anda memilih nama bucket, respons yang dikembalikan Amazon S3, dan bagaimana konsol menafsirkan respons, periksa alirannya sedikit lebih dekat.

Saat Anda memilih nama bucket, konsol mengirimkan permintaan GET Bucket [(List Objects)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html) ke Amazon S3. Permintaan ini mencakup parameter-parameter berikut ini:
+ Parameter `prefix` dengan string kosong sebagai nilainya. 
+ Parameter `delimiter` dengan `/` sebagai nilainya. 

Berikut ini adalah contoh permintaan.

```
GET ?prefix=&delimiter=/ HTTP/1.1 
Host: companybucket.s3.amazonaws.com
Date: Wed, 01 Aug  2012 12:00:00 GMT
Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE=
```

Amazon S3 mengembalikan respons yang menyertakan elemen `<ListBucketResult/>` berikut ini.

```
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>companybucket</Name>
  <Prefix></Prefix>
  <Delimiter>/</Delimiter>
   ...
  <Contents>
    <Key>s3-dg.pdf</Key>
    ...
  </Contents>
  <CommonPrefixes>
    <Prefix>Development/</Prefix>
  </CommonPrefixes>
  <CommonPrefixes>
    <Prefix>Finance/</Prefix>
  </CommonPrefixes>
  <CommonPrefixes>
    <Prefix>Private/</Prefix>
  </CommonPrefixes>
</ListBucketResult>
```

Kuncinya `s3-dg.pdf` objek tidak berisi pembatas garis miring (`/`), dan Amazon S3 mengembalikan kunci dalam elemen `<Contents>`. Namun, semua kunci lain dalam contoh bucket berisi pembatas `/`. Amazon S3 mengelompokkan kunci-kunci ini dan mengembalikan elemen `<CommonPrefixes>` untuk setiap nilai prefiks yang berbeda `Development/`, `Finance/`, dan `Private/` yakni substring dari awal kunci-kunci tersebut hingga peristiwa pertama pembatas `/` yang ditentukan. 

Konsol menafsirkan hasil ini dan menampilkan item tingkat root sebagai tiga folder dan satu kunci objek. 

Jika Bob atau Alice membuka folder **Pengembangan**, konsol akan mengirim permintaan GET Bucket [(List Objects)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html) ke Amazon S3 dengan parameter `prefix` dan `delimiter` yang ditetapkan dengan nilai-nilai berikut:
+ Parameter `prefix` dengan nilai `Development/`.
+ Parameter `delimiter` dengan nilai "`/`". 

Sebagai respons, Amazon S3 mengembalikan kunci-kunci objek yang dimulai dengan prefiks yang ditentukan. 

```
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>companybucket</Name>
  <Prefix>Development</Prefix>
  <Delimiter>/</Delimiter>
   ...
  <Contents>
    <Key>Project1.xls</Key>
    ...
  </Contents>
  <Contents>
    <Key>Project2.xls</Key>
    ...
  </Contents> 
</ListBucketResult>
```

Konsol menampilkan kunci-kunci objek.

Sekarang, kembali ke pemberian izin pengguna untuk mencantumkan item bucket tingkat root. Untuk mencantumkan konten bucket, pengguna memerlukan izin untuk memanggil tindakan `s3:ListBucket`, sebagaimana yang diperlihatkan dalam pernyataan kebijakan berikut. Untuk memastikan bahwa mereka hanya melihat konten tingkat root, Anda harus menambahkan kondisi yang harus ditetapkan pengguna sebagai `prefix` kosong dalam permintaan—yaitu, mereka tidak diizinkan melakukan klik dua kali pada folder tingkat root. Terakhir, Anda menambahkan kondisi untuk mengharuskan akses gaya folder dengan mengharuskan permintaan pengguna untuk menyertakan parameter `delimiter` dengan nilai "`/`". 

```
{
  "Sid": "AllowRootLevelListingOfCompanyBucket",
  "Action": ["s3:ListBucket"],
  "Effect": "Allow",
  "Resource": ["arn:aws:s3:::companybucket"],
  "Condition":{ 
         "StringEquals":{
             "s3:prefix":[""], "s3:delimiter":["/"]
                        }
              }
}
```

Saat Anda memilih bucket di konsol Amazon S3, konsol akan mengirimkan permintaan [lokasi GET Bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html) terlebih dahulu untuk menemukan Wilayah AWS tempat bucket digunakan. Kemudian konsol tersebut akan menggunakan titik akhir spesifik Wilayah untuk bucket untuk mengirimkan permintaan GET Bucket [(List Objects)](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html). Akibatnya, jika pengguna akan menggunakan konsol, maka Anda harus memberikan izin untuk tindakan `s3:GetBucketLocation` seperti yang ditunjukkan dalam pernyataan kebijakan berikut.

```
{
   "Sid": "RequiredByS3Console",
   "Action": ["s3:GetBucketLocation"],
   "Effect": "Allow",
   "Resource": ["arn:aws:s3:::*"]
}
```

**Untuk memungkinkan pengguna mencantumkan konten bucket tingkat root**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   Gunakan Akun AWS kredensyal Anda, bukan kredensyal pengguna IAM, untuk masuk ke konsol.

1. Ganti kebijakan terkelola `AllowGroupToSeeBucketListInTheConsole` yang sudah ada yang terlampir pada grup `Consultants` dengan kebijakan berikut, yang juga memungkinkan tindakan `s3:ListBucket`. Ingatlah untuk mengganti *`companybucket`* dalam kebijakan `Resource` dengan nama ember Anda. 

   Untuk step-by-step petunjuk, lihat [Mengedit kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) di *Panduan Pengguna IAM*. Saat mengikuti step-by-step instruksi, pastikan untuk mengikuti langkah-langkah untuk menerapkan perubahan Anda ke semua entitas utama yang dilampirkan kebijakan tersebut. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	                  
     "Statement": [
        {
          "Sid": "AllowGroupToSeeBucketListAndAlsoAllowGetBucketLocationRequiredForListBucket",
          "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ],
          "Effect": "Allow",
          "Resource": [ "arn:aws:s3:::*"  ]
        },
        {
          "Sid": "AllowRootLevelListingOfCompanyBucket",
          "Action": ["s3:ListBucket"],
          "Effect": "Allow",
          "Resource": ["arn:aws:s3:::companybucket"],
          "Condition":{ 
                "StringEquals":{
                       "s3:prefix":[""], "s3:delimiter":["/"]
                              }
                      }
        }
     ] 
   }
   ```

------

1. Uji izin yang diperbarui.

   1. Menggunakan tautan masuk pengguna IAM (lihat [Untuk menyediakan tautan masuk bagi pengguna IAM](#walkthrough-sign-in-user-credentials)), masuklah ke Konsol Manajemen AWS. 

      Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Pilih bucket yang Anda buat, dan konsol akan menunjukkan item bucket tingkat root. Jika Anda memilih folder apa pun yang ada dalam bucket, maka Anda tidak akan dapat melihat konten folder tersebut karena Anda belum memberikan izin.

Pengujian ini berhasil ketika pengguna menggunakan konsol Amazon S3. Saat Anda memilih bucket pada konsol tersebut, implementasi konsol mengirim permintaan yang menyertakan parameter `prefix` dengan string kosong sebagai nilainya dan parameter `delimiter` dengan "`/`" sebagai nilainya.

### Langkah 4.3: Ringkasan kebijakan grup
<a name="walkthrough-group-policy-summary"></a>

Hasil akhir dari kebijakan grup yang Anda tambahkan adalah memberikan kepada pengguna IAM Alice dan Bob paling tidak izin-izin berikut ini:
+ Cantumkan semua bucket yang dimiliki oleh akun induk.
+ Lihat item tingkat root di bucket `companybucket`. 

Namun, pengguna masih tidak bisa melakukan banyak hal. Selanjutnya, Anda memberikan izin spesifik pengguna, sebagai berikut:
+ Memungkinkan Alice untuk mendapatkan dan meletakkan objek di folder `Development`.
+ Memungkinkan Bob untuk mendapatkan dan meletakkan objek di folder `Finance`.

Untuk izin-izin spesifik pengguna, Anda harus melampirkan kebijakan kepada pengguna tertentu, bukan ke grup. Pada bagian berikut, Anda memberikan izin kepada Alice untuk bekerja di folder `Development`. Anda dapat mengulangi langkah untuk memberikan izin serupa kepada Bob untuk bekerja di folder `Finance`.

## Langkah 5: Berikan izin tertentu kepada Alice pengguna IAM
<a name="walkthrough-grant-user1-permissions"></a>

Sekarang Anda memberikan izin tambahan kepada Alice sehingga dia dapat melihat konten folder `Development` dan mengambil dan meletakkan objek di folder itu.

### Langkah 5.1: Berikan izin kepada Alice pengguna IAM untuk mencantumkan konten folder pengembangan
<a name="walkthrough-grant-user1-permissions-listbucket"></a>

Agar Alice dapat mencantumkan konten `Development` folder, Anda harus menerapkan kebijakan kepada pengguna Alice yang memberikan izin untuk `s3:ListBucket` tindakan di `companybucket` bucket, asalkan permintaan tersebut menyertakan awalan. `Development/` Anda ingin kebijakan ini diterapkan hanya untuk pengguna Alice, sehingga Anda menggunakan kebijakan inline. Untuk informasi selengkapnya tentang kebijakan sebaris, lihat [Kebijakan terkelola dan kebijakan sebaris](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) di Panduan Pengguna *IAM*.

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   Gunakan Akun AWS kredensyal Anda, bukan kredensyal pengguna IAM, untuk masuk ke konsol.

1. Buat kebijakan selaras untuk memberikan izin kepada pengguna Alice untuk mencantumkan konten folder `Development`.

   1. Pada panel navigasi di sebelah kiri, pilih **Pengguna**.

   1. Pilih nama pengguna **Alice**.

   1. Pada halaman rincian pengguna, pilih tab **Izin** dan kemudian pilih **Tambahkan kebijakan selaras**.

   1. Pilih tab **JSON**.

   1. Salin kebijakan berikut, dan tempelkan ke bidang teks kebijakan.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	   
          "Statement": [
          {
            "Sid": "AllowListBucketIfSpecificPrefixIsIncludedInRequest",
            "Action": ["s3:ListBucket"],
            "Effect": "Allow",
            "Resource": ["arn:aws:s3:::companybucket"],
            "Condition": { "StringLike": {"s3:prefix": ["Development/*"] }
             }
          }
        ]
      }
      ```

------

   1. Pilih **Tinjau Kebijakan**. Pada halaman berikutnya, masukkan nama dalam kolom **Nama**, dan kemudian pilih **Buat kebijakan**.

1. Uji perubahan izin Alice:

   1. Menggunakan tautan masuk pengguna IAM (lihat [Untuk menyediakan tautan masuk bagi pengguna IAM](#walkthrough-sign-in-user-credentials)), masuklah ke Konsol Manajemen AWS. 

   1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Pada konsol Amazon S3, verifikasi bahwa Alice dapat melihat daftar objek di folder `Development/` di dalam bucket. 

      Ketika pengguna memilih folder `/Development` untuk melihat daftar objek di dalamnya, konsol Amazon S3 mengirimkan permintaan `ListObjects` ke Amazon S3 dengan prefiks `/Development`. Karena pengguna diberikan izin untuk melihat daftar objek dengan prefiks `Development` dan pembatas `/`, Amazon S3 menampilkan daftar objek dengan key prefiks kunci `Development/`, dan konsol tersebut menampilkan daftar.

### Langkah 5.2: Berikan izin kepada Alice pengguna IAM untuk mendapatkan dan menempatkan objek dalam folder pengembangan
<a name="walkthrough-grant-user1-permissions-get-put-object"></a>

Agar Alice mendapatkan dan meletakkan objek di folder `Development`, ia memerlukan izin untuk memanggil tindakan `s3:GetObject` dan `s3:PutObject`. Pernyataan kebijakan berikut memberikan izin-izin ini, dengan kondisi bahwa permintaan menyertakan parameter `prefix` dengan nilai `Development/`.

```
{
    "Sid":"AllowUserToReadWriteObjectData",
    "Action":["s3:GetObject", "s3:PutObject"],
    "Effect":"Allow",
    "Resource":["arn:aws:s3:::companybucket/Development/*"]
 }
```



1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   Gunakan Akun AWS kredensyal Anda, bukan kredensyal pengguna IAM, untuk masuk ke konsol.

1. Edit kebijakan selaras yang Anda buat pada langkah sebelumnya. 

   1. Pada panel navigasi di sebelah kiri, pilih **Pengguna**.

   1. Pilih nama pengguna Alice.

   1. Pada halaman rincian pengguna, pilih tab **Izin** dan memperluas bagian **Kebijakan Selaras**.

   1. Di sebelah nama kebijakan yang Anda buat di langkah sebelumnya, pilih **Edit Kebijakan**.

   1. Salin kebijakan berikut ini, dan tempelkan ke dalam kolom teks kebijakan, yang akan menggantikan kebijakan yang sudah ada.

------
#### [ JSON ]

****  

      ```
      {
           "Version":"2012-10-17",		 	 	 
           "Statement":[
            {
               "Sid":"AllowListBucketIfSpecificPrefixIsIncludedInRequest",
               "Action":["s3:ListBucket"],
               "Effect":"Allow",
               "Resource":["arn:aws:s3:::companybucket"],
               "Condition":{
                  "StringLike":{"s3:prefix":["Development/*"]
                  }
               }
            },
            {
              "Sid":"AllowUserToReadWriteObjectDataInDevelopmentFolder", 
              "Action":["s3:GetObject", "s3:PutObject"],
              "Effect":"Allow",
              "Resource":["arn:aws:s3:::companybucket/Development/*"]
            }
         ]
      }
      ```

------

1. Uji kebijakan yang diperbarui:

   1. Menggunakan tautan masuk pengguna IAM (lihat [Untuk menyediakan tautan masuk bagi pengguna IAM](#walkthrough-sign-in-user-credentials)), masuklah ke Konsol Manajemen AWS. 

   1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Pada konsol Amazon S3, verifikasi bahwa Alice kini dapat menambahkan objek dan mengunduh objek di folder `Development`. 

### Langkah 5.3: Tolak secara eksplisit izin Alice pengguna IAM ke folder lain yang ada dalam bucket
<a name="walkthrough-grant-user1-explicit-deny-other-access"></a>

Pengguna Alice kini dapat mencantumkan konten tingkat root di bucket `companybucket`. Dia juga dapat mengambil dan memasukkan objek di folder `Development`. Jika Anda benar-benar ingin mengencangkan izin akses, Anda dapat secara jelas menolak akses ke folder lain yang ada dalam bucket. Jika ada kebijakan lain (kebijakan bucket atau ACL) yang memberikan Alice akses ke folder lain dalam bucket, penolakan secara jelas ini menolak izin tersebut. 

Anda dapat menambahkan pernyataan berikut ke kebijakan pengguna Alice yang mengharuskan semua permintaan yang dikirimkan Alice ke Amazon S3 harus menyertakan parameter `prefix`, yang nilainya dapat berupa `Development/*` atau string kosong. 



```
{
   "Sid": "ExplicitlyDenyAnyRequestsForAllOtherFoldersExceptDevelopment",
   "Action": ["s3:ListBucket"],
   "Effect": "Deny",
   "Resource": ["arn:aws:s3:::companybucket"],
   "Condition":{  "StringNotLike": {"s3:prefix":["Development/*",""] },
                  "Null"         : {"s3:prefix":false }
    }
}
```

Ada dua ekspresi bersyarat di pemblokiran `Condition`. Hasil dari ekspresi kondisional ini dikombinasikan dengan menggunakan logis `AND`. Jika kedua syarat betul, hasil dari kondisi gabungan adalah BETUL. Karena `Effect` dalam kebijakan ini adalah `Deny`, saat `Condition` dievaluasi bernilai benar, maka pengguna tidak dapat menjalankan `Action` yang ditentukan.
+ Ekspresi bersyarat `Null` memastikan bahwa permintaan dari Alice menyertakan parameter `prefix`. 

  Parameter `prefix` memerlukan akses seperti folder. Jika Anda mengirim permintaan tanpa parameter `prefix`, Amazon S3 mengembalikan semua kunci objek. 

  Jika permintaan menyertakan parameter `prefix` dengan nilai nol, maka ekspresi dievalusi bernilai benar, dan seluruh `Condition` dievaluasi bernilai benar. Anda harus mengizinkan string kosong sebagai nilai dari parameter `prefix`. Dari pembahasan sebelumnya, ingatlah bahwa dengan memungkinkan string nol akan memungkinkan Alice mengambil item bucket tingkat root sebagaimana yang konsol lakukan dalam pembahasan sebelumnya. Untuk informasi selengkapnya, lihat [Langkah 4.2: Mengaktifkan pengguna untuk mencantumkan konten tingkat root dalam bucket](#walkthrough1-grant-permissions-step2). 
+ Ekspresi kondisional `StringNotLike` memastikan bahwa jika nilai parameter `prefix` ditentukan dan bukan `Development/*`, maka permintaan gagal. 

Ikuti langkah-langkah yang diuraikan pada bagian sebelumnya dan sekali lagi perbarui kebijakan selaras yang Anda buat untuk pengguna Alice.

Salin kebijakan berikut ini, dan tempelkan ke dalam kolom teks kebijakan, yang akan menggantikan kebijakan yang sudah ada.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowListBucketIfSpecificPrefixIsIncludedInRequest",
         "Action":["s3:ListBucket"],
         "Effect":"Allow",
         "Resource":["arn:aws:s3:::companybucket"],
         "Condition":{
            "StringLike":{"s3:prefix":["Development/*"]
            }
         }
      },
      {
        "Sid":"AllowUserToReadWriteObjectDataInDevelopmentFolder", 
        "Action":["s3:GetObject", "s3:PutObject"],
        "Effect":"Allow",
        "Resource":["arn:aws:s3:::companybucket/Development/*"]
      },
      {
         "Sid": "ExplicitlyDenyAnyRequestsForAllOtherFoldersExceptDevelopment",
         "Action": ["s3:ListBucket"],
         "Effect": "Deny",
         "Resource": ["arn:aws:s3:::companybucket"],
         "Condition":{  "StringNotLike": {"s3:prefix":["Development/*",""] },
                        "Null"         : {"s3:prefix":false }
          }
      }
   ]
}
```

------

## Langkah 6: Berikan izin tertentu kepada Bob pengguna IAM
<a name="walkthrough1-grant-permissions-step5"></a>

Sekarang Anda ingin memberikan Bob izin ke folder `Finance`. Ikuti langkah-langkah yang telah Anda gunakan sebelumnya untuk memberikan izin kepada Alice, tetapi ganti folder `Development` dengan folder `Finance`. Untuk step-by-step instruksi, lihat[Langkah 5: Berikan izin tertentu kepada Alice pengguna IAM](#walkthrough-grant-user1-permissions). 

## Langkah 7: Amankan folder privat
<a name="walkthrough-secure-private-folder-explicit-deny"></a>

Dalam contoh ini, Anda hanya memiliki dua pengguna. Anda memberikan semua izin minimum yang diperlukan di tingkat grup dan memberikan izin tingkat pengguna hanya ketika Anda benar-benar perlu untuk memberikan izin pada tingkat pengguna individu. Pendekatan ini membantu meminimalkan upaya untuk mengelola izin. Saat jumlah pengguna meningkat, mengelola izin dapat menjadi rumit. Misalnya, Anda tidak ingin siapa pun dari pengguna yang ada dalam contoh ini mengakses konten folder `Private`. Bagaimana Anda memastikan bahwa Anda tidak secara tidak sengaja memberikan izin pengguna ke `Private` folder? Anda menambahkan kebijakan yang secara jelas menolak akses ke folder. Penolakan secara jelas menolak izin lainnya. 

Untuk memastikan bahwa folder `Private` tetap privat, Anda dapat menambahkan dua pernyataan penolakan berikut ke kebijakan grup:
+ Tambahkan pernyataan berikut untuk secara jelas menolak tindakan apa pun terhadap sumber daya dalam folder `Private` (`companybucket/Private/*`).

  ```
  {
    "Sid": "ExplictDenyAccessToPrivateFolderToEveryoneInTheGroup",
    "Action": ["s3:*"],
    "Effect": "Deny",
    "Resource":["arn:aws:s3:::companybucket/Private/*"]
  }
  ```
+ Anda juga menolak izin untuk tindakan cantumkan objek ketika permintaan menyebutkan prefiks `Private/`. Pada konsol, jika Bob atau Alice membuka folder `Private`, maka kebijakan ini akan menyebabkan Amazon S3 mengembalikan respons kesalahan.

  ```
  {
    "Sid": "DenyListBucketOnPrivateFolder",
    "Action": ["s3:ListBucket"],
    "Effect": "Deny",
    "Resource": ["arn:aws:s3:::*"],
    "Condition":{
        "StringLike":{"s3:prefix":["Private/"]}
     }
  }
  ```

Mengganti kebijakan grup `Consultants` dengan kebijakan yang diperbarui yang menyertakan pernyataan penolakan sebelumnya. Setelah kebijakan yang diperbarui diterapkan, tidak ada pengguna dalam grup yang dapat mengakses folder `Private` di bucket Anda. 

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   Gunakan Akun AWS kredensyal Anda, bukan kredensyal pengguna IAM, untuk masuk ke konsol.

1. Ganti kebijakan terkelola `AllowGroupToSeeBucketListInTheConsole` yang sudah ada yang terlampir pada grup `Consultants` dengan kebijakan berikut. Ingatlah untuk mengganti *`companybucket`* dalam kebijakan dengan nama bucket Anda. 

   Untuk petunjuk, lihat [Mengedit kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html#edit-managed-policy-console) di *Panduan Pengguna IAM*. Ketika mengikuti petunjuk, pastikan untuk mengikuti petunjuk untuk menerapkan perubahan Anda ke semua entitas pengguna utama yang kepadanya kebijakan tersebut dilampirkan. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowGroupToSeeBucketListAndAlsoAllowGetBucketLocationRequiredForListBucket",
         "Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::*"]
       },
       {
         "Sid": "AllowRootLevelListingOfCompanyBucket",
         "Action": ["s3:ListBucket"],
         "Effect": "Allow",
         "Resource": ["arn:aws:s3:::companybucket"],
         "Condition":{
             "StringEquals":{"s3:prefix":[""]}
          }
       },
       {
         "Sid": "RequireFolderStyleList",
         "Action": ["s3:ListBucket"],
         "Effect": "Deny",
         "Resource": ["arn:aws:s3:::*"],
         "Condition":{
             "StringNotEquals":{"s3:delimiter":"/"}
          }
        },
       {
         "Sid": "ExplictDenyAccessToPrivateFolderToEveryoneInTheGroup",
         "Action": ["s3:*"],
         "Effect": "Deny",
         "Resource":["arn:aws:s3:::companybucket/Private/*"]
       },
       {
         "Sid": "DenyListBucketOnPrivateFolder",
         "Action": ["s3:ListBucket"],
         "Effect": "Deny",
         "Resource": ["arn:aws:s3:::*"],
         "Condition":{
             "StringLike":{"s3:prefix":["Private/"]}
          }
       }
     ]
   }
   ```

------



## Langkah 8: Membersihkan
<a name="walkthrough-cleanup"></a>

Untuk membersihkan, buka [Konsol IAM](https://console.aws.amazon.com/iam/) dan hapus pengguna Alice dan Bob. Untuk step-by-step petunjuk, lihat [Menghapus pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) *IAM*.

Untuk memastikan bahwa Anda tidak lagi dikenakan biaya untuk penyimpanan, Anda juga harus menghapus objek dan bucket yang Anda buat untuk latihan ini.

## Sumber daya terkait
<a name="RelatedResources-walkthrough1"></a>
+ [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) dalam Panduan *Pengguna IAM*

# Contoh kebijakan berbasis identitas untuk Amazon S3
<a name="example-policies-s3"></a>

Bagian ini menunjukkan beberapa contoh kebijakan berbasis identitas AWS Identity and Access Management (IAM) untuk mengontrol akses ke Amazon S3. Misalnya *kebijakan bucket (kebijakan* berbasis sumber daya), lihat. [Kebijakan Bucket untuk Amazon S3](bucket-policies.md) Untuk informasi lebih lanjut tentang bahasa kebijakan IAM, lihat[Kebijakan dan izin di Amazon S3](access-policy-language-overview.md).

Contoh kebijakan berikut akan berfungsi jika Anda menggunakannya secara terprogram. Tetapi, untuk menggunakannya dengan konsol Amazon S3, Anda harus memberikan izin tambahan yang diperlukan oleh konsol. Untuk informasi tentang menggunakan kebijakan seperti ini dengan konsol Amazon S3, lihat [Mengontrol akses ke bucket dengan kebijakan pengguna](walkthrough1.md). 

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

**Topics**
+ [Mengizinkan akses pengguna IAM ke salah satu bucket Anda](#iam-policy-ex0)
+ [Mengizinkan setiap akses pengguna IAM ke folder dalam bucket](#iam-policy-ex1)
+ [Mengizinkan grup memiliki folder bersama di Amazon S3](#iam-policy-ex2)
+ [Mengizinkan semua pengguna Anda membaca objek di sebagian bucket](#iam-policy-ex3)
+ [Mengizinkan mitra untuk menempatkan file ke dalam bagian tertentu bucket](#iam-policy-ex4)
+ [Membatasi akses ke bucket Amazon S3 dalam bucket tertentu Akun AWS](#iam-policy-ex6)
+ [Membatasi akses ke bucket Amazon S3 dalam unit organisasi Anda](#iam-policy-ex7)
+ [Membatasi akses ke bucket Amazon S3 di organisasi Anda](#iam-policy-ex8)
+ [Memberikan izin untuk mengambil PublicAccessBlock konfigurasi untuk Akun AWS](#using-with-s3-actions-related-to-accountss)
+ [Membatasi pembuatan bucket ke satu Wilayah](#condition-key-bucket-ops-1)

## Mengizinkan akses pengguna IAM ke salah satu bucket Anda
<a name="iam-policy-ex0"></a>

Dalam contoh ini, Anda ingin memberikan pengguna IAM dalam Akun AWS akses ke salah satu bucket Anda*amzn-s3-demo-bucket1*, dan memungkinkan pengguna untuk menambahkan, memperbarui, dan menghapus objek. 

Selain memberikan izin `s3:PutObject`, `s3:GetObject`, dan `s3:DeleteObject` bagi pengguna, kebijakan tersebut juga memberikan izin `s3:ListAllMyBuckets`, `s3:GetBucketLocation`, dan `s3:ListBucket`. Izin-izin tersebut adalah izin tambahan yang diperlukan oleh konsol tersebut. Selain itu, tindakan `s3:PutObjectAcl` dan `s3:GetObjectAcl` diperlukan untuk dapat menyalin, memotong, dan menempel objek di konsol. Untuk panduan contoh yang memberikan izin kepada pengguna dan mengujinya dengan menggunakan konsol, lihat [Mengontrol akses ke bucket dengan kebijakan pengguna](walkthrough1.md). 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action": "s3:ListAllMyBuckets",
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":["s3:ListBucket","s3:GetBucketLocation"],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:DeleteObject"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/*"
      }
   ]
}
```

------

## Mengizinkan setiap akses pengguna IAM ke folder dalam bucket
<a name="iam-policy-ex1"></a>

Dalam contoh ini, Anda ingin dua pengguna IAM, Mary dan Carlos, memiliki akses ke bucket Anda*amzn-s3-demo-bucket1*, sehingga mereka dapat menambahkan, memperbarui, dan menghapus objek. Namun, Anda ingin membatasi setiap akses pengguna ke satu prefiks (folder) dalam bucket. Anda dapat membuat folder dengan nama yang cocok dengan nama pengguna mereka. 

```
amzn-s3-demo-bucket1
   Mary/
   Carlos/
```

Untuk memberikan setiap pengguna akses hanya ke foldernya saja, Anda dapat menulis kebijakan untuk setiap pengguna dan melampirkannya secara sendiri-sendiri. Misalnya, Anda dapat melampirkan kebijakan berikut ke pengguna Mary untuk mengizinkan izin Amazon S3 tertentu pada folder `amzn-s3-demo-bucket1/Mary`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/Mary/*"
      }
   ]
}
```

------

Anda kemudian dapat melampirkan kebijakan serupa ke pengguna Carlos, menentukan folder `Carlos` dalam nilai`Resource`.

Alih-alih melampirkan kebijakan kepada masing-masing pengguna, Anda dapat menulis satu kebijakan yang menggunakan variabel kebijakan dan melampirkan kebijakan tersebut ke grup. Pertama, Anda harus membuat grup dan menambahkan Mary dan Carlos ke grup. Kebijakan contoh berikut memungkinkan serangkaian izin Amazon S3 pada folder `amzn-s3-demo-bucket1/${aws:username}`. Ketika kebijakan dievaluasi, variabel `${aws:username}` kebijakan diganti dengan nama pengguna pemohon. Misalnya, jika Mary mengirim permintaan untuk menempatkan objek, maka operasi hanya diperbolehkan jika Mary mengunggah objek tersebut ke `amzn-s3-demo-bucket1/Mary` folder.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/${aws:username}/*"
      }
   ]
}
```

------

**catatan**  
Saat menggunakan variabel kebijakan, Anda harus secara jelas menyebutkan versi `2012-10-17` dalam kebijakan tersebut. Versi bawaan bahasa kebijakan IAM, yaitu 2008-10-17, tidak mendukung variabel kebijakan ini. 

 Jika Anda ingin menguji kebijakan sebelumnya di konsol Amazon S3, maka konsol tersebut memerlukan izin tambahan, seperti yang ditunjukkan dalam kebijakan berikut. Untuk informasi tentang bagaimana konsol menggunakan izin ini, lihat [Mengontrol akses ke bucket dengan kebijakan pengguna](walkthrough1.md). 

------
#### [ JSON ]

****  

```
{
 "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowGroupToSeeBucketListInTheConsole",
      "Action": [ 
      	"s3:ListAllMyBuckets", 
      	"s3:GetBucketLocation" 
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::*"  
    },
    {
      "Sid": "AllowRootLevelListingOfTheBucket",
      "Action": "s3:ListBucket",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1",
      "Condition": { 
            "StringEquals": {
                    "s3:prefix": [""], "s3:delimiter": ["/"]
                           }
                 }
    },
    {
      "Sid": "AllowListBucketOfASpecificUserPrefix",
      "Action": "s3:ListBucket",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1",
      "Condition": {  "StringLike": {"s3:prefix": ["${aws:username}/*"] }
       }
    },
      {
     "Sid": "AllowUserSpecificActionsOnlyInTheSpecificUserPrefix",
         "Effect": "Allow",
         "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/${aws:username}/*"
      }
  ]
}
```

------

**catatan**  
Dalam versi kebijakan 2012-10-17, variabel kebijakan dimulai dengan `$`. Perubahan sintaks ini berpotensi membuat konflik jika kunci objek Anda (nama objek) termasuk `$`.   
Untuk menghindari konflik ini, tentukan `$` karakter dengan menggunakan`${$}`. Misalnya, untuk menyertakan kunci objek `my$file` dalam kebijakan, tentukan sebagai`my${$}file`.

Meskipun nama pengguna IAM adalah pengidentifikasi yang dapat dibaca manusia dan mudah dikenali, tetapi nama-nama tersebut tidak harus bersifat unik secara global. Misalnya, jika pengguna Carlos meninggalkan organisasi dan Carlos lainnya bergabung, maka Carlos baru dapat mengakses informasi Carlos lama.

Alih-alih menggunakan nama pengguna, Anda bisa membuat folder berdasarkan pengguna IAM. IDs Setiap ID pengguna IAM adalah unik. Dalam hal ini, Anda harus mengubah kebijakan sebelumnya untuk menggunakan variabel kebijakan`${aws:userid}`. Untuk informasi lebih lanjut tentang pengidentifikasi pengguna, lihat [Pengidentifikasi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) dalam *Panduan Pengguna IAM*.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/home/${aws:userid}/*"
      }
   ]
}
```

------

### Mengizinkan pengguna non-IAM (pengguna aplikasi seluler) mengakses folder di dalam bucket
<a name="non-iam-mobile-app-user-access"></a>

Misalkan Anda ingin mengembangkan sebuah aplikasi seluler, sebuah permainan yang menyimpan data pengguna dalam bucket S3. Untuk setiap pengguna aplikasi, Anda ingin membuat folder dalam bucket Anda. Anda juga ingin membatasi akses setiap pengguna ke folder mereka sendiri. Tetapi Anda tidak dapat membuat folder sebelum seseorang mengunduh aplikasi Anda dan mulai memainkan game, karena Anda tidak memiliki ID pengguna mereka.

Dalam hal ini, Anda dapat meminta pengguna untuk masuk ke aplikasi Anda dengan menggunakan penyedia identitas publik seperti Login dengan Amazon, Facebook, atau Google. Setelah pengguna masuk ke aplikasi Anda melalui salah satu penyedia layanan ini, mereka memiliki ID pengguna yang dapat Anda gunakan untuk membuat folder kustom pengguna saat runtime.

Anda kemudian dapat menggunakan federasi identitas web AWS Security Token Service untuk mengintegrasikan informasi dari penyedia identitas dengan aplikasi Anda dan untuk mendapatkan kredensi keamanan sementara untuk setiap pengguna. Anda kemudian dapat membuat kebijakan IAM yang memungkinkan aplikasi mengakses bucket Anda dan melakukan operasi seperti membuat folder kustom pengguna dan mengunggah data. Untuk informasi lebih lanjut tentang federasi identitas web, lihat [Tentang Federasi Identitas Web](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html) dalam *Panduan Pengguna IAM*.

## Mengizinkan grup memiliki folder bersama di Amazon S3
<a name="iam-policy-ex2"></a>

Melampirkan kebijakan berikut ke grup akan memberikan kepada semua orang di grup akses ke folder berikut di Amazon S3: `amzn-s3-demo-bucket1/share/marketing`. Anggota grup diizinkan untuk hanya mengakses izin Amazon S3 tertentu saja yang ditampilkan dalam kebijakan dan hanya untuk objek di folder tertentu saja. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/share/marketing/*"
      }
   ]
}
```

------

## Mengizinkan semua pengguna Anda membaca objek di sebagian bucket
<a name="iam-policy-ex3"></a>

Dalam contoh ini, Anda membuat grup dengan nama `AllUsers`, yang berisi semua pengguna IAM yang dimiliki oleh Akun AWS. Anda kemudian melampirkan kebijakan yang memberikan grup akses ke `GetObject` dan `GetObjectVersion`, tetapi hanya untuk objek yang ada di folder `amzn-s3-demo-bucket1/readonly` saja. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetObject",
            "s3:GetObjectVersion"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/readonly/*"
      }
   ]
}
```

------

## Mengizinkan mitra untuk menempatkan file ke dalam bagian tertentu bucket
<a name="iam-policy-ex4"></a>

Dalam contoh ini, Anda membuat grup yang disebut `AnyCompany` yang mewakili perusahaan mitra. Anda membuat pengguna IAM untuk orang atau aplikasi tertentu di perusahaan mitra yang memerlukan akses, lalu Anda menempatkan pengguna tersebut dalam grup. 

Anda kemudian melampirkan kebijakan yang memberikan `PutObject` akses kepada grup ke folder berikut dalam bucket:

`amzn-s3-demo-bucket1/uploads/anycompany` 

Anda ingin mencegah `AnyCompany` grup melakukan hal lain dengan bucket, sehingga Anda menambahkan pernyataan yang secara jelas menolak izin untuk tindakan Amazon S3 kecuali pada sumber daya `PutObject` Amazon S3 di. Akun AWS

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"s3:PutObject",
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/uploads/anycompany/*"
      },
      {
         "Effect":"Deny",
         "Action":"s3:*",
         "NotResource":"arn:aws:s3:::amzn-s3-demo-bucket1/uploads/anycompany/*"
      }
   ]
}
```

------

## Membatasi akses ke bucket Amazon S3 dalam bucket tertentu Akun AWS
<a name="iam-policy-ex6"></a>

Jika Anda ingin memastikan bahwa kepala sekolah Amazon S3 Anda hanya mengakses sumber daya yang ada di dalam tepercaya Akun AWS, Anda dapat membatasi akses. Misalnya, [kebijakan IAM berbasis identitas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) ini menggunakan `Deny` efek untuk memblokir akses ke tindakan Amazon S3, kecuali sumber daya Amazon S3 yang sedang diakses ada di akun `222222222222`. Untuk mencegah prinsipal IAM dalam mengakses objek Amazon S3 di luar akun, lampirkan kebijakan IAM berikut: Akun AWS 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyS3AccessOutsideMyBoundary",
      "Effect": "Deny",
      "Action": [
        "s3:*"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "222222222222"
          ]
        }
      }
    }
  ]
}
```

------

**catatan**  
Kebijakan ini tidak menggantikan kontrol akses IAM Anda yang ada, karena tidak memberikan akses apa pun. Sebagai gantinya, kebijakan ini bertindak sebagai pagar pembatas tambahan untuk izin IAM Anda yang lain, terlepas dari izin yang diberikan melalui kebijakan IAM lainnya.

Pastikan untuk mengganti ID akun `222222222222` di polis dengan ID Anda sendiri Akun AWS. Untuk menerapkan kebijakan ke beberapa akun sambil tetap mempertahankan batasan ini, ganti ID akun dengan kunci `aws:PrincipalAccount` kondisi. Kondisi ini mensyaratkan bahwa pengguna utama dan sumber daya harus berada dalam akun yang sama.

## Membatasi akses ke bucket Amazon S3 dalam unit organisasi Anda
<a name="iam-policy-ex7"></a>

Jika Anda memiliki [unit organisasi (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html) yang disiapkan AWS Organizations, Anda mungkin ingin membatasi akses bucket Amazon S3 ke bagian tertentu dari organisasi Anda. Dalam contoh ini, kami akan menggunakan `aws:ResourceOrgPaths` kunci untuk membatasi akses bucket Amazon S3 ke OU di organisasi Anda. Untuk contoh ini, [ID OU](https://docs.aws.amazon.com/organizations/latest/APIReference/API_OrganizationalUnit.html) adalah`ou-acroot-exampleou`. Pastikan untuk mengganti nilai ini dalam kebijakan Anda sendiri dengan OU Anda sendiri IDs.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
     {
       "Sid": "AllowS3AccessOutsideMyBoundary",
       "Effect": "Allow",
       "Action": [
         "s3:*"
       ],
       "Resource": "*",
       "Condition": {
         "ForAllValues:StringLike": {
           "aws:ResourceOrgPaths": [
             "o-acorg/r-acroot/ou-acroot-exampleou/"
           ] 
         }
       }
     }
   ]
 }
```

------

**catatan**  
Kebijakan ini tidak memberikan akses apa pun. Sebagai gantinya, kebijakan ini bertindak sebagai penghalang untuk izin IAM Anda yang lain, mencegah pengguna utama mengakses objek Amazon S3 di luar batas yang ditentukan OU.

Kebijakan ini menolak akses ke tindakan Amazon S3 kecuali objek Amazon S3 yang sedang diakses ada di OU di `ou-acroot-exampleou` organisasi Anda. [Kondisi kebijakan IAM mengharuskan`aws:ResourceOrgPaths`, kunci kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) multivalued, untuk memuat salah satu jalur OU yang terdaftar. Kebijakan menggunakan `ForAllValues:StringNotLike` operator untuk membandingkan nilai yang tercantum OUs tanpa `aws:ResourceOrgPaths` pencocokan peka huruf besar/kecil.

## Membatasi akses ke bucket Amazon S3 di organisasi Anda
<a name="iam-policy-ex8"></a>

Untuk membatasi akses ke objek Amazon S3 dalam organisasi Anda, lampirkan kebijakan IAM ke root organisasi, terapkan ke semua akun di organisasi Anda. Untuk mewajibkan pengguna utama IAM Anda mengikuti aturan ini, gunakan kebijakan kontrol [layanan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) (SCP). Jika Anda memilih untuk menggunakan SCP, pastikan untuk [menguji SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html#scp-warning-testing-effect) secara menyeluruh sebelum melampirkan kebijakan ke root organisasi.

Dalam contoh kebijakan berikut, akses ditolak ke tindakan Amazon S3 kecuali objek Amazon S3 yang diakses berada di organisasi yang sama dengan pengguna utama IAM yang mengaksesnya:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
     {
       "Sid": "DenyS3AccessOutsideMyBoundary",
       "Effect": "Deny",
       "Action": [
         "s3:*"
       ],
       "Resource": "arn:aws:s3:::*/*",
       "Condition": {
         "StringNotEquals": {
           "aws:ResourceOrgID": "${aws:PrincipalOrgID}"
         }
       }
     }
   ]
 }
```

------

**catatan**  
Kebijakan ini tidak memberikan akses apa pun. Sebagai gantinya, kebijakan ini bertindak sebagai penghalang untuk izin IAM Anda yang lain, mencegah pengguna utama mengakses objek Amazon S3 apa pun di luar organisasi Anda. Kebijakan ini juga berlaku untuk sumber daya Amazon S3 yang dibuat setelah kebijakan diberlakukan.

[Kondisi kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam contoh ini mengharuskan `aws:ResourceOrgID` dan `aws:PrincipalOrgID` agar sama satu dengan yang lainnya. Dengan persyaratan ini, pengguna utama yang membuat permintaan dan sumber daya yang diakses harus berada di organisasi yang sama.

## Memberikan izin untuk mengambil PublicAccessBlock konfigurasi untuk Akun AWS
<a name="using-with-s3-actions-related-to-accountss"></a>

Contoh kebijakan berbasis identitas berikut memberikan `s3:GetAccountPublicAccessBlock` izin kepada pengguna. Untuk izin ini, Anda mengatur nilai `Resource` ke `"*"`. Untuk informasi tentang sumber daya ARNs, lihat[Sumber daya kebijakan untuk Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources).

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"statement1",
         "Effect":"Allow",
         "Action":[
            "s3:GetAccountPublicAccessBlock" 
         ],
         "Resource":[
            "*"
         ]
       }
    ]
}
```

------

## Membatasi pembuatan bucket ke satu Wilayah
<a name="condition-key-bucket-ops-1"></a>

Misalkan Akun AWS administrator ingin memberikan izin kepada penggunanya (Dave) untuk membuat ember di Wilayah Amerika Selatan (São Paulo) saja. Administrator akun dapat melampirkan kebijakan pengguna berikut ini yang memberikan izin `s3:CreateBucket` dengan syarat seperti yang ditunjukkan. Pasangan nilai kunci dalam pemblokiran `Condition` menentukan kunci `s3:LocationConstraint` dan Wilayah `sa-east-1` sebagai nilainya.

**catatan**  
Dalam contoh ini, pemilik bucket memberikan izin kepada salah satu penggunanya, sehingga kebijakan bucket atau kebijakan pengguna dapat digunakan. Contoh ini menunjukkan kebijakan pengguna.

Untuk daftar Wilayah Amazon S3, lihat [Wilayah dan Titik Akhir](https://docs.aws.amazon.com/general/latest/gr/s3.html) di *Referensi Umum AWS*. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "statement1",
         "Effect": "Allow",
         "Action": "s3:CreateBucket",
         "Resource": "arn:aws:s3:::*",
         "Condition": {
             "StringLike": {
                 "s3:LocationConstraint": "sa-east-1"
             }
         }
       }
    ]
}
```

------

**Menambahkan penolakan eksplisit**  
Kebijakan sebelumnya membatasi pengguna untuk membuat bucket di Wilayah lain kecuali `sa-east-1`. Namun, beberapa kebijakan lain mungkin memberikan izin kepada pengguna ini untuk membuat bucket di Wilayah lain. Misalnya, jika pengguna merupakan bagian dari sebuah kelompok, dan kelompok tersebut mungkin memiliki kebijakan yang melekat padanya yang memberikan izin kepada semua pengguna dalam kelompok tersebut untuk membuat bucket di Wilayah lain. Untuk memastikan bahwa pengguna tidak mendapatkan izin untuk membuat bucket di Wilayah lain, Anda dapat menambahkan pernyataan penolakan eksplisit dalam kebijakan di atas. 

Pernyataan `Deny` menggunakan kondisi `StringNotLike`. Artinya, permintaan buat bucket ditolak jika kendala lokasi tidak `sa-east-1`. Penolakan eksplisit tidak memungkinkan pengguna membuat bucket di Wilayah lain mana pun, apa pun izin lain yang didapat pengguna. Kebijakan berikut mencakup pernyataan penolakan eksplisit.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"statement1",
         "Effect":"Allow",
         "Action": "s3:CreateBucket",
         "Resource": "arn:aws:s3:::*",
         "Condition": {
             "StringLike": {
                 "s3:LocationConstraint": "sa-east-1"
             }
         }
       },
      {
         "Sid":"statement2",
         "Effect":"Deny",
         "Action": "s3:CreateBucket",
         "Resource": "arn:aws:s3:::*",
         "Condition": {
             "StringNotLike": {
                 "s3:LocationConstraint": "sa-east-1"
             }
         }
       }
    ]
}
```

------

**Uji kebijakan dengan AWS CLI**  
Anda dapat menguji kebijakan menggunakan `create-bucket` AWS CLI perintah berikut. Contoh ini menggunakan file `bucketconfig.txt` untuk menentukan batasan lokasi. Perhatikan jalur Windows file. Anda perlu memperbarui nama bucket dan alurnya sesuai kebutuhan. Anda harus memberikan kredensial pengguna dengan menggunakan parameter `--profile`. *Untuk informasi selengkapnya tentang pengaturan dan penggunaan AWS CLI, lihat [Mengembangkan dengan Amazon S3 menggunakan AWS CLI di Referensi API](https://docs.aws.amazon.com/AmazonS3/latest/API/setup-aws-cli.html) Amazon S3.*

```
aws s3api create-bucket --bucket examplebucket --profile AccountADave --create-bucket-configuration file://c:/Users/someUser/bucketconfig.txt
```

File `bucketconfig.txt` menentukan konfigurasi sebagai berikut.

```
{"LocationConstraint": "sa-east-1"}
```

# Panduan yang menggunakan kebijakan untuk mengelola akses ke sumber daya Amazon S3
<a name="example-walkthroughs-managing-access"></a>

Topik ini menyediakan contoh penelusuran pendahuluan berikut ini untuk memberikan akses ke sumber daya Amazon S3. Contoh-contoh ini menggunakan Konsol Manajemen AWS untuk membuat sumber daya (bucket, objek, pengguna) dan memberi mereka izin. Contoh-contoh ini kemudian menunjukkan kepada Anda cara memverifikasi izin menggunakan alat baris perintah, sehingga Anda tidak perlu menulis kode apa pun. Kami menyediakan perintah menggunakan AWS Command Line Interface (AWS CLI) dan AWS Tools for Windows PowerShell.
+ [Contoh 1: Pemilik bucket yang memberikan izin bucket kepada penggunanya](example-walkthroughs-managing-access-example1.md)

  Secara bawaan, pengguna IAM yang Anda buat di akun Anda tidak memiliki izin. Dalam latihan ini, Anda memberikan izin kepada pengguna untuk melakukan operasi bucket dan objek.
+ [Contoh 2: Pemilik bucket yang memberikan izin bucket lintas akun](example-walkthroughs-managing-access-example2.md)

  Dalam latihan ini, pemilik bucket, Akun A, memberikan izin lintas akun ke Akun AWS lain, Akun B. Akun B kemudian mendelegasikan izin tersebut kepada pengguna dalam akunnya. 
+ **Mengelola izin objek saat pemilik objek dan bucket tidak sama**

  Skenario contoh dalam kasus ini adalah tentang pemilik bucket yang memberikan izin objek kepada orang lain, tetapi tidak semua objek dalam bucket dimiliki oleh pemilik bucket. Apa izin yang diperlukan pemilik bucket, dan bagaimana izin tersebut dapat didelegasikan?

   Akun AWS Yang membuat ember disebut *pemilik ember*. Pemilik dapat memberikan Akun AWS izin lain untuk mengunggah objek, dan Akun AWS yang membuat objek memilikinya. Pemilik bucket tidak memiliki izin pada objek yang dibuat oleh Akun AWS lain. Jika pemilik bucket menulis kebijakan bucket yang memberikan akses ke objek, kebijakan tersebut tidak berlaku untuk objek yang dimiliki oleh akun lain. 

  Dalam hal ini, pemilik objek harus terlebih dahulu memberikan izin kepada pemilik bucket dengan menggunakan ACL objek. Pemilik bucket kemudian dapat mendelegasikan izin objek tersebut kepada orang lain, kepada pengguna di akunnya sendiri, atau ke akun lain Akun AWS, seperti yang diilustrasikan oleh contoh berikut.
  + [Contoh 3: Pemilik bucket yang memberikan izin kepada penggunanya ke objek yang bukan miliknya](example-walkthroughs-managing-access-example3.md)

    Dalam latihan ini, pemilik bucket terlebih dahulu mendapatkan izin dari pemilik objek. Pemilik bucket kemudian mendelegasikan izin tersebut kepada pengguna dalam akunnya sendiri.
  + [Contoh 4 - Pemilik bucket memberikan izin lintas akun ke objek yang tidak dimilikinya](example-walkthroughs-managing-access-example4.md)

    Setelah menerima izin dari pemilik objek, pemilik bucket tidak dapat mendelegasikan izin ke yang lain Akun AWS karena delegasi lintas akun tidak didukung (lihat). [Delegasi izin](access-policy-language-overview.md#permission-delegation) Sebagai gantinya, pemilik bucket dapat membuat peran IAM dengan izin untuk melakukan operasi tertentu (seperti get object) dan mengizinkan orang lain Akun AWS untuk mengambil peran tersebut. Siapa pun yang akan mengambil peran tersebut kemudian dapat mengakses objeknya. Contoh ini menunjukkan bagaimana pemilik bucket dapat menggunakan peran IAM untuk memungkinkan delegasi lintas akun ini. 

## Sebelum Anda mencoba contoh penelusuran
<a name="before-you-try-example-walkthroughs-manage-access"></a>

Contoh-contoh ini menggunakan Konsol Manajemen AWS untuk membuat sumber daya dan memberikan izin. Untuk menguji izin, contoh menggunakan alat baris perintah, dan AWS CLI AWS Tools for Windows PowerShell, jadi Anda tidak perlu menulis kode apa pun. Untuk menguji izin, Anda harus menyiapkan salah satu alat ini. Untuk informasi selengkapnya, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md). 

Selain itu, saat membuat sumber daya, contoh-contoh ini tidak menggunakan kredenal pengguna root dari file. Akun AWS Sebaliknya, Anda membuat pengguna administrator di akun ini untuk melakukan tugas-tugas tersebut. 

### Tentang menggunakan pengguna administrator untuk membuat sumber daya dan memberikan izin
<a name="about-using-root-credentials"></a>

AWS Identity and Access Management (IAM) merekomendasikan untuk tidak menggunakan kredensial pengguna root perangkat Akun AWS untuk mengajukan permintaan. Sebagai gantinya, buat pengguna IAM atau peran, berikan mereka akses penuh, kemudian gunakan kredensialnya untuk mengajukan permintaan. Kami menyebut ini sebagai pengguna administratif atau peran. Untuk informasi lebih lanjut, buka [Pengguna root akun AWS kredensial dan identitas IAM](https://docs.aws.amazon.com/general/latest/gr/root-vs-iam.html) di *Referensi Umum AWS* dan [Praktik Terbaik IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) di *Panduan Pengguna IAM*.

Semua panduan contoh dalam bagian ini menggunakan kredensial pengguna administrator. Jika Anda belum membuat pengguna administrator untuk Anda Akun AWS, topik menunjukkan caranya. 

Untuk masuk ke Konsol Manajemen AWS menggunakan kredensyal pengguna, Anda harus menggunakan URL Masuk pengguna IAM. [Konsol IAM](https://console.aws.amazon.com/iam/) menyediakan URL ini untuk Anda Akun AWS. Topik-topik ini juga akan menunjukkan cara mendapatkan URL.

# Menyiapkan alat untuk penelusuran
<a name="policy-eval-walkthrough-download-awscli"></a>

Contoh pengantar (lihat[Panduan yang menggunakan kebijakan untuk mengelola akses ke sumber daya Amazon S3](example-walkthroughs-managing-access.md)) menggunakan Konsol Manajemen AWS untuk membuat sumber daya dan memberikan izin. Untuk menguji izin, contoh menggunakan alat baris perintah, AWS Command Line Interface (AWS CLI) dan AWS Tools for Windows PowerShell, jadi Anda tidak perlu menulis kode apa pun. Untuk menguji izin, Anda harus menyiapkan salah satu alat ini. 

**Untuk mengatur AWS CLI**

1. Unduh dan konfigurasikan AWS CLI. Untuk instruksi, lihat topik berikut di *AWS Command Line Interface Panduan Pengguna*: 

    [Instal atau perbarui ke versi terbaru AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) 

    [Memulai dengan AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

1. Mengatur profil bawaan. 

   Anda menyimpan kredensyal pengguna di file AWS CLI konfigurasi. Buat profil default di file konfigurasi menggunakan Akun AWS kredensil Anda. Untuk petunjuk tentang menemukan dan mengedit file AWS CLI konfigurasi Anda, lihat [Konfigurasi dan pengaturan file kredensi](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html).

   ```
   [default]
   aws_access_key_id = access key ID
   aws_secret_access_key = secret access key
   region = us-west-2
   ```

1. Verifikasi pengaturan dengan memasukkan perintah berikut pada prompt perintah. Kedua perintah ini tidak memberikan kredensial secara jelas, sehingga kredensial profil bawaan digunakan.
   + Coba `help` perintahnya.

     ```
     aws help
     ```
   + Untuk mendapatkan daftar ember pada akun yang dikonfigurasi, gunakan `aws s3 ls` perintah.

     ```
     aws s3 ls
     ```

Saat Anda melalui penelusuran, Anda akan membuat pengguna, dan Anda akan menyimpan kredensyal pengguna dalam file konfigurasi dengan membuat profil, seperti yang ditunjukkan contoh berikut. Profil ini memiliki nama `AccountAadmin` dan`AccountBadmin`.

```
[profile AccountAadmin]
aws_access_key_id = User AccountAadmin access key ID
aws_secret_access_key = User AccountAadmin secret access key
region = us-west-2

[profile AccountBadmin]
aws_access_key_id = Account B access key ID
aws_secret_access_key = Account B secret access key
region = us-east-1
```

Untuk menjalankan perintah menggunakan kredensial pengguna ini, Anda perlu menambahkan parameter `--profile` yang menentukan nama profil. AWS CLI Perintah berikut mengambil daftar objek di *`examplebucket`* dan menentukan profil. `AccountBadmin` 

```
aws s3 ls s3://examplebucket --profile AccountBadmin
```

Atau, Anda dapat mengonfigurasi satu set kredensial pengguna sebagai profil bawaan dengan mengubah variabel lingkungan `AWS_DEFAULT_PROFILE` dari command prompt. Setelah Anda melakukan ini, setiap kali Anda melakukan AWS CLI perintah tanpa `--profile` parameter, AWS CLI menggunakan profil yang Anda atur dalam variabel lingkungan sebagai profil default.

```
$ export AWS_DEFAULT_PROFILE=AccountAadmin
```

**Untuk mengatur AWS Tools for Windows PowerShell**

1. Unduh dan konfigurasikan AWS Tools for Windows PowerShell. Untuk instruksi, buka [Menginstal AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html#pstools-installing-download) di *Panduan Alat AWS untuk PowerShell Pengguna*. 
**catatan**  
Untuk memuat AWS Tools for Windows PowerShell modul, Anda harus mengaktifkan eksekusi PowerShell skrip. Untuk informasi selengkapnya, lihat [Mengaktifkan Eksekusi Skrip](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html#enable-script-execution) di *Panduan Alat AWS untuk PowerShell Pengguna*.

1. Untuk penelusuran ini, Anda menentukan AWS kredensyal per sesi menggunakan perintah. `Set-AWSCredentials` Perintah menyimpan kredensial ke penyimpanan persisten (parameter `-StoreAs `).

   ```
   Set-AWSCredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas string
   ```

1. Verifikasi pengaturan.
   + Untuk mengambil daftar perintah yang tersedia yang dapat Anda gunakan untuk operasi Amazon S3, jalankan `Get-Command` perintah. 

     ```
     Get-Command -module awspowershell -noun s3* -StoredCredentials string
     ```
   + Untuk mengambil daftar objek dalam ember, jalankan `Get-S3Object` perintah.

     ```
     Get-S3Object -BucketName bucketname -StoredCredentials string
     ```

Untuk daftar perintah, lihat [AWS Alat untuk Referensi PowerShell Cmdlet](https://docs.aws.amazon.com/powershell/latest/reference/Index.html). 

Sekarang Anda siap untuk mencoba penelusuran. Ikuti tautan yang disediakan di awal setiap bagian.

# Contoh 1: Pemilik bucket yang memberikan izin bucket kepada penggunanya
<a name="example-walkthroughs-managing-access-example1"></a>

**penting**  
Memberikan izin untuk peran IAM adalah praktik yang lebih baik daripada memberikan izin kepada pengguna individual.Untuk informasi selengkapnya tentang cara memberikan izin ke peran IAM, lihat. [Memahami izin lintas akun dan menggunakan peran IAM](example-walkthroughs-managing-access-example4.md#access-policies-walkthrough-example4-overview)

**Topics**
+ [Bersiap untuk panduan](#grant-permissions-to-user-in-your-account-step0)
+ [Langkah 1: Buat sumber daya di Akun A dan berikan izin](#grant-permissions-to-user-in-your-account-step1)
+ [Langkah 2: Menguji izin](#grant-permissions-to-user-in-your-account-test)

Dalam panduan ini, a Akun AWS memiliki ember, dan akun menyertakan pengguna IAM Secara default, pengguna tidak memiliki izin. Agar pengguna dapat melakukan tugas apa pun, akun induk harus memberikan izin kepada mereka. Pemilik bucket dan akun induk sama. Oleh karena itu, untuk memberikan izin pengguna di bucket, Akun AWS dapat menggunakan kebijakan bucket, kebijakan pengguna, atau keduanya. Pemilik akun akan memberikan beberapa izin menggunakan kebijakan bucket dan beberapa izin lainnya menggunakan kebijakan pengguna.

Langkah-langkah berikut merangkum panduannya:

![\[Diagram yang menunjukkan AWS akun yang memberikan izin.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/access-policy-ex1.png)


1. Administrator akun membuat kebijakan bucket yang memberikan serangkaian izin kepada pengguna.

1. Administrator akun melampirkan kebijakan pengguna pada pengguna yang memberikan izin tambahan.

1. Pengguna kemudian mencoba izin yang diberikan baik melalui kebijakan bucket maupun kebijakan pengguna.

Untuk contoh ini, Anda akan membutuhkan Akun AWS. Alih-alih menggunakan kredensial pengguna root akun, Anda akan membuat pengguna administrator (lihat[Tentang menggunakan pengguna administrator untuk membuat sumber daya dan memberikan izin](example-walkthroughs-managing-access.md#about-using-root-credentials)). Kami merujuk ke Akun AWS dan pengguna administrator seperti yang ditunjukkan pada tabel berikut.


| account-id | Akun disebut sebagai | Pengguna administrator pada akun | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Akun A  |  AccountAadmin  | 

**catatan**  
Pengguna administrator dalam contoh ini adalah **AccountAadmin**, yang mengacu pada Akun A, dan bukan **AccountAdmin**.

Semua tugas membuat pengguna dan memberikan izin dilakukan di Konsol Manajemen AWS. Untuk memverifikasi izin, penelusuran menggunakan alat baris perintah, AWS Command Line Interface (AWS CLI) dan AWS Tools for Windows PowerShell, jadi Anda tidak perlu menulis kode apa pun.

## Bersiap untuk panduan
<a name="grant-permissions-to-user-in-your-account-step0"></a>

1. Pastikan Anda memiliki Akun AWS dan memiliki pengguna dengan hak administrator.

   1. Mendaftar untuk Akun AWS, jika diperlukan. Kami menyebut akun ini sebagai Akun A.

      1.  Buka [https://aws.amazon.com/s3](https://aws.amazon.com/s3) dan pilih **Buat akun AWS **. 

      1. Ikuti petunjuk di layar.

         AWS akan memberi tahu Anda melalui email ketika akun Anda aktif dan tersedia untuk Anda gunakan.

   1. Di Akun A, buat pengguna administrator**AccountAadmin**. Menggunakan kredensial Akun A, masuklah ke [Konsol IAM](https://console.aws.amazon.com/iam/home?#home) dan lakukan hal-hal berikut ini: 

      1. Buat pengguna **AccountAadmin** dan catat kredensyal keamanan pengguna. 

         Untuk petunjuk, lihat [Membuat pengguna IAM di Panduan Pengguna *IAM* Anda Akun AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). 

      1. Berikan hak administrator **AccountAadmin**dengan melampirkan kebijakan pengguna yang memberikan akses penuh. 

         Untuk instruksi, lihat [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) dalam *Panduan Pengguna IAM*. 

      1. Perhatikan **URL Masuk pengguna IAM** untuk. **AccountAadmin** Anda perlu menggunakan URL ini saat masuk ke Konsol Manajemen AWS. Untuk informasi selengkapnya tentang tempat menemukan URL masuk, lihat [Masuk ke Konsol Manajemen AWS sebagai pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) *IAM*. Catat URL untuk setiap akun.

1. Siapkan salah satu AWS CLI atau AWS Tools for Windows PowerShell. Pastikan Anda menyimpan kredensi pengguna administrator sebagai berikut:
   + Jika menggunakan AWS CLI, buat profil,`AccountAadmin`, di file konfigurasi.
   + Jika menggunakan AWS Tools for Windows PowerShell, pastikan Anda menyimpan kredensyal untuk sesi sebagai. `AccountAadmin`

   Untuk petunjuk, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md). 

## Langkah 1: Buat sumber daya di Akun A dan berikan izin
<a name="grant-permissions-to-user-in-your-account-step1"></a>

Dengan menggunakan kredensyal pengguna `AccountAadmin` di Akun A, dan URL login pengguna IAM khusus, masuk ke akun Konsol Manajemen AWS dan lakukan hal berikut:

1. Buat sumber daya bucket dan pengguna IAM

   1. Pada konsol Amazon S3, buat bucket. Perhatikan Wilayah AWS di mana Anda membuat ember. Untuk petunjuk, lihat [Membuat bucket tujuan umum](create-bucket-overview.md). 

   1. Di [Konsol IAM](https://console.aws.amazon.com/iam/), lakukan hal berikut: 

      1. Buat pengguna bernama Dave.

         Untuk step-by-step petunjuk, lihat [Membuat pengguna IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) di *Panduan Pengguna IAM*. 

      1. Perhatikan `UserDave` kredensialnya.

      1. Perhatikan Nama Sumber Daya Amazon (ARN) untuk pengguna Dave. Di [Konsol IAM](https://console.aws.amazon.com/iam/), pilih pengguna, dan tab **Ringkasan** menyediakan ARN pengguna.

1. Berikan izin. 

   Karena pemilik bucket dan akun induk yang dimiliki pengguna adalah sama, mereka Akun AWS dapat memberikan izin pengguna menggunakan kebijakan bucket, kebijakan pengguna, atau keduanya. Dalam contoh ini, Anda melakukan keduanya. Jika objek juga dimiliki oleh akun yang sama, maka pemilik bucket dapat memberikan izin objek dalam kebijakan bucket (atau kebijakan IAM).

   1. Di konsol Amazon S3, lampirkan kebijakan bucket berikut ke. *awsexamplebucket1* 

      Kebijakan ini memiliki dua pernyataan. 
      + Pernyataan pertama memberikan izin operasi bucket `s3:GetBucketLocation` dan `s3:ListBucket` kepada Dave.
      + Pernyataan kedua memberikan izin kepada `s3:GetObject`. Karena Akun A juga memiliki objek, administrator akun dapat memberikan izin kepada `s3:GetObject`. 

      Pada pernyataan `Principal`, Dave diidentifikasi oleh pengguna ARN-nya. Untuk informasi lebih lanjut tentang elemen-elemen kebijakan, lihat [Kebijakan dan izin di Amazon S3](access-policy-language-overview.md).

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "statement1",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:user/Dave"
                  },
                  "Action": [
                      "s3:GetBucketLocation",
                      "s3:ListBucket"
                  ],
                  "Resource": [
                      "arn:aws:s3:::awsexamplebucket1"
                  ]
              },
              {
                  "Sid": "statement2",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:user/Dave"
                  },
                  "Action": [
                      "s3:GetObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::awsexamplebucket1/*"
                  ]
              }
          ]
      }
      ```

------

   1. Buat kebijakan yang selaras untuk pengguna Dave, dengan menggunakan kebijakan berikut. Kebijakan tersebut memberikan izin `s3:PutObject` kepada Dave. Anda perlu memperbarui kebijakan dengan memberikan nama bucket Anda.

------
#### [ JSON ]

****  

      ```
      {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
            {
               "Sid": "PermissionForObjectOperations",
               "Effect": "Allow",
               "Action": [
                  "s3:PutObject"
               ],
               "Resource": [
                  "arn:aws:s3:::awsexamplebucket1/*"
               ]
            }
         ]
      }
      ```

------

      Untuk petunjuk, lihat [Mengelola IAMpolicies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_inline-using.html) dalam *Panduan Pengguna IAM*. Perlu diperhatikan bahwa Anda perlu masuk ke konsol dengan menggunakan kredensial Akun A.

## Langkah 2: Menguji izin
<a name="grant-permissions-to-user-in-your-account-test"></a>

Dengan menggunakan kredensial Dave, verifikasikan bahwa izin tersebut berfungsi. Anda dapat menggunakan salah satu dari dua prosedur berikut.

**Izin uji menggunakan AWS CLI**

1. Perbarui file AWS CLI konfigurasi dengan menambahkan `UserDaveAccountA` profil berikut. Untuk informasi selengkapnya, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md).

   ```
   [profile UserDaveAccountA]
   aws_access_key_id = access-key
   aws_secret_access_key = secret-access-key
   region = us-east-1
   ```

1. Verifikasi bahwa Dave dapat melakukan operasi sebagaimana yang diberikan dalam kebijakan pengguna. Unggah objek sampel menggunakan AWS CLI `put-object` perintah berikut. 

   Parameter `--body` dalam perintah mengidentifikasi file sumber yang akan diunggah. Misalnya, jika file berada di root drive C: pada Windows mesin, Anda tentukan`c:\HappyFace.jpg`. Parameter `--key` menyediakan nama kunci untuk objek.

   ```
   aws s3api put-object --bucket awsexamplebucket1 --key HappyFace.jpg --body HappyFace.jpg --profile UserDaveAccountA
   ```

   Jalankan AWS CLI perintah berikut untuk mendapatkan objek. 

   ```
   aws s3api get-object --bucket awsexamplebucket1 --key HappyFace.jpg OutputFile.jpg --profile UserDaveAccountA
   ```

**Izin uji menggunakan AWS Tools for Windows PowerShell**

1. Simpan kredensial Dave sebagai `AccountADave`. Anda kemudian menggunakan kredensil ini ke `PUT` dan `GET` objek.

   ```
   set-awscredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas AccountADave
   ```

1. Unggah objek sampel menggunakan AWS Tools for Windows PowerShell `Write-S3Object` perintah menggunakan kredensyal tersimpan pengguna Dave. 

   ```
   Write-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file HappyFace.jpg -StoredCredentials AccountADave
   ```

   Unduh objek yang telah diunggah sebelumnya.

   ```
   Read-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file Output.jpg -StoredCredentials AccountADave
   ```

# Contoh 2: Pemilik bucket yang memberikan izin bucket lintas akun
<a name="example-walkthroughs-managing-access-example2"></a>

**penting**  
Memberikan izin untuk peran IAM adalah praktik yang lebih baik daripada memberikan izin kepada pengguna individu. Untuk mempelajari cara melakukannya, lihat [Memahami izin lintas akun dan menggunakan peran IAM](example-walkthroughs-managing-access-example4.md#access-policies-walkthrough-example4-overview).

**Topics**
+ [Bersiap untuk panduan](#cross-acct-access-step0)
+ [Langkah 1: Melakukan tugas Akun A](#access-policies-walkthrough-cross-account-permissions-acctA-tasks)
+ [Langkah 2: Melakukan tugas Akun B](#access-policies-walkthrough-cross-account-permissions-acctB-tasks)
+ [Langkah 3: (Opsional) Coba penolakan eksplisit](#access-policies-walkthrough-example2-explicit-deny)
+ [Langkah 4: Membersihkan](#access-policies-walkthrough-example2-cleanup-step)

Sebuah Akun AWS—misalnya, Akun a—dapat memberikan izin lain Akun AWS, Akun B, untuk mengakses sumber dayanya seperti ember dan objek. Akun B kemudian dapat mendelegasikan izin tersebut kepada pengguna dalam akunnya. Dalam skenario contoh ini, pemilik bucket memberikan izin lintas akun kepada akun lain untuk melakukan operasi bucket tertentu.

**catatan**  
Akun A juga dapat secara langsung memberikan izin kepada pengguna di Akun B dengan menggunakan kebijakan bucket. Namun, pengguna masih memerlukan izin dari akun induk, Akun B, tempat pengguna berada, bahkan jika Akun B tidak memiliki izin dari Akun A. Selama pengguna memiliki izin dari pemilik sumber daya dan akun induk, pengguna akan dapat mengakses sumber daya.

Berikut ini adalah ringkasan langkah-langkah panduan:

![\[Akun AWS Pemberian Akun AWS izin lain untuk mengakses sumber dayanya.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/access-policy-ex2.png)


1. Pengguna administrator Akun A melampirkan kebijakan bucket yang memberikan izin lintas akun kepada Akun B untuk melakukan operasi bucket tertentu.

   Perhatikan bahwa pengguna administrator di Akun B akan secara otomatis mewarisi izin tersebut.

1. Pengguna administrator Akun B melampirkan kebijakan pengguna kepada pengguna yang mendelegasikan izin yang diterima pengguna administrator Akun B dari Akun A.

1. Pengguna di Akun B kemudian memverifikasi izin dengan mengakses objek yang ada dalam bucket yang dimiliki oleh Akun A.

Untuk contoh ini, Anda memerlukan dua akun. Tabel berikut menunjukkan cara kami merujuk akun-akun ini dan pengguna administrator di dalamnya. Sesuai dengan pedoman IAM (lihat[Tentang menggunakan pengguna administrator untuk membuat sumber daya dan memberikan izin](example-walkthroughs-managing-access.md#about-using-root-credentials)), kami tidak menggunakan kredensi pengguna root dalam panduan ini. Sebagai gantinya, Anda membuat pengguna administrator di setiap akun dan menggunakan kredensial tersebut saat membuat sumber daya dan memberikan mereka izin. 


| Akun AWS ID | Akun disebut sebagai | Pengguna administrator pada akun  | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Akun A  |  AccountAadmin  | 
|  *2222-2222-2222*  |  Akun B  |  AccountBadmin  | 

Semua tugas membuat pengguna dan memberikan izin dilakukan di Konsol Manajemen AWS. Untuk memverifikasi izin, panduan menggunakan alat baris perintah, ( AWS Command Line Interface CLI) dan AWS Tools for Windows PowerShell, jadi Anda tidak perlu menulis kode apa pun.

## Bersiap untuk panduan
<a name="cross-acct-access-step0"></a>

1. Pastikan Anda memiliki dua Akun AWS dan bahwa setiap akun memiliki satu pengguna administrator seperti yang ditunjukkan pada tabel di bagian sebelumnya.

   1. Mendaftar untuk Akun AWS, jika diperlukan. 

   1. Dengan menggunakan kredensial Akun A, masuk ke [Konsol IAM](https://console.aws.amazon.com/iam/home?#home) untuk membuat pengguna administrator:

      1. Buat pengguna **AccountAadmin** dan catat kredensialnya. Untuk instruksi, lihat [Membuat Pengguna IAM dalam Akun AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) Anda, dalam *Panduan Pengguna IAM*. 

      1. Berikan hak administrator **AccountAadmin**dengan melampirkan kebijakan pengguna yang memberikan akses penuh. Untuk instruksi, lihat [Bekerja dengan Kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) dalam *Panduan Pengguna IAM*. 

   1. **Saat Anda berada di konsol IAM, perhatikan **URL Masuk pengguna IAM** di Dasbor.** Semua pengguna di akun tersebut harus menggunakan URL ini saat masuk ke Konsol Manajemen AWS.

      Untuk informasi lebih lanjut, lihat [Cara Pengguna Masuk ke Akun Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) dalam *Panduan Pengguna IAM*. 

   1. Ulangi langkah sebelumnya dengan menggunakan kredensial Akun B dan buat pengguna administrator **AccountBadmin**.

1. Mengatur baik AWS Command Line Interface (AWS CLI) atau AWS Tools for Windows PowerShell. Pastikan Anda menyimpan kredensi pengguna administrator sebagai berikut:
   + Jika menggunakan AWS CLI, buat dua profil, `AccountAadmin` dan`AccountBadmin`, dalam file konfigurasi.
   + Jika menggunakan AWS Tools for Windows PowerShell, pastikan bahwa Anda menyimpan kredensyal untuk sesi sebagai `AccountAadmin` dan. `AccountBadmin`

   Untuk petunjuk, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md). 

1. Simpan kredensial pengguna administrator, juga disebut sebagai profil. Anda dapat menggunakan nama profil alih-alih menentukan kredensial untuk setiap perintah yang Anda masukkan. Untuk informasi selengkapnya, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md). 

   1. Tambahkan profil dalam file AWS CLI kredensyal untuk masing-masing pengguna administrator, `AccountAadmin` dan`AccountBadmin`, di dua akun. 

      ```
      [AccountAadmin]
      aws_access_key_id = access-key-ID
      aws_secret_access_key = secret-access-key
      region = us-east-1
      
      [AccountBadmin]
      aws_access_key_id = access-key-ID
      aws_secret_access_key = secret-access-key
      region = us-east-1
      ```

   1. Jika Anda menggunakan AWS Tools for Windows PowerShell, jalankan perintah berikut.

      ```
      set-awscredentials –AccessKey AcctA-access-key-ID –SecretKey AcctA-secret-access-key –storeas AccountAadmin
      set-awscredentials –AccessKey AcctB-access-key-ID –SecretKey AcctB-secret-access-key –storeas AccountBadmin
      ```

## Langkah 1: Melakukan tugas Akun A
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks"></a>

### Langkah 1.1: Masuk ke Konsol Manajemen AWS
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks-sign-in"></a>

Menggunakan URL login pengguna IAM untuk Akun A, pertama-tama masuk ke pengguna Konsol Manajemen AWS sebagai **AccountAadmin**. Pengguna ini akan membuat bucket dan melampirkan kebijakan pada bucket tersebut. 

### Langkah 1.2: Buat bucket
<a name="access-policies-walkthrough-example2a-create-bucket"></a>

1. Pada konsol Amazon S3, buat bucket. Latihan ini mengasumsikan ember dibuat di AS Timur (Virginia N.) Wilayah AWS dan diberi nama. `amzn-s3-demo-bucket`

   Untuk petunjuk, lihat [Membuat bucket tujuan umum](create-bucket-overview.md). 

1. Unggah objek sampel ke bucket.

   Untuk instruksi, buka [Langkah 2: Unggah objek ke bucket Anda](GetStartedWithS3.md#uploading-an-object-bucket). 

### Langkah 1.3: Melampirkan kebijakan bucket untuk memberikan izin lintas akun kepada Akun B
<a name="access-policies-walkthrough-example2a"></a>

Kebijakan bucket memberikan `s3:ListBucket` izin `s3:GetLifecycleConfiguration` dan ke Akun B. Diasumsikan bahwa Anda masih masuk ke konsol menggunakan kredensyal **AccountAadmin**pengguna.

1. Melampirkan kebijakan bucket berikut untuk `amzn-s3-demo-bucket`. Kebijakan tersebut memberikan izin Akun B untuk tindakan `s3:GetLifecycleConfiguration` dan `s3:ListBucket`.

   Untuk petunjuk, lihat [Menambahkan kebijakan bucket dengan menggunakan konsol Amazon S3](add-bucket-policy.md). 

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Sid": "Example permissions",
            "Effect": "Allow",
            "Principal": {
               "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
               "s3:GetLifecycleConfiguration",
               "s3:ListBucket"
            ],
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
         }
      ]
   }
   ```

------

1. Verifikasi bahwa Akun B (dan dengan demikian pengguna administratornya) dapat melakukan operasi.
   + Verifikasi menggunakan AWS CLI

     ```
     aws s3 ls s3://amzn-s3-demo-bucket --profile AccountBadmin
     aws s3api get-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket --profile AccountBadmin
     ```
   + Verifikasi menggunakan AWS Tools for Windows PowerShell

     ```
     get-s3object -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBadmin 
     get-s3bucketlifecycleconfiguration -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBadmin
     ```

## Langkah 2: Melakukan tugas Akun B
<a name="access-policies-walkthrough-cross-account-permissions-acctB-tasks"></a>

Sekarang administrator Akun B membuat pengguna, yakni Dave, dan mendelegasikan izin yang diterima dari Akun A. 

### Langkah 2.1: Masuk ke Konsol Manajemen AWS
<a name="access-policies-walkthrough-cross-account-permissions-acctB-tasks-sign-in"></a>

Menggunakan URL login pengguna IAM untuk Akun B, pertama-tama masuk ke pengguna Konsol Manajemen AWS sebagai **AccountBadmin**. 

### Langkah 2.2: Buat Dave pengguna di Akun B
<a name="access-policies-walkthrough-example2b-create-user"></a>

Di [Konsol IAM](https://console.aws.amazon.com/iam/), buat pengguna,**Dave**. 

Untuk petunjuk, lihat [Membuat pengguna IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) di *Panduan Pengguna IAM*. 

### Langkah 2.3: Delegasikan izin untuk dave pengguna
<a name="access-policies-walkthrough-example2-delegate-perm-userdave"></a>

Buat kebijakan yang selaras untuk pengguna Dave, dengan menggunakan kebijakan berikut. Anda harus memperbarui kebijakan dengan memberikan nama bucket Anda.

Diasumsikan bahwa Anda masuk ke konsol menggunakan kredensyal **AccountBadmin**pengguna.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "Example",
         "Effect": "Allow",
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
      }
   ]
}
```

------

Untuk instruksi, lihat [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_inline-using.html) dalam *Panduan Pengguna IAM*.

### Langkah 2.4: Menguji izin
<a name="access-policies-walkthrough-example2b-user-dave-access"></a>

Sekarang Dave di Akun B dapat mencantumkan isi `amzn-s3-demo-bucket` yang dimiliki oleh Akun A. Anda dapat memverifikasi izin menggunakan salah satu prosedur berikut. 

**Izin uji menggunakan AWS CLI**

1. Tambahkan `UserDave` profil ke file AWS CLI konfigurasi. Untuk informasi lebih lanjut tentang file config, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md).

   ```
   [profile UserDave]
   aws_access_key_id = access-key
   aws_secret_access_key = secret-access-key
   region = us-east-1
   ```

1. Pada command prompt, masukkan AWS CLI perintah berikut untuk memverifikasi Dave sekarang bisa mendapatkan daftar objek dari yang `amzn-s3-demo-bucket` dimiliki oleh Account A. Catatan perintah menentukan profil. `UserDave`

   ```
   aws s3 ls s3://amzn-s3-demo-bucket --profile UserDave
   ```

   Dave tidak memiliki izin lain. Jadi, jika dia mencoba operasi lain—misalnya, `get-bucket-lifecycle` konfigurasi berikut—Amazon S3 mengembalikan izin yang ditolak. 

   ```
   aws s3api get-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket --profile UserDave
   ```

**Uji izin menggunakan AWS Tools for Windows PowerShell**

1. Simpan kredensial Dave sebagai `AccountBDave`.

   ```
   set-awscredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas AccountBDave
   ```

1. Coba perintah Cantumkan bucket.

   ```
   get-s3object -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBDave
   ```

   Dave tidak memiliki izin lain. Jadi, jika dia mencoba operasi lain—misalnya, berikut `get-s3bucketlifecycleconfiguration` ini—Amazon S3 mengembalikan izin yang ditolak. 

   ```
   get-s3bucketlifecycleconfiguration -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBDave
   ```

## Langkah 3: (Opsional) Coba penolakan eksplisit
<a name="access-policies-walkthrough-example2-explicit-deny"></a>

Anda dapat memiliki izin yang diberikan dengan menggunakan daftar kontrol akses (ACL), kebijakan bucket, atau kebijakan pengguna. Tetapi jika ada penolakan eksplisit yang ditetapkan oleh kebijakan bucket atau kebijakan pengguna, penolakan eksplisit lebih diutamakan daripada izin lainnya. Untuk pengujian, perbarui kebijakan bucket dan tolak izin Akun B secara eksplisit. `s3:ListBucket` Kebijakan tersebut juga memberikan `s3:ListBucket` izin. Namun, penolakan eksplisit diutamakan, dan Akun B atau pengguna di Akun B tidak akan dapat mencantumkan objek. `amzn-s3-demo-bucket`

1. Menggunakan kredensial pengguna `AccountAadmin` pada Akun A, ganti kebijakan kelompok dengan yang berikut ini. 

1. Sekarang jika Anda mencoba untuk mendapatkan daftar ember menggunakan `AccountBadmin` kredensyal, akses ditolak.
   + Menggunakan AWS CLI, jalankan perintah berikut:

     ```
     aws s3 ls s3://amzn-s3-demo-bucket --profile AccountBadmin
     ```
   + Menggunakan AWS Tools for Windows PowerShell, jalankan perintah berikut:

     ```
     get-s3object -BucketName amzn-s3-demo-bucket -StoredCredentials AccountBDave
     ```

## Langkah 4: Membersihkan
<a name="access-policies-walkthrough-example2-cleanup-step"></a>

1. Setelah selesai melakukan pengujian, Anda dapat melakukan hal berikut untuk membersihkan:

   1. Masuk ke Konsol Manajemen AWS ([Konsol Manajemen AWS](https://console.aws.amazon.com/)) menggunakan kredensi Akun A, dan lakukan hal berikut:
     + Pada konsol Amazon S3, hapus kebijakan bucket yang terlampir pada `amzn-s3-demo-bucket`. Dalam bucket **Properti**, hapus kebijakan yang ada dalam bagian **Izin**. 
     + Jika bucket dibuat untuk latihan ini, pada konsol Amazon S3, hapus objek dan kemudian hapus bucket. 
     + Di [Konsol IAM](https://console.aws.amazon.com/iam/), hapus `AccountAadmin` pengguna.

1. Masuk ke [Konsol IAM](https://console.aws.amazon.com/iam/) menggunakan kredensyal Akun B. Hapus pengguna`AccountBadmin`. Untuk step-by-step petunjuk, lihat [Menghapus pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) *IAM*.

# Contoh 3: Pemilik bucket yang memberikan izin kepada penggunanya ke objek yang bukan miliknya
<a name="example-walkthroughs-managing-access-example3"></a>

**penting**  
Memberikan izin untuk peran IAM adalah praktik yang lebih baik daripada memberikan izin kepada pengguna individu. Untuk mempelajari cara melakukannya, lihat [Memahami izin lintas akun dan menggunakan peran IAM](example-walkthroughs-managing-access-example4.md#access-policies-walkthrough-example4-overview).

**Topics**
+ [Langkah 0: Bersiap-siap untuk panduan](#access-policies-walkthrough-cross-account-acl-step0)
+ [Langkah 1: Melakukan tugas Akun A](#access-policies-walkthrough-cross-account-acl-acctA-tasks)
+ [Langkah 2: Melakukan tugas Akun B](#access-policies-walkthrough-cross-account-acl-acctB-tasks)
+ [Langkah 3: Menguji izin](#access-policies-walkthrough-cross-account-acl-verify)
+ [Langkah 4: Membersihkan](#access-policies-walkthrough-cross-account-acl-cleanup)

Skenario untuk contoh ini adalah bahwa pemilik bucket ingin memberikan izin untuk mengakses objek, tetapi pemilik bucket tidak memiliki semua objek di bucket. Untuk contoh ini, pemilik bucket mencoba memberikan izin kepada pengguna yang ada di akunnya sendiri.

Pemilik bucket dapat mengaktifkan orang lain Akun AWS untuk mengunggah objek. Secara default, pemilik bucket tidak memiliki objek yang ditulis ke bucket oleh orang lain Akun AWS. Objek dimiliki oleh akun yang menulisnya ke bucket S3. Jika pemilik bucket tidak memiliki objek di bucket, pemilik objek harus terlebih dahulu memberikan izin kepada pemilik bucket menggunakan daftar kontrol akses objek (ACL). Kemudian, pemilik bucket dapat memberikan izin ke objek yang tidak mereka miliki. Untuk informasi selengkapnya, lihat [bucket Amazon S3 dan kepemilikan objek](access-policy-language-overview.md#about-resource-owner).

Jika pemilik bucket menerapkan pengaturan yang diberlakukan pemilik bucket untuk Kepemilikan S3 Object untuk bucket, pemilik bucket akan memiliki semua objek di bucket, termasuk objek yang ditulis oleh yang lain. Akun AWS Pendekatan ini menyelesaikan masalah bahwa objek tidak dimiliki oleh pemilik ember. Kemudian, Anda dapat mendelegasikan izin kepada pengguna di akun Anda sendiri, atau ke orang lain Akun AWS.

**catatan**  
S3 Object Ownership adalah setelan tingkat ember Amazon S3 yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket dan untuk menonaktifkan atau mengaktifkan. ACLs Secara default, Kepemilikan Objek disetel ke setelan diberlakukan pemilik Bucket, dan semuanya ACLs dinonaktifkan. Ketika ACLs dinonaktifkan, pemilik bucket memiliki semua objek di bucket dan mengelola akses ke mereka secara eksklusif dengan menggunakan kebijakan manajemen akses.  
 Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan. ACLs Kami menyarankan agar Anda tetap ACLs dinonaktifkan, kecuali dalam keadaan di mana Anda perlu mengontrol akses untuk setiap objek secara individual. Dengan ACLs dinonaktifkan, Anda dapat menggunakan kebijakan untuk mengontrol akses ke semua objek di bucket, terlepas dari siapa yang mengunggah objek ke bucket Anda. Untuk informasi selengkapnya, lihat [Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda](about-object-ownership.md).

Dalam contoh ini, kami menganggap pemilik bucket belum menerapkan pengaturan yang diberlakukan pemilik bucket untuk Kepemilikan Objek. Pemilik bucket mendelegasikan izin kepada pengguna di akunnya sendiri. Berikut ini adalah ringkasan dari langkah-langkah penelusuran: 

![\[Pemilik bucket yang memberikan izin ke objek yang tidak dimilikinya.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/access-policy-ex3.png)


1. Pengguna administrator Akun A melampirkan kebijakan bucket dengan dua pernyataan.
   + Memungkinkan izin lintas akun ke Akun B untuk mengunggah objek.
   + Memungkinkan pengguna dalam akunnya sendiri untuk mengakses objek yang ada dalam bucket.

1. Pengguna administrator Akun B mengunggah objek ke bucket yang dimiliki oleh Akun A.

1. Administrator Akun B memperbarui ACL objek yang menambahkan pemberian yang memberikan pemilik bucket izin kontrol penuh pada objek.

1. Pengguna di Akun A memverifikasi dengan mengakses objek di dalam bucket, terlepas dari siapa pemiliknya.

Untuk contoh ini, Anda memerlukan dua akun. Tabel berikut menunjukkan cara kami merujuk akun-akun ini, dan pengguna administrator yang ada dalam akun-akun tersebut. Dalam panduan ini, Anda tidak menggunakan kredensial pengguna root, menurut pedoman IAM yang direkomendasikan. Untuk informasi selengkapnya, lihat [Tentang menggunakan pengguna administrator untuk membuat sumber daya dan memberikan izin](example-walkthroughs-managing-access.md#about-using-root-credentials). Sebagai gantinya, Anda membuat administrator di setiap akun dan menggunakan kredensial tersebut untuk membuat sumber daya dan memberikan mereka izin.


| Akun AWS ID | Akun disebut sebagai | Administrator pada akun  | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Akun A  |  AccountAadmin  | 
|  *2222-2222-2222*  |  Akun B  |  AccountBadmin  | 

Semua tugas membuat pengguna dan memberikan izin dilakukan di Konsol Manajemen AWS. Untuk memverifikasi izin, penelusuran menggunakan alat baris perintah, AWS Command Line Interface (AWS CLI) dan AWS Tools for Windows PowerShell, jadi Anda tidak perlu menulis kode apa pun. 

## Langkah 0: Bersiap-siap untuk panduan
<a name="access-policies-walkthrough-cross-account-acl-step0"></a>

1. Pastikan Anda memiliki dua Akun AWS dan setiap akun memiliki satu administrator seperti yang ditunjukkan pada tabel di bagian sebelumnya.

   1. Mendaftar untuk Akun AWS, jika diperlukan. 

   1. Menggunakan kredensi Akun A, masuk ke [Konsol IAM](https://console.aws.amazon.com/iam/) dan lakukan hal berikut untuk membuat pengguna administrator:
      + Buat pengguna **AccountAadmin** dan catat kredensil keamanan pengguna. Untuk informasi lebih lanjut tentang penambahan pengguna, lihat [Membuat Pengguna IAM dalam Akun AWS Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) dalam *Panduan Pengguna IAM*. 
      + Berikan izin administrator **AccountAadmin**dengan melampirkan kebijakan pengguna yang memberikan akses penuh. Untuk instruksi, lihat [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) dalam *Panduan Pengguna IAM*. 
      + Di **Dasbor** [Konsol IAM](https://console.aws.amazon.com/iam/), perhatikan URL **Masuk Pengguna IAM**. Semua pengguna di akun tersebut harus menggunakan URL ini saat masuk ke Konsol Manajemen AWS. Untuk informasi lebih lanjut, lihat [Cara pengguna masuk ke akun anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) dalam *Panduan Pengguna IAM*. 

   1. Ulangi langkah sebelumnya dengan menggunakan kredensial Akun B dan buat pengguna administrator **AccountBadmin**.

1. Siapkan salah satu AWS CLI atau Tools untuk Windows PowerShell. Pastikan Anda menyimpan kredensial administrator seperti berikut ini:
   + Jika menggunakan AWS CLI, buat dua profil, `AccountAadmin` dan`AccountBadmin`, dalam file konfigurasi.
   + Jika menggunakan Tools untuk Windows PowerShell, pastikan bahwa Anda menyimpan kredensyal untuk sesi sebagai `AccountAadmin` dan. `AccountBadmin`

   Untuk petunjuk, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md). 

## Langkah 1: Melakukan tugas Akun A
<a name="access-policies-walkthrough-cross-account-acl-acctA-tasks"></a>

Lakukan langkah-langkah berikut untuk Akun A:

### Langkah 1.1: Masuk ke konsol tersebut
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks-sign-in-example3"></a>

Menggunakan URL login pengguna IAM untuk Akun A, masuk ke pengguna Konsol Manajemen AWS sebagai**AccountAadmin**. Pengguna ini akan membuat bucket dan melampirkan kebijakan pada bucket tersebut. 

### Langkah 1.2: Buat bucket dan pengguna, dan menambahkan kebijakan bucket yang memberikan izin pengguna
<a name="access-policies-walkthrough-cross-account-acl-create-bucket"></a>

1. Pada konsol Amazon S3, buat bucket. Latihan ini mengasumsikan bahwa ember dibuat di AS Timur (Virginia N.) Wilayah AWS, dan namanya adalah. `amzn-s3-demo-bucket1`

   Untuk petunjuk, lihat [Membuat bucket tujuan umum](create-bucket-overview.md). 

1. Di [Konsol IAM](https://console.aws.amazon.com/iam/), buat pengguna**Dave**. 

   Untuk step-by-step petunjuk, lihat [Membuat pengguna IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) di *Panduan Pengguna IAM*. 

1. Perhatikan kredensi Dave pengguna. 

1. Pada konsol Amazon S3, lampirkan kebijakan bucket berikut ini ke bucket `amzn-s3-demo-bucket1`. Untuk petunjuk, lihat [Menambahkan kebijakan bucket dengan menggunakan konsol Amazon S3](add-bucket-policy.md). Ikuti langkah-langkah untuk menambahkan kebijakan bucket. Untuk informasi tentang cara menemukan akun IDs, lihat [Menemukan Akun AWS ID Anda](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingYourAccountIdentifiers). 

   Kebijakan tersebut memberikan izin `s3:PutObject` dan `s3:ListBucket` kepada Akun B. Kebijakan ini juga memberikan `s3:GetObject` izin `Dave` kepada pengguna. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Statement1",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                   "arn:aws:s3:::amzn-s3-demo-bucket1"
               ]
           },
           {
               "Sid": "Statement3",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/Dave"
               },
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*"
               ]
           }
       ]
   }
   ```

------

## Langkah 2: Melakukan tugas Akun B
<a name="access-policies-walkthrough-cross-account-acl-acctB-tasks"></a>

Setelah Akun B memiliki izin untuk melakukan operasi pada bucket Akun A, administrator Akun B melakukan hal berikut:
+ Mengunggah objek ke bucket Akun A 
+ Menambahkan hibah di objek ACL untuk mengizinkan Akun A, pemilik bucket, kontrol penuh

**Menggunakan AWS CLI**

1. Menggunakan `put-object` AWS CLI perintah, unggah objek. Parameter `--body` dalam perintah mengidentifikasi file sumber yang akan diunggah. Misalnya, jika file ada di `C:` drive Windows mesin, tentukan`c:\HappyFace.jpg`. Parameter `--key` menyediakan nama kunci untuk objek. 

   ```
   aws s3api put-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --body HappyFace.jpg --profile AccountBadmin
   ```

1. Tambahkan pemberian pada ACL objek untuk memungkinkan pemilik bucket mengontrol penuh objek. Untuk informasi tentang cara menemukan ID pengguna kanonik, lihat [Menemukan ID pengguna kanonik untuk Anda Akun AWS di Panduan Referensi](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) Manajemen *AWS Akun*.

   ```
   aws s3api put-object-acl --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --grant-full-control id="AccountA-CanonicalUserID" --profile AccountBadmin
   ```

**Menggunakan Alat untuk Windows PowerShell**

1. Menggunakan `Write-S3Object` perintah, unggah objek. 

   ```
   Write-S3Object -BucketName amzn-s3-demo-bucket1 -key HappyFace.jpg -file HappyFace.jpg -StoredCredentials AccountBadmin
   ```

1. Tambahkan pemberian pada ACL objek untuk memungkinkan pemilik bucket mengontrol penuh objek.

   ```
   Set-S3ACL -BucketName amzn-s3-demo-bucket1 -Key HappyFace.jpg -CannedACLName "bucket-owner-full-control" -StoredCreden
   ```

## Langkah 3: Menguji izin
<a name="access-policies-walkthrough-cross-account-acl-verify"></a>

Sekarang, verifikasi pengguna Dave di Akun A apakah dapat mengakses objek yang dimiliki oleh Akun B.

**Menggunakan AWS CLI**

1. Tambahkan kredensi Dave pengguna ke file AWS CLI konfigurasi dan buat profil baru,. `UserDaveAccountA` Untuk informasi selengkapnya, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md).

   ```
   [profile UserDaveAccountA]
   aws_access_key_id = access-key
   aws_secret_access_key = secret-access-key
   region = us-east-1
   ```

1. Jalankan perintah `get-object` CLI untuk mengunduh `HappyFace.jpg` dan menyimpannya secara lokal. Anda memberikan kredensial pengguna Dave dengan menambahkan parameter `--profile`.

   ```
   aws s3api get-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg Outputfile.jpg --profile UserDaveAccountA
   ```

**Menggunakan Alat untuk Windows PowerShell**

1. Simpan AWS kredensi Dave pengguna, seperti`UserDaveAccountA`, ke toko persisten. 

   ```
   Set-AWSCredentials -AccessKey UserDave-AccessKey -SecretKey UserDave-SecretAccessKey -storeas UserDaveAccountA
   ```

1. Jalankan perintah `Read-S3Object` untuk mengunduh objek `HappyFace.jpg` dan menyimpannya secara lokal. Anda memberikan kredensial ke pengguna Dave dengan menambahkan parameter `-StoredCredentials`. 

   ```
   Read-S3Object -BucketName amzn-s3-demo-bucket1 -Key HappyFace.jpg -file HappyFace.jpg  -StoredCredentials UserDaveAccountA
   ```

## Langkah 4: Membersihkan
<a name="access-policies-walkthrough-cross-account-acl-cleanup"></a>

1. Setelah selesai melakukan pengujian, Anda dapat melakukan hal berikut untuk membersihkan:

   1. Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/) menggunakan kredensial Akun A, dan lakukan hal-hal berikut ini:
     + Pada konsol Amazon S3, hapus kebijakan bucket yang terlampir pada *amzn-s3-demo-bucket1*. Dalam bucket **Properti**, hapus kebijakan yang ada dalam bagian **Izin**. 
     + Jika bucket dibuat untuk latihan ini, pada konsol Amazon S3, hapus objek dan kemudian hapus bucket. 
     + Di [Konsol IAM](https://console.aws.amazon.com/iam/), hapus **AccountAadmin**pengguna. Untuk step-by-step petunjuk, lihat [Menghapus pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) *IAM*.

1. Masuklah ke [Konsol Manajemen AWS](https://console.aws.amazon.com/) menggunakan kredensial Akun B. Di [Konsol IAM](https://console.aws.amazon.com/iam/), hapus pengguna **AccountBadmin**.

# Contoh 4 - Pemilik bucket memberikan izin lintas akun ke objek yang tidak dimilikinya
<a name="example-walkthroughs-managing-access-example4"></a>

**Topics**
+ [Memahami izin lintas akun dan menggunakan peran IAM](#access-policies-walkthrough-example4-overview)
+ [Langkah 0: Bersiap-siap untuk panduan](#access-policies-walkthrough-example4-step0)
+ [Langkah 1: Melakukan tugas Akun A](#access-policies-walkthrough-example4-step1)
+ [Langkah 2: Melakukan tugas Akun B](#access-policies-walkthrough-example4-step2)
+ [Langkah 3: Lakukan tugas Akun C](#access-policies-walkthrough-example4-step3)
+ [Langkah 4: Membersihkan](#access-policies-walkthrough-example4-step6)
+ [Sumber daya terkait](#RelatedResources-managing-access-example4)

 Dalam skenario contoh ini, Anda memiliki bucket dan Anda telah mengaktifkan orang lain Akun AWS untuk mengunggah objek. Jika Anda telah menerapkan pengaturan yang diberlakukan pemilik bucket untuk Kepemilikan S3 Object untuk bucket, Anda akan memiliki semua objek di bucket, termasuk objek yang ditulis oleh objek lain. Akun AWS Pendekatan ini menyelesaikan masalah bahwa objek tidak dimiliki oleh Anda, pemilik ember. Kemudian, Anda dapat mendelegasikan izin kepada pengguna di akun Anda sendiri, atau ke orang lain Akun AWS. Misalkan pengaturan yang diberlakukan pemilik bucket untuk Kepemilikan S3 Object tidak diaktifkan. Itu berarti, bucket Anda dapat memiliki objek yang dimiliki Akun AWS lainnya. 

Sekarang, seandainya sebagai pemilik bucket, Anda perlu memberikan izin lintas akun atas objek, terlepas dari siapa pemilik objek itu, kepada pengguna yang ada di akun lain. Sebagai contoh, pengguna tersebut bisa berupa aplikasi penagihan yang memerlukan akses terhadap metadata objek. Ada dua masalah inti:
+ Pemilik bucket tidak memiliki izin pada objek yang dibuat oleh Akun AWS lain. Agar pemilik bucket dapat memberikan izin pada objek yang tidak dimilikinya, pemilik objek harus terlebih dahulu memberikan izin kepada pemilik bucket. Pemilik objek adalah Akun AWS yang menciptakan objek. Pemilik bucket dapat mendelegasikan izin tersebut.
+ Akun pemilik bucket dapat mendelegasikan izin kepada pengguna di akunnya sendiri (lihat[Contoh 3: Pemilik bucket yang memberikan izin kepada penggunanya ke objek yang bukan miliknya](example-walkthroughs-managing-access-example3.md)). Namun, akun pemilik bucket tidak dapat mendelegasikan izin ke akun lain Akun AWS karena delegasi lintas akun tidak didukung. 

Dalam skenario ini, pemilik bucket dapat membuat peran AWS Identity and Access Management (IAM) dengan izin untuk mengakses objek Kemudian, pemilik bucket dapat memberikan Akun AWS izin lain untuk mengambil peran tersebut, untuk sementara memungkinkannya mengakses objek di bucket. 

**catatan**  
S3 Object Ownership adalah setelan tingkat ember Amazon S3 yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket dan untuk menonaktifkan atau mengaktifkan. ACLs Secara default, Kepemilikan Objek disetel ke setelan diberlakukan pemilik Bucket, dan semuanya ACLs dinonaktifkan. Ketika ACLs dinonaktifkan, pemilik bucket memiliki semua objek di bucket dan mengelola akses ke mereka secara eksklusif dengan menggunakan kebijakan manajemen akses.  
 Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan. ACLs Kami menyarankan agar Anda tetap ACLs dinonaktifkan, kecuali dalam keadaan di mana Anda perlu mengontrol akses untuk setiap objek secara individual. Dengan ACLs dinonaktifkan, Anda dapat menggunakan kebijakan untuk mengontrol akses ke semua objek di bucket, terlepas dari siapa yang mengunggah objek ke bucket Anda. Untuk informasi selengkapnya, lihat [Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda](about-object-ownership.md).

## Memahami izin lintas akun dan menggunakan peran IAM
<a name="access-policies-walkthrough-example4-overview"></a>

 Peran IAM memungkinkan beberapa skenario untuk mendelegasikan akses ke sumber daya Anda, dan akses lintas akun adalah salah satu skenario utamanya. Dalam contoh ini, pemilik bucket, Akun A, menggunakan peran IAM untuk sementara mendelegasikan akses objek lintas akun ke pengguna lain Akun AWS, Akun C. Setiap peran IAM yang Anda buat memiliki dua kebijakan berikut yang dilampirkan padanya:
+ Kebijakan kepercayaan mengidentifikasi orang lain Akun AWS yang dapat mengambil peran.
+ Kebijakan akses yang menentukan izin—misalnya, `s3:GetObject`—yang diperkenankan saat seseorang mengambil peran tersebut. Untuk daftar izin yang dapat Anda tentukan dalam kebijakan, lihat [Tindakan kebijakan untuk Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions).

Yang Akun AWS diidentifikasi dalam kebijakan kepercayaan kemudian memberikan izin penggunanya untuk mengambil peran tersebut. Pengguna kemudian dapat melakukan hal-hal berikut untuk mengakses objek:
+ Mengambil peran dan, sebagai tanggapan, mendapatkan kredensial keamanan sementara. 
+ Dengan menggunakan kredensial keamanan sementara, pengguna dapat mengakses objek yang ada dalam bucket.

Untuk informasi selengkapnya tentang peran IAM, lihat [Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) dalam *Panduan Pengguna IAM*. 

Berikut ini adalah ringkasan dari langkah-langkah penelusuran: 

![\[Izin lintas akun menggunakan peran IAM.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/access-policy-ex4.png)


1. Akun Pengguna administrator melampirkan kebijakan bucket yang memberikan izin bersyarat kepada Akun B untuk mengunggah objek.

1. Akun Administrator membuat peran IAM, membangun kepercayaan dengan Akun C, sehingga pengguna dalam akun tersebut dapat mengakses Akun A. Kebijakan akses yang terlampir pada peran tersebut membatasi apa yang dapat dilakukan pengguna yang ada di Akun C saat pengguna mengakses Akun A.

1. Administrator Akun B mengunggah objek ke bucket yang dimiliki oleh Akun A, memberikan izin kendali penuh kepada pemilik bucket.

1. Administrator Akun C membuat pengguna dan melampirkan kebijakan pengguna yang memungkinkan pengguna untuk mengambil peran tersebut.

1. Pengguna di Akun C terlebih dahulu harus mengambil peran tersebut, yang akan mengembalikan kredensial keamanan sementara kepada pengguna. Menggunakan kredensial sementara, pengguna kemudian dapat mengakses objek dalam bucket.

Untuk contoh ini, Anda memerlukan tiga akun. Tabel berikut menunjukkan cara kami merujuk akun-akun ini, dan pengguna administrator yang ada dalam akun-akun tersebut. Sesuai dengan pedoman IAM (lihat[Tentang menggunakan pengguna administrator untuk membuat sumber daya dan memberikan izin](example-walkthroughs-managing-access.md#about-using-root-credentials)), kami tidak menggunakan Pengguna root akun AWS kredensyal dalam panduan ini. Sebagai gantinya, Anda membuat pengguna administrator di setiap akun dan menggunakan kredensial tersebut saat membuat sumber daya dan memberikan mereka izin.


| Akun AWS ID | Akun disebut sebagai | Pengguna administrator pada akun  | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Akun A  |  AccountAadmin  | 
|  *2222-2222-2222*  |  Akun B  |  AccountBadmin  | 
|  *3333-3333-3333*  |  Akun C  |  AccountCadmin  | 



## Langkah 0: Bersiap-siap untuk panduan
<a name="access-policies-walkthrough-example4-step0"></a>

**catatan**  
Anda mungkin ingin membuka editor teks, dan menuliskan beberapa informasi saat Anda melalui langkah-langkahnya. Secara khusus, Anda akan memerlukan akun IDs, pengguna kanonik IDs, pengguna IAM Masuk URLs untuk setiap akun untuk terhubung ke konsol, dan Nama Sumber Daya Amazon (ARNs) dari pengguna IAM, dan peran. 

1. Pastikan Anda memiliki tiga Akun AWS dan setiap akun memiliki satu pengguna administrator seperti yang ditunjukkan pada tabel di bagian sebelumnya.

   1. Mendaftar untuk Akun AWS, sesuai kebutuhan. Kami menyebut akun ini sebagai Akun A, Akun B, dan Akun C.

   1. Menggunakan kredensial Akun A, masuklah ke [Konsol IAM](https://console.aws.amazon.com/iam/home?#home) dan lakukan hal berikut ini untuk membuat pengguna administrator:
      + Buat pengguna **AccountAadmin** dan catat kredensi keamanannya. Untuk informasi lebih lanjut tentang penambahan pengguna, lihat [Membuat Pengguna IAM dalam Akun AWS Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) dalam *Panduan Pengguna IAM*. 
      + Berikan hak administrator **AccountAadmin**dengan melampirkan kebijakan pengguna yang memberikan akses penuh. Untuk instruksi, lihat [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) dalam *Panduan Pengguna IAM*. 
      + Di **Dasbor** Konsol IAM, perhatikan URL **Masuk Pengguna IAM**. Semua pengguna di akun tersebut harus menggunakan URL ini saat masuk ke Konsol Manajemen AWS. Untuk informasi selengkapnya, lihat [Masuk ke pengguna IAM Konsol Manajemen AWS sebagai pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) *IAM*. 

   1. Ulangi langkah-langkah sebelumnya untuk membuat pengguna administrator di Akun B dan Akun C.

1. Untuk Akun C, catat ID pengguna kanonik. 

   Saat Anda membuat peran IAM di Akun A, kebijakan kepercayaan memberikan izin kepada Akun C untuk mengambil peran tersebut dengan menyebutkan ID akunnya. Anda dapat menemukan informasi akun seperti berikut ini:

   1. Gunakan Akun AWS ID atau alias akun, nama pengguna IAM, dan kata sandi Anda untuk masuk ke konsol [Amazon S3](https://console.aws.amazon.com/s3/).

   1. Pilih nama bucket Amazon S3 untuk melihat detail tentang bucket tersebut.

   1. Pilih tab **Izin** dan kemudian pilih **Daftar Kontrol Akses**. 

   1. Pada bagian **Akses Akun AWS Anda**, pada kolom **Akun** adalah pengidentifikasi panjang, seperti `c1daexampleaaf850ea79cf0430f33d72579fd1611c97f7ded193374c0b163b6`. Ini adalah ID pengguna kanonis Anda.

1. Saat membuat kebijakan bucket, Anda akan memerlukan informasi berikut. Perhatikan nilai-nilai ini:
   + **ID pengguna Kanonik Akun A**–Ketika administrator Akun A memberikan izin unggah objek bersyarat kepada administrator Akun B, kondisinya menetapkan ID pengguna kanonik dari Akun A yang harus mendapatkan kontrol penuh atas objek. 
**catatan**  
ID pengguna kanonik adalah konsep Amazon S3 saja. ID ini adalah ID akun 64 karakter yang dikaburkan. 
   + **Pengguna ARN untuk Administrator Akun B** **— Anda dapat menemukan ARN pengguna di [Konsol IAM](https://console.aws.amazon.com/iam/). Anda harus memilih pengguna dan menemukan ARN pengguna di tab Ringkasan.**

     Dalam kebijakan ember, Anda memberikan kepada `AccountBadmin` izin untuk mengunggah objek dan Anda menentukan pengguna dengan menggunakan ARN. Berikut ini adalah contoh nilai ARN:

     ```
     arn:aws:iam::AccountB-ID:user/AccountBadmin
     ```

1. Siapkan AWS Command Line Interface (CLI) atau. AWS Tools for Windows PowerShell Pastikan Anda menyimpan kredensi pengguna administrator sebagai berikut:
   + Jika menggunakan AWS CLI, buat profil, `AccountAadmin` dan`AccountBadmin`, dalam file konfigurasi.
   + Jika menggunakan AWS Tools for Windows PowerShell, pastikan bahwa Anda menyimpan kredensyal untuk sesi sebagai `AccountAadmin` dan. `AccountBadmin`

   Untuk petunjuk, lihat [Menyiapkan alat untuk penelusuran](policy-eval-walkthrough-download-awscli.md).

## Langkah 1: Melakukan tugas Akun A
<a name="access-policies-walkthrough-example4-step1"></a>

Dalam contoh ini, Akun A adalah pemilik bucket. Jadi pengguna AccountAadmin di Akun A akan melakukan hal berikut: 
+ Buat bucket.
+ Lampirkan kebijakan bucket yang memberikan izin administrator Akun B untuk mengunggah objek.
+ Buat peran IAM yang memberikan izin Akun C untuk mengambil peran sehingga dapat mengakses objek di bucket.

### Langkah 1.1: Masuk ke Konsol Manajemen AWS
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks-sign-in-example4"></a>

Menggunakan URL Masuk pengguna IAM untuk Akun A, pertama-tama masuk ke pengguna Konsol Manajemen AWS sebagai**AccountAadmin**. Pengguna ini akan membuat bucket dan melampirkan kebijakan pada bucket tersebut. 

### Langkah 1.2: Buat bucket dan melampirkan kebijakan bucket
<a name="access-policies-walkthrough-example2d-step1-1"></a>

Di konsol Amazon S3, lakukan berikut ini:

1. Buat bucket. Latihan ini mengasumsikan bahwa nama bucketnya adalah `amzn-s3-demo-bucket1`.

   Untuk petunjuk, lihat [Membuat bucket tujuan umum](create-bucket-overview.md). 

1. Lampirkan kebijakan bucket berikut. Kebijakan memberikan izin bersyarat kepada administrator Akun B untuk mengunggah objek.

   Perbarui kebijakan dengan memberikan nilai Anda sendiri untuk `amzn-s3-demo-bucket1``AccountB-ID`,, dan`CanonicalUserId-of-AWSaccountA-BucketOwner`. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "111",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
               },
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*"
           },
           {
               "Sid": "112",
               "Effect": "Deny",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/AccountBadmin"
               },
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
               "Condition": {
                   "StringNotEquals": {
                       "s3:x-amz-grant-full-control": "id=CanonicalUserId-of-AWSaccountA-BucketOwner"
                   }
               }
           }
       ]
   }
   ```

------

### Langkah 1.3: Buat peran IAM untuk memungkinkan akses lintas akun Akun C di Akun A
<a name="access-policies-walkthrough-example2d-step1-2"></a>

Di [Konsol IAM](https://console.aws.amazon.com/iam/), buat peran IAM (**examplerole**) yang memberikan izin Akun C untuk mengambil peran tersebut. Pastikan Anda masih masuk sebagai administrator Akun A karena peran harus dibuat di Akun A.

1. Sebelum membuat peran, siapkan kebijakan terkelola yang menentukan izin yang diperlukan oleh peran tersebut. Anda kemudian perlu melampirkan kebijakan ini ke peran tersebut pada langkah berikutnya.

   1. Di panel navigasi di sebelah kiri, pilih **Kebijakan**, lalu pilih **Buat Kebijakan**.

   1. Di sebelah **Buat Kebijakan Anda Sendiri**, pilih **Pilih**.

   1. Masukkan **access-accountA-bucket** dalam kolom **Nama Kebijakan**.

   1. Salin kebijakan akses berikut ini dan tempelkan ke kolom **Dokumen Kebijakan**. Kebijakan akses memberikan `s3:GetObject` izin peran sehingga, ketika pengguna Akun C mengambil peran, kebijakan tersebut hanya dapat melakukan operasi. `s3:GetObject`

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*"
          }
        ]
      }
      ```

------

   1. Pilih **Buat Kebijakan**.

      Kebijakan baru muncul di daftar kebijakan terkelola.

1. Di panel navigasi di sebelah kiri, pilih **Peran** dan kemudian pilih **Buat Peran Baru**.

1. Di bawah **Pilih Jenis Peran**, pilih **Peran untuk Akses Lintas Akun**, lalu pilih tombol **Pilih** di samping **Menyediakan akses di antara Akun AWS Anda sendiri**.

1. Masukkan ID akun dari Akun C.

   Untuk panduan ini, Anda tidak perlu meminta pengguna untuk memiliki otentikasi multi-faktor (MFA) untuk mengambil peran, jadi biarkan opsi itu tidak dipilih.

1. Pilih **Langkah Berikutnya** untuk mengatur izin yang akan dikaitkan dengan peran.

1. 

   **Pilih kotak centang di samping kebijakan **Access-Accounta-bucket** yang Anda buat, lalu pilih Langkah Berikutnya.**

   Halaman Tinjauan muncul sehingga Anda dapat mengonfirmasi pengaturan untuk peran tersebut sebelum dibuat. Satu item yang sangat penting untuk dicatat di halaman ini adalah tautan yang dapat Anda kirim kepada pengguna Anda yang perlu menggunakan peran ini. Pengguna yang menggunakan tautan langsung menuju halaman **Beralih Peran** dengan kolom ID Akun dan Nama Peran yang sudah diisi. Anda juga dapat melihat tautan ini nanti di halaman **Ringkasan Peran untuk peran** lintas akun apa pun.

1. Masukkan `examplerole` nama peran, lalu pilih **Langkah Berikutnya**.

1. Setelah meninjau peran, pilih **Buat Peran**.

   Peran `examplerole` ditampilkan dalam daftar peran.

1. Pilih nama peran`examplerole`.

1. Pilih tab **Hubungan Kepercayaan**.

1. Pilih **Tampilkan dokumen kebijakan** dan verifikasi kebijakan kepercayaan yang ditampilkan cocok dengan kebijakan berikut.

   Kebijakan kepercayaan berikut ini membangun kepercayaan terhadap Akun C, dengan memungkinkannya untuk melakukan tindakan `sts:AssumeRole`. Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) di dalam *Referensi API AWS Security Token Service *. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Perhatikan Nama Sumber Daya Amazon (ARN) dari `examplerole` peran yang Anda buat. 

   Kemudian pada langkah-langkah berikut ini, Anda melampirkan kebijakan pengguna untuk memungkinkan pengguna IAM mengambil peran ini, dan kemudian Anda mengidentifikasi peran berdasarkan nilai ARN. 

## Langkah 2: Melakukan tugas Akun B
<a name="access-policies-walkthrough-example4-step2"></a>

Contoh bucket yang dimiliki oleh Akun A memerlukan objek yang dimiliki oleh akun lain. Pada langkah ini, administrator Akun B mengunggah objek dengan menggunakan alat baris perintah.
+ Menggunakan `put-object` AWS CLI perintah, unggah objek ke`amzn-s3-demo-bucket1`. 

  ```
  aws s3api put-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --body HappyFace.jpg --grant-full-control id="canonicalUserId-ofTheBucketOwner" --profile AccountBadmin
  ```

  Perhatikan hal-hal berikut:
  + `--Profile`Parameter menentukan `AccountBadmin` profil, sehingga objek dimiliki oleh Akun B.
  + Parameter `grant-full-control` memberikan izin kendali penuh kepada pemilik bucket pada objek sebagaimana yang diwajibkan oleh kebijakan bucket.
  + Parameter `--body` mengidentifikasi file sumber yang akan diunggah. Misalnya, jika file tersebut ada di drive C: Windows komputer, Anda tentukan`c:\HappyFace.jpg`. 

## Langkah 3: Lakukan tugas Akun C
<a name="access-policies-walkthrough-example4-step3"></a>

Pada langkah-langkah sebelumnya, Akun A telah menciptakan peran`examplerole`, membangun kepercayaan dengan Akun C. Peran ini memungkinkan pengguna di Akun C untuk mengakses Akun A. Pada langkah ini, administrator Akun C membuat pengguna (Dave) dan mendelegasikan kepadanya `sts:AssumeRole` izin yang diterima dari Akun A. Pendekatan ini memungkinkan Dave untuk mengasumsikan `examplerole` dan untuk sementara mendapatkan akses ke Akun A. Kebijakan akses yang Akun A melekat pada peran membatasi apa yang dapat dilakukan Dave ketika dia mengakses Akun A—khususnya, masukkan objek. `amzn-s3-demo-bucket1`

### Langkah 3.1: Buat pengguna di Akun C dan delegasikan izin untuk berasumsi examplerole
<a name="cross-acct-access-using-role-step3-1"></a>

1. Menggunakan URL login pengguna IAM untuk Akun C, pertama-tama masuk ke pengguna Konsol Manajemen AWS sebagai**AccountCadmin**. 

   

1. Di [Konsol IAM](https://console.aws.amazon.com/iam/), buat pengguna, Dave. 

   Untuk step-by-step petunjuk, lihat [Membuat pengguna IAM (Konsol Manajemen AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) di *Panduan Pengguna IAM*. 

1. Perhatikan kredensyal Dave. Dave akan memerlukan kredensial ini untuk mengambil peran `examplerole`.

1. Buat kebijakan inline untuk pengguna Dave IAM untuk mendelegasikan `sts:AssumeRole` izin kepada Dave pada peran di Akun A. `examplerole` 

   1. Pada panel navigasi di sebelah kiri, pilih **Pengguna**.

   1. Pilih nama pengguna **Dave.**

   1. Pada halaman rincian pengguna, pilih tab **Izin** dan kemudian perluas bagian **Kebijakan Selaras**.

   1. Pilih **klik di sini** (atau **Buat Kebijakan Pengguna**).

   1. Pilih **Kebijakan Kustom**, lalu pilih **Pilihan**.

   1. Masukkan nama untuk kebijakan pada kolom **Nama Kebijakan**.

   1. Salin kebijakan berikut ke kolom **Dokumen Kebijakan**.

      Anda harus memperbarui kebijakan dengan menyediakan`AccountA-ID`.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "sts:AssumeRole"
                  ],
                  "Resource": "arn:aws:iam::111122223333:role/examplerole"
              }
          ]
      }
      ```

------

   1. Pilih **Terapkan Kebijakan**.

1. Simpan kredensyal Dave ke file konfigurasi AWS CLI dengan menambahkan profil lain,. `AccountCDave`

   ```
   [profile AccountCDave]
   aws_access_key_id = UserDaveAccessKeyID
   aws_secret_access_key = UserDaveSecretAccessKey
   region = us-west-2
   ```

### Langkah 3.2: Asumsikan peran (examplerole) dan akses objek
<a name="cross-acct-access-using-role-step3-2"></a>

Kini Dave dapat mengakses objek yang ada dalam bucket yang dimiliki oleh Akun A seperti berikut ini:
+ Dave terlebih dahulu harus mengambil `examplerole` menggunakan kredensialnya sendiri. Hal ini akan mengembalikan kredensial sementara.
+ Dengan menggunakan kredensial sementara, Dave kemudian akan dapat mengakses objek yang ada dalam bucket Akun A.

1. Pada prompt perintah, jalankan AWS CLI `assume-role` perintah berikut menggunakan `AccountCDave` profil. 

   Anda harus memperbarui nilai ARN dalam perintah dengan memberikan di `AccountA-ID` mana `examplerole` didefinisikan.

   ```
   aws sts assume-role --role-arn arn:aws:iam::AccountA-ID:role/examplerole --profile AccountCDave --role-session-name test
   ```

   Sebagai tanggapan, AWS Security Token Service (AWS STS) mengembalikan kredensyal keamanan sementara (ID kunci akses, kunci akses rahasia, dan token sesi).

1. Simpan kredensyal keamanan sementara di file AWS CLI konfigurasi di bawah profil. `TempCred`

   ```
   [profile TempCred]
   aws_access_key_id = temp-access-key-ID
   aws_secret_access_key = temp-secret-access-key
   aws_session_token = session-token
   region = us-west-2
   ```

1. Pada prompt perintah, jalankan AWS CLI perintah berikut untuk mengakses objek menggunakan kredensyal sementara. Misalnya, perintah menentukan head-object API untuk mengambil metadata objek untuk `HappyFace.jpg` objek.

   ```
   aws s3api get-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg SaveFileAs.jpg --profile TempCred
   ```

   Karena kebijakan akses terlampir pada `examplerole` memungkinkan tindakan, Amazon S3 memproses permintaan. Anda dapat mencoba tindakan lain apa pun pada objek lain yang ada dalam bucket.

   Jika Anda mencoba tindakan lain—misalnya, `get-object-acl` —Anda akan mendapatkan izin ditolak karena peran tersebut tidak diizinkan tindakan itu.

   ```
   aws s3api get-object-acl --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --profile TempCred
   ```

   Kita menggunakan pengguna Dave untuk mengambil peran dan mengakses objek dengan menggunakan kredensial sementara. Ini juga bisa menjadi aplikasi di Akun C yang mengakses objek di `amzn-s3-demo-bucket1`. Aplikasi dapat memperoleh kredensial keamanan sementara, dan Akun C dapat mendelegasikan izin aplikasi untuk mengambil `examplerole`.

## Langkah 4: Membersihkan
<a name="access-policies-walkthrough-example4-step6"></a>

1. Setelah selesai melakukan pengujian, Anda dapat melakukan hal berikut untuk membersihkan:

   1. Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/) menggunakan kredensial Akun A, dan lakukan hal-hal berikut ini:
     + Pada konsol Amazon S3, hapus kebijakan bucket yang terlampir pada `amzn-s3-demo-bucket1`. Dalam bucket **Properti**, hapus kebijakan yang ada dalam bagian **Izin**. 
     + Jika bucket dibuat untuk latihan ini, pada konsol Amazon S3, hapus objek dan kemudian hapus bucket. 
     + Di [Konsol IAM](https://console.aws.amazon.com/iam/), hapus yang `examplerole` Anda buat di Akun A. Untuk step-by-step petunjuk, lihat [Menghapus pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) *IAM*. 
     + Di [Konsol IAM](https://console.aws.amazon.com/iam/), hapus **AccountAadmin**pengguna.

1. Masuk ke [Konsol IAM](https://console.aws.amazon.com/iam/) menggunakan kredensil Akun B. Hapus pengguna **AccountBadmin**. 

1. Masuk ke [Konsol IAM](https://console.aws.amazon.com/iam/) dengan menggunakan kredensi Akun C. Hapus **AccountCadmin**dan pengguna Dave.

## Sumber daya terkait
<a name="RelatedResources-managing-access-example4"></a>

Untuk informasi selengkapnya yang terkait dengan panduan ini, lihat sumber daya berikut di Panduan Pengguna *IAM:*
+ [Membuat peran untuk mendelegasikan izin ke pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)
+ [Tutorial: Mendelegasikan Akses di Seluruh Akun AWS Menggunakan Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial-cross-account-with-roles.html)
+ [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html)

# Menggunakan Peran Terkait Layanan untuk Lensa Penyimpanan Amazon S3
<a name="using-service-linked-roles"></a>

Untuk menggunakan Lensa Penyimpanan Amazon S3 untuk mengumpulkan dan mengumpulkan metrik di semua akun Anda di AWS Organizations, Anda harus terlebih dahulu memastikan bahwa Lensa Penyimpanan S3 memiliki akses tepercaya yang diaktifkan oleh akun kelola di organisasi Anda. S3 Storage Lens membuat peran terkait layanan (SLR) untuk memungkinkannya mendapatkan daftar Akun AWS milik organisasi Anda. Daftar akun ini digunakan oleh Lensa Penyimpanan S3 untuk mengumpulkan metrik untuk sumber daya S3 di semua akun anggota ketika dasbor Lensa Penyimpanan S3 atau konfigurasi dibuat atau diperbarui.

[Amazon S3 Storage Lens menggunakan peran terkait AWS Identity and Access Management layanan (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Peran terkait layanan adalah tipe peran IAM unik yang ditautkan langsung ke Lensa Penyimpanan S3. Peran terkait layanan telah ditentukan sebelumnya oleh S3 Storage Lens dan mencakup semua izin yang diperlukan layanan untuk memanggil orang lain atas nama Anda. Layanan AWS 

Peran terkait layanan membuat pengaturan Lensa Penyimpanan S3 menjadi lebih mudah karena Anda tidak perlu menambahkan izin yang diperlukan secara manual. Lensa Penyimpanan S3 menentukan izin peran terkait layanan, kecuali jika ditentukan berbeda, hanya Lensa Penyimpanan S3 yang dapat mengasumsikan peran tersebut. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin, dan kebijakan izin tersebut tidak dapat dilampirkan ke entitas IAM lainnya.

Anda dapat menghapus peran terkait layanan hanya setelah menghapus sumber daya terkait terlebih dahulu. Ini melindungi sumber daya Lensa Penyimpanan S3 Anda karena Anda tidak dapat secara tidak sengaja menghapus izin untuk mengakses sumber daya.

Untuk informasi tentang layanan lain yang mendukung peran terkait layanan, lihat [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dan cari layanan yang memiliki **Ya** di dalam **Peran Terkait Layanan**. Pilih **Ya** bersama tautan untuk melihat dokumentasi peran tertaut layanan untuk layanan tersebut.

## Menggunakan peran terkait layanan untuk Lensa Penyimpanan Amazon S3
<a name="slr-permissions"></a>

Lensa Penyimpanan S3 menggunakan peran terkait layanan bernama **AWSServiceRoleForS3 StorageLens** — Ini memungkinkan akses ke AWS layanan dan sumber daya yang digunakan atau dikelola oleh S3 Storage Lens. Hal ini memungkinkan S3 Storage Lens untuk mengakses AWS Organizations sumber daya atas nama Anda.

Peran yang berkaitan dengan layanan Lensa Penyimpanan S3 memercayakan layanan berikut di penyimpanan organisasi Anda:
+ `storage-lens.s3.amazonaws.com`

Kebijakan izin peran mengizinkan Lensa Penyimpanan S3 untuk menyelesaikan tindakan berikut:
+ `organizations:DescribeOrganization`

  `organizations:ListAccounts`

  `organizations:ListAWSServiceAccessForOrganization`

  `organizations:ListDelegatedAdministrators`

Anda harus mengonfigurasi izin untuk mengizinkan entitas IAM (seperti pengguna, grup, atau peran) untuk membuat, mengedit, atau menghapus peran terkait layanan. Untuk informasi selengkapnya, lihat [Izin peran tertaut layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dalam *Panduan Pengguna IAM*.

## Membuat peran terkait layanan untuk Lensa Penyimpanan S3
<a name="create-slr"></a>

Anda tidak perlu membuat peran terkait layanan secara manual. Saat Anda menyelesaikan salah satu tugas berikut saat masuk ke AWS Organizations manajemen atau akun administrator delegasi, S3 Storage Lens akan membuat peran terkait layanan untuk Anda:
+ Buat konfigurasi dasbor Lensa Penyimpanan S3 untuk organisasi Anda di konsol Amazon S3.
+ `PUT`konfigurasi Lensa Penyimpanan S3 untuk organisasi Anda menggunakan REST API, AWS CLI dan SDKs.

**catatan**  
S3 Storage Lens akan mendukung maksimal lima administrator yang didelegasikan per organisasi.

Jika Anda menghapus peran terkait layanan ini, tindakan sebelumnya akan dibuat ulang sesuai kebutuhan.

### Kebijakan contoh untuk peran terkait layanan Lensa Penyimpanan S3
<a name="slr-sample-policy"></a>

**Example Kebijakan izin untuk peran terkait layanan Lensa Penyimpanan Amazon S3**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AwsOrgsAccess",
            "Effect": "Allow",
            "Action": [
                "organizations:DescribeOrganization",
                "organizations:ListAccounts",
                "organizations:ListAWSServiceAccessForOrganization",
                "organizations:ListDelegatedAdministrators"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

## Mengedit peran terkait layanan untuk Lensa Penyimpanan Amazon S3
<a name="edit-slr"></a>

S3 Storage Lens tidak memungkinkan Anda mengedit peran AWSServiceRoleForS3StorageLens terkait layanan. Setelah membuat peran terkait layanan, Anda tidak dapat mengubah nama peran karena berbagai entitas mungkin mereferensikan peran tersebut. Namun, Anda dapat menyunting penjelasan peran menggunakan IAM. Untuk informasi selengkapnya, lihat [Mengedit peran tertaut layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dalam *Panduan Pengguna IAM*.

## Menghapus peran terkait layanan untuk Lensa Penyimpanan Amazon S3
<a name="delete-slr"></a>

Jika Anda tidak perlu lagi menggunakan peran terkait layanan, kami rekomendasikan agar Anda menghapus peran tersebut. Dengan begitu, Anda tidak memiliki entitas yang tidak digunakan yang tidak dipantau atau dipelihara secara aktif. Tetapi, Anda harus membersihkan sumber daya peran terkait layanan sebelum menghapusnya secara manual.

**catatan**  
Jika layanan Lensa Penyimpanan Amazon S3 menggunakan peran tersebut ketika Anda mencoba menghapus sumber daya, penghapusan mungkin gagal. Jika hal itu terjadi, tunggu beberapa menit dan coba mengoperasikannya lagi.

Untuk menghapus AWSServiceRoleForS3StorageLens Anda harus menghapus semua konfigurasi Lensa Penyimpanan S3 tingkat organisasi yang ada di semua Wilayah AWS menggunakan AWS Organizations manajemen atau akun administrator delegasi.

Sumber daya adalah konfigurasi Lensa Penyimpanan S3 tingkat organisasi. Gunakan S3 Storage Lens untuk membersihkan sumber daya lalu gunakan [Konsol IAM](https://console.aws.amazon.com/iam/), CLI, REST API, atau AWS SDK untuk menghapus peran. 

Di REST API, AWS CLI, dan SDKs, konfigurasi Lensa Penyimpanan S3 dapat ditemukan menggunakan `ListStorageLensConfigurations` di semua Wilayah tempat organisasi Anda membuat konfigurasi Lensa Penyimpanan S3. Gunakan tindakan `DeleteStorageLensConfiguration` untuk menghapus konfigurasi ini sehingga Anda dapat menghapus peran.

**catatan**  
Untuk menghapus peran terkait layanan, Anda harus menghapus semua konfigurasi Lensa Penyimpanan S3 tingkat organisasi di semua Wilayah tempat mereka ada.

**Untuk menghapus sumber daya Lensa Penyimpanan Amazon S3 yang digunakan oleh SLR AWSServiceRoleForS3StorageLens**

1. Untuk mendapatkan daftar konfigurasi tingkat organisasi Anda, Anda harus menggunakan `ListStorageLensConfigurations` di setiap Wilayah yang memiliki konfigurasi Lensa Penyimpanan S3. Daftar ini juga dapat diperoleh dari konsol Amazon S3.

1. Hapus konfigurasi ini dari titik akhir Regional yang sesuai dengan menjalankan panggilan `DeleteStorageLensConfiguration` API atau dengan menggunakan konsol Amazon S3. 

**Untuk menghapus peran tertaut layanan secara manual menggunakan IAM**

Setelah Anda menghapus konfigurasi, hapus AWSServiceRoleForS3StorageLens SLR dari [Konsol IAM](https://console.aws.amazon.com/iam/) atau dengan menjalankan API IAM`DeleteServiceLinkedRole`, atau menggunakan atau SDK. AWS CLI AWS Untuk informasi selengkapnya, lihat [Menghapus peran tertaut layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dalam *Panduan Pengguna IAM*.

## Wilayah yang Di Support untuk Peran Terkait Layanan Lensa Penyimpanan S3
<a name="slr-regions"></a>

S3 Storage Lens mendukung penggunaan peran terkait layanan di semua Wilayah AWS tempat layanan tersedia. Untuk informasi lebih lanjut, lihat [Wilayah dan Titik Akhir Amazon S3](https://docs.aws.amazon.com/general/latest/gr/s3.html).

# Memecahkan masalah identitas dan akses Amazon S3
<a name="security_iam_troubleshoot"></a>

Gunakan informasi berikut untuk membantu Anda mendiagnosis dan memperbaiki masalah umum yang mungkin Anda temui saat bekerja dengan Amazon S3 dan IAM.

**Topics**
+ [Saya menerima kesalahan akses ditolak](#access_denied_403)
+ [Saya tidak berwenang untuk melakukan tindakan di Amazon S3](#security_iam_troubleshoot-no-permissions)
+ [Saya tidak berwenang untuk melakukan iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Saya ingin mengizinkan orang di luar saya Akun AWS mengakses sumber daya Amazon S3 saya](#security_iam_troubleshoot-cross-account-access)
+ [Memecahkan masalah kesalahan akses ditolak (403 Forbidden) di Amazon S3](troubleshoot-403-errors.md)

## Saya menerima kesalahan akses ditolak
<a name="access_denied_403"></a>

Verifikasi bahwa tidak ada `Deny` pernyataan eksplisit terhadap pemohon yang Anda coba berikan izin baik dalam kebijakan bucket atau kebijakan berbasis identitas. 

Untuk informasi rinci tentang pemecahan masalah akses ditolak kesalahan, lihat. [Memecahkan masalah kesalahan akses ditolak (403 Forbidden) di Amazon S3](troubleshoot-403-errors.md)

## Saya tidak berwenang untuk melakukan tindakan di Amazon S3
<a name="security_iam_troubleshoot-no-permissions"></a>

Jika Anda menerima pesan kesalahan bahwa Anda tidak memiliki otorisasi untuk melakukan tindakan, kebijakan Anda harus diperbarui agar Anda dapat melakukan tindakan tersebut.

Contoh kesalahan berikut terjadi ketika pengguna IAM `mateojackson` mencoba menggunakan konsol untuk melihat detail tentang suatu sumber daya `my-example-widget` rekaan, tetapi tidak memiliki izin `s3:GetWidget` rekaan.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: s3:GetWidget on resource: my-example-widget
```

Dalam hal ini, kebijakan untuk pengguna `mateojackson` harus diperbarui untuk mengizinkan akses ke sumber daya `my-example-widget` dengan menggunakan tindakan `s3:GetWidget`.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya tidak berwenang untuk melakukan iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Jika Anda menerima kesalahan bahwa Anda tidak diizinkan untuk melakukan `iam:PassRole` tindakan, kebijakan Anda harus diperbarui agar Anda dapat meneruskan peran ke Amazon S3.

Beberapa Layanan AWS memungkinkan Anda untuk meneruskan peran yang ada ke layanan tersebut alih-alih membuat peran layanan baru atau peran terkait layanan. Untuk melakukannya, Anda harus memiliki izin untuk meneruskan peran ke layanan.

Contoh kesalahan berikut terjadi ketika pengguna IAM bernama `marymajor` mencoba menggunakan konsol untuk melakukan tindakan di Amazon S3. Namun, tindakan tersebut memerlukan layanan untuk mendapatkan izin yang diberikan oleh peran layanan. Mary tidak memiliki izin untuk meneruskan peran tersebut pada layanan.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dalam kasus ini, kebijakan Mary harus diperbarui agar dia mendapatkan izin untuk melakukan tindakan `iam:PassRole` tersebut.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya ingin mengizinkan orang di luar saya Akun AWS mengakses sumber daya Amazon S3 saya
<a name="security_iam_troubleshoot-cross-account-access"></a>

Anda dapat membuat peran yang dapat digunakan pengguna di akun lain atau orang-orang di luar organisasi Anda untuk mengakses sumber daya Anda. Anda dapat menentukan siapa saja yang dipercaya untuk mengambil peran tersebut. Untuk layanan yang mendukung kebijakan berbasis sumber daya atau daftar kontrol akses (ACLs), Anda dapat menggunakan kebijakan tersebut untuk memberi orang akses ke sumber daya Anda.

Untuk mempelajari selengkapnya, periksa referensi berikut:
+ Untuk mengetahui apakah Amazon S3 mendukung fitur-fitur ini, lihat. [Bagaimana Amazon S3 bekerja dengan IAM](security_iam_service-with-iam.md)
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda di seluruh sumber daya Akun AWS yang Anda miliki, lihat [Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) di *Panduan Pengguna IAM*.
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda kepada pihak ketiga Akun AWS, lihat [Menyediakan akses yang Akun AWS dimiliki oleh pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dalam *Panduan Pengguna IAM*.
+ Untuk mempelajari cara memberikan akses melalui federasi identitas, lihat [Menyediakan akses ke pengguna terautentikasi eksternal (federasi identitas)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dalam *Panduan Pengguna IAM*.
+ *Untuk mempelajari perbedaan antara menggunakan peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat [Akses sumber daya lintas akun di IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).*

# Memecahkan masalah kesalahan akses ditolak (403 Forbidden) di Amazon S3
<a name="troubleshoot-403-errors"></a>

Kesalahan akses ditolak (HTTP`403 Forbidden`) muncul ketika AWS secara eksplisit atau implisit menolak permintaan otorisasi. 
+ *Penolakan eksplisit* terjadi ketika kebijakan berisi `Deny` pernyataan untuk tindakan tertentu AWS . 
+ *Penolakan implisit* terjadi ketika tidak ada pernyataan yang berlaku dan juga tidak ada `Deny` pernyataan yang berlaku`Allow`. 

Karena kebijakan AWS Identity and Access Management (IAM) secara implisit menyangkal prinsip IAM secara default, kebijakan tersebut harus secara eksplisit mengizinkan prinsipal untuk melakukan suatu tindakan. Jika tidak, kebijakan tersebut secara implisit menolak akses. Untuk informasi selengkapnya, lihat [Perbedaan antara penolakan eksplisit dan implisit dalam Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#AccessPolicyLanguage_Interplay) *IAM*. Untuk informasi tentang logika evaluasi kebijakan yang menentukan apakah permintaan akses diizinkan atau ditolak, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) di *Panduan Pengguna IAM*. 

Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. [Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md)

Topik berikut mencakup penyebab paling umum kesalahan akses ditolak di Amazon S3.

**catatan**  
Untuk kesalahan akses ditolak (HTTP`403 Forbidden`), Amazon S3 tidak membebankan biaya kepada pemilik bucket saat permintaan dimulai di luar AWS akun individu pemilik bucket atau organisasi pemilik bucket. AWS 

**Topics**
+ [Akses contoh pesan yang ditolak dan cara memecahkan masalah](#access-denied-message-examples)
+ [Akses ditolak karena pengaturan Requester Pays](#access-denied-requester-pays)
+ [Kebijakan bucket dan kebijakan IAM](#bucket-iam-policies)
+ [Pengaturan Amazon S3 ACL](#troubleshoot-403-acl-settings)
+ [Pengaturan S3 Block Public Access](#troubleshoot-403-bpa)
+ [Pengaturan enkripsi Amazon S3](#troubleshoot-403-encryption)
+ [Pengaturan Kunci Objek S3](#troubleshoot-403-object-lock)
+ [Kebijakan VPC endpoint](#troubleshoot-403-vpc)
+ [AWS Organizations kebijakan](#troubleshoot-403-orgs)
+ [CloudFront akses distribusi](#troubleshoot-403-cloudfront)
+ [Pengaturan titik akses](#troubleshoot-403-access-points)
+ [Sumber daya tambahan](#troubleshoot-403-additional-resources)

**catatan**  
Jika Anda mencoba memecahkan masalah izin, mulailah dengan [Akses contoh pesan yang ditolak dan cara memecahkan masalah](#access-denied-message-examples) bagian tersebut, lalu buka bagian tersebut. [Kebijakan bucket dan kebijakan IAM](#bucket-iam-policies) Pastikan juga untuk mengikuti panduan di[Kiat untuk memeriksa izin](#troubleshoot-403-tips).

## Akses contoh pesan yang ditolak dan cara memecahkan masalah
<a name="access-denied-message-examples"></a>

Amazon S3 sekarang menyertakan konteks tambahan dalam kesalahan akses ditolak (HTTP`403 Forbidden`) untuk permintaan yang dibuat ke sumber daya dalam organisasi yang sama Akun AWS atau sama di. AWS Organizations Konteks baru ini mencakup jenis kebijakan yang menolak akses, alasan penolakan, dan informasi tentang pengguna IAM atau peran yang meminta akses ke sumber daya. 

Konteks tambahan ini membantu Anda memecahkan masalah akses, mengidentifikasi akar penyebab kesalahan akses ditolak, dan memperbaiki kontrol akses yang salah dengan memperbarui kebijakan yang relevan. Konteks tambahan ini juga tersedia di AWS CloudTrail log. Pesan kesalahan yang ditolak akses yang disempurnakan untuk permintaan akun yang sama atau organisasi yang sama sekarang tersedia di semua Wilayah AWS, termasuk Wilayah dan Wilayah Tiongkok AWS GovCloud (US) Regions . 

Sebagian besar pesan kesalahan akses ditolak muncul dalam format`User user-arn is not authorized to perform action on "resource-arn" because context`. Dalam contoh ini, *`user-arn`* adalah [Nama Sumber Daya Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) pengguna yang tidak menerima akses, *`action`* adalah tindakan layanan yang ditolak kebijakan, dan *`resource-arn`* merupakan ARN sumber daya tempat kebijakan tersebut bertindak. *`context`*Kolom ini mewakili konteks tambahan tentang jenis kebijakan yang menjelaskan mengapa kebijakan menolak akses.

Jika kebijakan secara eksplisit menolak akses karena kebijakan berisi `Deny` pernyataan, maka pesan kesalahan akses ditolak menyertakan frasa tersebut. `with an explicit deny in a type policy` Ketika kebijakan secara implisit menolak akses, maka pesan kesalahan akses ditolak menyertakan frasa. `because no type policy allows the action action`

**penting**  
Pesan yang ditolak akses yang disempurnakan dikembalikan hanya untuk permintaan akun yang sama atau untuk permintaan dalam organisasi yang sama di. AWS Organizations Permintaan lintas akun di luar organisasi yang sama menampilkan pesan umum`Access Denied`.   
Untuk informasi tentang logika evaluasi kebijakan yang menentukan apakah permintaan akses lintas akun diizinkan atau ditolak, lihat [Logika evaluasi kebijakan lintas akun di Panduan](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) Pengguna *IAM*. Untuk panduan yang menunjukkan cara memberikan akses lintas akun, lihat. [Contoh 2: Pemilik bucket yang memberikan izin bucket lintas akun](example-walkthroughs-managing-access-example2.md) 
Untuk permintaan dalam organisasi yang sama di AWS Organizations:  
Pesan yang ditolak akses yang disempurnakan tidak dikembalikan jika penolakan terjadi karena kebijakan titik akhir virtual private cloud (VPC).
Pesan yang ditolak akses yang disempurnakan disediakan setiap kali pemilik bucket dan akun penelepon milik organisasi yang sama. AWS Organizations Meskipun bucket yang dikonfigurasi dengan **pemilik Object Ownership Bucket S3 lebih disukai** atau pengaturan **Object writer** mungkin berisi objek yang dimiliki oleh akun yang berbeda, kepemilikan objek tidak memengaruhi peningkatan akses pesan yang ditolak. Pesan yang ditolak akses yang disempurnakan dikembalikan untuk semua permintaan objek selama pemilik bucket dan penelepon berada di organisasi yang sama, terlepas dari siapa yang memiliki objek tertentu. Untuk informasi tentang setelan dan konfigurasi Kepemilikan Objek, lihat[Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda](about-object-ownership.md).
Pesan kesalahan ditolak akses yang disempurnakan tidak dikembalikan untuk permintaan yang dibuat ke bucket direktori. Permintaan bucket direktori mengembalikan `Access Denied` pesan umum.
Jika beberapa kebijakan dari jenis kebijakan yang sama menolak permintaan otorisasi, pesan kesalahan akses ditolak tidak menentukan jumlah kebijakan.
Jika beberapa jenis kebijakan menolak permintaan otorisasi, pesan kesalahan hanya menyertakan salah satu jenis kebijakan tersebut.
Jika permintaan akses ditolak karena beberapa alasan, pesan kesalahan hanya mencakup salah satu alasan penolakan. 

Contoh berikut menunjukkan format untuk berbagai jenis pesan kesalahan yang ditolak akses dan cara memecahkan masalah setiap jenis pesan.

### Akses ditolak karena Jenis Enkripsi yang Diblokir
<a name="access-denied-due-to-blocked-encryption-type"></a>

Untuk membatasi jenis enkripsi sisi server yang dapat Anda gunakan di bucket tujuan umum, Anda dapat memilih untuk memblokir permintaan penulisan SSE-C dengan memperbarui konfigurasi enkripsi default untuk bucket Anda. Konfigurasi tingkat ember ini memblokir permintaan untuk mengunggah objek yang menentukan SSE-C. Ketika SSE-C diblokir untuk bucket, setiap,, `PutObject` `CopyObject``PostObject`, atau Multipart Upload atau permintaan replikasi yang menentukan enkripsi SSE-C akan ditolak dengan kesalahan HTTP 403. `AccessDenied`

Pengaturan ini adalah parameter pada `PutBucketEncryption` API dan juga dapat diperbarui menggunakan Konsol S3, AWS CLI, AWS SDKs dan, jika Anda memiliki `s3:PutEncryptionConfiguration` izin. Nilai yang valid adalah`SSE-C`, yang memblokir enkripsi SSE-C untuk bucket tujuan umum, dan`NONE`, yang memungkinkan penggunaan SSE-C untuk menulis ke bucket.

Misalnya, ketika akses ditolak untuk `PutObject` permintaan karena `BlockedEncryptionTypes` pengaturan memblokir permintaan tulis yang menentukan SSE-C, Anda menerima pesan berikut:

```
An error occurred (AccessDenied) when calling the PutObject operation:   
User: arn:aws:iam::123456789012:user/MaryMajor  is not   
authorized to perform: s3:PutObject on resource:   
"arn:aws:s3:::amzn-s3-demo-bucket1/object-name" because this   
bucket has blocked upload requests that specify   
Server Side Encryption with Customer provided keys (SSE-C).   
Please specify a different server-side encryption type
```

Untuk informasi selengkapnya tentang pengaturan ini, lihat[Memblokir atau membuka blokir SSE-C untuk bucket tujuan umum](blocking-unblocking-s3-c-encryption-gpb.md).

### Akses ditolak karena kebijakan kontrol sumber daya — penolakan eksplisit
<a name="access-denied-rcp-examples-explicit"></a>

1. Periksa `Deny` pernyataan untuk tindakan dalam kebijakan kontrol sumber daya Anda (RCPs). Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui RCP Anda dengan menghapus `Deny` pernyataan. Untuk informasi selengkapnya, lihat [Memperbarui kebijakan kontrol sumber daya (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_policies_update.html#update_policy-rcp) di *Panduan AWS Organizations Pengguna*. 

```
An error occurred (AccessDenied) when calling the GetObject operation: 
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
with an explicit deny in a resource control policy
```

### Akses ditolak karena Kebijakan Kontrol Layanan — penolakan implisit
<a name="access-denied-scp-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan kontrol layanan Anda (SCPs). Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui SCP Anda dengan menambahkan `Allow` pernyataan. Untuk informasi selengkapnya, lihat [Memperbarui SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html#update_policy) di *Panduan AWS Organizations Pengguna*.

```
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform:
s3:GetObject because no service control policy allows the s3:GetObject action
```

### Akses ditolak karena Kebijakan Kontrol Layanan — penolakan eksplisit
<a name="access-denied-scp-examples-explicit"></a>

1. Periksa `Deny` pernyataan untuk tindakan dalam Kebijakan Kontrol Layanan Anda (SCPs). Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui SCP Anda dengan mengubah `Deny` pernyataan untuk memungkinkan pengguna mengakses yang diperlukan. Untuk contoh bagaimana Anda dapat melakukannya, lihat [Mencegah pengguna dan peran IAM membuat perubahan tertentu, dengan pengecualian untuk peran admin tertentu](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_general.html#example-scp-restricts-with-exception) dalam *Panduan AWS Organizations Pengguna*. Untuk informasi selengkapnya tentang memperbarui SCP Anda, lihat [Memperbarui SCP](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html#update_policy) di *AWS Organizations Panduan Pengguna*.

```
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform: 
s3:GetObject with an explicit deny in a service control policy
```

### Akses ditolak karena kebijakan titik akhir VPC — penolakan implisit
<a name="access-denied-vpc-endpoint-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan titik akhir virtual private cloud (VPC) Anda. Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui kebijakan titik akhir VPC Anda dengan menambahkan pernyataan. `Allow` *Untuk informasi selengkapnya, lihat [Memperbarui kebijakan titik akhir VPC di Panduan](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy).AWS PrivateLink *

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no VPC endpoint policy allows the s3:GetObject action
```

### Akses ditolak karena kebijakan titik akhir VPC — penolakan eksplisit
<a name="access-denied-vpc-endpoint-examples-explicit"></a>

1. Periksa `Deny` pernyataan eksplisit untuk tindakan dalam kebijakan titik akhir virtual private cloud (VPC) Anda. Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui kebijakan titik akhir VPC Anda dengan mengubah `Deny` pernyataan untuk memungkinkan pengguna mengakses yang diperlukan. Misalnya, Anda dapat memperbarui `Deny` pernyataan Anda untuk menggunakan kunci `aws:PrincipalAccount` kondisi dengan operator `StringNotEquals` kondisi untuk mengizinkan akses utama tertentu, seperti yang ditunjukkan pada[Contoh 7: Mengecualikan prinsipal tertentu dari pernyataan `Deny`](amazon-s3-policy-keys.md#example-exclude-principal-from-deny-statement). *Untuk informasi selengkapnya tentang memperbarui kebijakan titik akhir VPC Anda, lihat Memperbarui kebijakan titik [akhir VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#update-vpc-endpoint-policy) di Panduan.AWS PrivateLink *

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in a VPC endpoint policy
```

### Akses ditolak karena batas izin — penolakan implisit
<a name="access-denied-permissions-boundary-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan di batas izin Anda. Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui batas izin Anda dengan menambahkan `Allow` pernyataan ke kebijakan IAM Anda. Untuk informasi selengkapnya, lihat [Batas izin untuk entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dan [Mengedit kebijakan IAM di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) Pengguna *IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
because no permissions boundary allows the s3:GetObject action
```

### Akses ditolak karena batas izin — penolakan eksplisit
<a name="access-denied-permissions-boundary-examples-explicit"></a>

1. Periksa `Deny` pernyataan eksplisit untuk tindakan di batas izin Anda. Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui batas izin Anda dengan mengubah `Deny` pernyataan dalam kebijakan IAM Anda untuk memungkinkan pengguna mengakses yang diperlukan. Misalnya, Anda dapat memperbarui `Deny` pernyataan Anda untuk menggunakan kunci `aws:PrincipalAccount` kondisi dengan operator `StringNotEquals` kondisi untuk mengizinkan akses utama tertentu, seperti yang ditunjukkan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount)dalam *Panduan Pengguna IAM*. Untuk informasi selengkapnya, lihat [Batas izin untuk entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dan [Mengedit kebijakan IAM di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) Pengguna *IAM*.

```
User: arn:aws:iam::777788889999:user/MaryMajor is not authorized to perform: 
s3:GetObject with an explicit deny in a permissions boundary
```

### Akses ditolak karena kebijakan sesi — penolakan implisit
<a name="access-denied-session-policy-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan sesi Anda. Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui kebijakan sesi Anda dengan menambahkan `Allow` pernyataan. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dan [Mengedit kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) di *Panduan Pengguna IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no session policy allows the s3:GetObject action
```

### Akses ditolak karena kebijakan sesi — penolakan eksplisit
<a name="access-denied-session-policy-examples-explicit"></a>

1. Periksa `Deny` pernyataan eksplisit untuk tindakan dalam kebijakan sesi Anda. Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui kebijakan sesi Anda dengan mengubah `Deny` pernyataan untuk memungkinkan pengguna mengakses yang diperlukan. Misalnya, Anda dapat memperbarui `Deny` pernyataan Anda untuk menggunakan kunci `aws:PrincipalAccount` kondisi dengan operator `StringNotEquals` kondisi untuk mengizinkan akses utama tertentu, seperti yang ditunjukkan pada[Contoh 7: Mengecualikan prinsipal tertentu dari pernyataan `Deny`](amazon-s3-policy-keys.md#example-exclude-principal-from-deny-statement). Untuk informasi selengkapnya tentang memperbarui kebijakan sesi Anda, lihat Kebijakan [sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dan [Mengedit kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) di *Panduan Pengguna IAM*.

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in a session policy
```

### Akses ditolak karena kebijakan berbasis sumber daya — penolakan implisit
<a name="access-denied-resource-based-policy-examples-implicit"></a>

**catatan**  
*Kebijakan berbasis sumber daya berarti kebijakan* seperti kebijakan bucket dan kebijakan jalur akses.

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan berbasis sumber daya Anda. Periksa juga apakah pengaturan `IgnorePublicAcls` S3 Block Public Access diterapkan pada bucket, access point, atau level akun. Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui kebijakan Anda dengan menambahkan `Allow` pernyataan. *Untuk informasi selengkapnya, lihat [Kebijakan berbasis sumber daya dan Mengedit kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) [IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html).*

   Anda mungkin juga perlu menyesuaikan pengaturan `IgnorePublicAcls` blokir akses publik untuk bucket, titik akses, atau akun. Untuk informasi selengkapnya, lihat [Akses ditolak karena pengaturan Blokir Akses Publik](#access-denied-bpa-examples) dan [Mengonfigurasi pengaturan blokir akses publik untuk bucket S3 Anda](configuring-block-public-access-bucket.md).

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no resource-based policy allows the s3:GetObject action
```

### Akses ditolak karena kebijakan berbasis sumber daya — penolakan eksplisit
<a name="access-denied-resource-based-policy-examples-explicit"></a>

**catatan**  
*Kebijakan berbasis sumber daya berarti kebijakan* seperti kebijakan bucket dan kebijakan jalur akses.

1. Periksa `Deny` pernyataan eksplisit untuk tindakan dalam kebijakan berbasis sumber daya Anda. Periksa juga apakah pengaturan `RestrictPublicBuckets` S3 Block Public Access diterapkan pada bucket, access point, atau level akun. Untuk contoh berikut, tindakannya adalah`s3:GetObject`.

1. Perbarui kebijakan Anda dengan mengubah `Deny` pernyataan untuk memungkinkan pengguna mengakses yang diperlukan. Misalnya, Anda dapat memperbarui `Deny` pernyataan Anda untuk menggunakan kunci `aws:PrincipalAccount` kondisi dengan operator `StringNotEquals` kondisi untuk mengizinkan akses utama tertentu, seperti yang ditunjukkan pada[Contoh 7: Mengecualikan prinsipal tertentu dari pernyataan `Deny`](amazon-s3-policy-keys.md#example-exclude-principal-from-deny-statement). *Untuk informasi selengkapnya tentang memperbarui kebijakan berbasis sumber daya, lihat Kebijakan berbasis [sumber daya dan [Mengedit](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) kebijakan IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) IAM.*

   Anda mungkin juga perlu menyesuaikan pengaturan `RestrictPublicBuckets` blokir akses publik untuk bucket, titik akses, atau akun. Untuk informasi selengkapnya, lihat [Akses ditolak karena pengaturan Blokir Akses Publik](#access-denied-bpa-examples) dan [Mengonfigurasi pengaturan blokir akses publik untuk bucket S3 Anda](configuring-block-public-access-bucket.md).

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in a resource-based policy
```

### Akses ditolak karena kebijakan berbasis identitas — penolakan implisit
<a name="access-denied-identity-based-policy-examples-implicit"></a>

1. Periksa `Allow` pernyataan yang hilang untuk tindakan dalam kebijakan berbasis identitas yang dilampirkan pada identitas. Untuk contoh berikut, tindakan `s3:GetObject` dilampirkan ke pengguna`MaryMajor`.

1. Perbarui kebijakan Anda dengan menambahkan `Allow` pernyataan. *Untuk informasi selengkapnya, lihat [Kebijakan berbasis identitas dan Mengedit kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) [IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) IAM.*

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject because no identity-based policy allows the s3:GetObject action
```

### Akses ditolak karena kebijakan berbasis identitas — penolakan eksplisit
<a name="access-denied-identity-based-policy-examples-explicit"></a>

1. Periksa `Deny` pernyataan eksplisit untuk tindakan dalam kebijakan berbasis identitas yang dilampirkan pada identitas. Untuk contoh berikut, tindakan `s3:GetObject` dilampirkan ke pengguna`MaryMajor`.

1. Perbarui kebijakan Anda dengan mengubah `Deny` pernyataan untuk memungkinkan pengguna mengakses yang diperlukan. Misalnya, Anda dapat memperbarui `Deny` pernyataan Anda untuk menggunakan kunci `aws:PrincipalAccount` kondisi dengan operator `StringNotEquals` kondisi untuk mengizinkan akses utama tertentu, seperti yang ditunjukkan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalaccount)dalam *Panduan Pengguna IAM*. *Untuk informasi selengkapnya, lihat [Kebijakan berbasis identitas dan Mengedit kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_id-based) [IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) IAM.*

```
User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
an explicit deny in an identity-based policy
```

### Akses ditolak karena pengaturan Blokir Akses Publik
<a name="access-denied-bpa-examples"></a>

Fitur Blokir Akses Publik Amazon S3 menyediakan pengaturan untuk titik akses, bucket, dan akun untuk membantu Anda mengelola akses publik ke sumber daya Amazon S3. Untuk informasi selengkapnya tentang cara Amazon S3 mendefinisikan “publik,” lihat [Arti “publik”](access-control-block-public-access.md#access-control-block-public-access-policy-status). 

Secara bawaan, bucket baru, titik akses, dan objek baru tidak mengizinkan akses publik. Namun, pengguna dapat mengubah kebijakan bucket, kebijakan titik akses, kebijakan pengguna IAM, izin objek, atau daftar kontrol akses (ACLs) untuk mengizinkan akses publik. Setelan Akses Publik Blok S3 mengesampingkan kebijakan, izin, dan. ACLs Sejak April 2023, semua pengaturan Blokir Akses Publik diaktifkan secara default untuk bucket baru. 

Saat Amazon S3 menerima permintaan untuk mengakses bucket atau objek, itu akan menentukan apakah akun dari bucket atau pemilik bucket menerapkan blokir akses publik. Jika permintaan tersebut dibuat melalui titik akses, maka Amazon S3 juga memeriksa pengaturan blokir akses publik untuk titik akses tersebut. Jika ada pengaturan blokir akses publik yang sudah ada yang melarang akses yang diminta tersebut, maka Amazon S3 akan menolak permintaan tersebut.

Blokir Akses Publik Amazon S3 menyediakan empat pengaturan. Pengaturan ini bersifat independen dan dapat digunakan dalam kombinasi apa pun. Setiap pengaturan dapat diterapkan ke titik akses, ember, atau seluruh AWS akun. Jika pengaturan blokir akses publik untuk titik akses, bucket, atau akun berbeda, maka Amazon S3 akan menerapkan kombinasi yang paling ketat dari pengaturan titik akses, bucket, dan akun.

Ketika Amazon S3 mengevaluasi apakah suatu operasi dilarang oleh pengaturan blokir akses publik, itu akan menolak permintaan apa pun yang melanggar titik akses, bucket, atau pengaturan akun.

Empat pengaturan yang disediakan oleh Amazon S3 Block Public Access adalah sebagai berikut: 
+ `BlockPublicAcls`— Pengaturan ini berlaku untuk`PutBucketAcl`,`PutObjectAcl`,`PutObject`,`CreateBucket`,`CopyObject`, dan `POST Object` permintaan. `BlockPublicAcls`Pengaturan menyebabkan perilaku berikut: 
  + `PutBucketAcl`dan `PutObjectAcl` panggilan gagal jika daftar kontrol akses yang ditentukan (ACL) bersifat publik.
  + `PutObject`panggilan gagal jika permintaan menyertakan ACL publik.
  + Jika pengaturan ini diterapkan ke akun, maka `CreateBucket` panggilan gagal dengan respons HTTP `400` (`Bad Request`) jika permintaan menyertakan ACL publik.

  Misalnya, ketika akses ditolak untuk `CopyObject` permintaan karena `BlockPublicAcls` pengaturan, Anda menerima pesan berikut: 

  ```
  An error occurred (AccessDenied) when calling the CopyObject operation: 
  User: arn:aws:sts::123456789012:user/MaryMajor is not authorized to 
  perform: s3:CopyObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
  because public ACLs are prevented by the BlockPublicAcls setting in S3 Block Public Access.
  ```
+ `IgnorePublicAcls`— `IgnorePublicAcls` Pengaturan menyebabkan Amazon S3 mengabaikan semua publik ACLs di ember dan objek apa pun yang dikandungnya. Jika izin permintaan Anda hanya diberikan oleh ACL publik, maka pengaturan `IgnorePublicAcls` menolak permintaan tersebut.

  Setiap penolakan yang dihasilkan dari `IgnorePublicAcls` pengaturan adalah implisit. Misalnya, jika `IgnorePublicAcls` menolak `GetObject` permintaan karena ACL publik, Anda menerima pesan berikut: 

  ```
  User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
  s3:GetObject because no resource-based policy allows the s3:GetObject action
  ```
+ `BlockPublicPolicy`— Pengaturan ini berlaku untuk `PutBucketPolicy` dan `PutAccessPointPolicy` permintaan. 

  Menyetel `BlockPublicPolicy` bucket menyebabkan Amazon S3 menolak panggilan `PutBucketPolicy` jika kebijakan bucket yang ditentukan mengizinkan akses publik. Pengaturan ini juga menyebabkan Amazon S3 menolak panggilan ke `PutAccessPointPolicy` semua titik akses akun yang sama pada bucket jika kebijakan yang ditentukan mengizinkan akses publik.

  Pengaturan `BlockPublicPolicy` untuk titik akses menyebabkan Amazon S3 menolak panggilan ke `PutAccessPointPolicy` dan `PutBucketPolicy` yang dilakukan melalui jalur akses jika kebijakan yang ditentukan (baik untuk titik akses atau bucket yang mendasarinya) mengizinkan akses publik.

  Misalnya, ketika akses ditolak atas `PutBucketPolicy` permintaan karena `BlockPublicPolicy` pengaturan, Anda menerima pesan berikut: 

  ```
  An error occurred (AccessDenied) when calling the PutBucketPolicy operation: 
  User: arn:aws:sts::123456789012:user/MaryMajor is not authorized to 
  perform: s3:PutBucketPolicy on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" 
  because public policies are prevented by the BlockPublicPolicy setting in S3 Block Public Access.
  ```
+ `RestrictPublicBuckets``RestrictPublicBuckets`Pengaturan membatasi akses ke titik akses atau bucket dengan kebijakan publik hanya untuk Layanan AWS prinsipal dan pengguna yang berwenang dalam akun pemilik bucket dan akun pemilik jalur akses. Pengaturan ini memblokir semua akses lintas akun ke titik akses atau bucket (kecuali oleh Layanan AWS prinsipal), sambil tetap memungkinkan pengguna di dalam akun untuk mengelola titik akses atau bucket. Pengaturan ini juga menolak semua panggilan anonim (atau tidak ditandatangani).

  Setiap penolakan yang dihasilkan dari `RestrictPublicBuckets` pengaturan adalah eksplisit. Misalnya, jika `RestrictPublicBuckets` menolak `GetObject` permintaan karena kebijakan bucket publik atau jalur akses, Anda menerima pesan berikut: 

  ```
  User: arn:aws:iam::123456789012:user/MaryMajor is not authorized to perform: 
  s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1/object-name" with 
  an explicit deny in a resource-based policy
  ```

Untuk informasi selengkapnya tentang pengaturan ini, lihat [Pengaturan blokir akses publik](access-control-block-public-access.md#access-control-block-public-access-options). Untuk meninjau dan memperbarui pengaturan ini, lihat[Mengonfigurasi blokir akses publik](access-control-block-public-access.md#configuring-block-public-access).

## Akses ditolak karena pengaturan Requester Pays
<a name="access-denied-requester-pays"></a>

Jika bucket Amazon S3 yang Anda coba akses mengaktifkan fitur Requester Pays, Anda harus memastikan bahwa Anda meneruskan parameter permintaan yang benar saat membuat permintaan ke bucket tersebut. Fitur Requester Pays di Amazon S3 memungkinkan pemohon, bukan pemilik bucket, untuk membayar transfer data dan meminta biaya untuk mengakses objek di bucket. Ketika Requester Pays diaktifkan untuk bucket, pemilik bucket tidak dikenakan biaya untuk permintaan yang dibuat oleh AWS akun lain.

Jika Anda mengajukan permintaan ke bucket Requester Pays-enabled tanpa melewati parameter yang diperlukan, Anda akan menerima error Access Denied (403 Forbidden). Untuk mengakses objek dalam bucket Requester Pays-enabled, Anda harus melakukan hal berikut: 

1. Saat membuat permintaan menggunakan AWS CLI, Anda harus menyertakan parameter. `--request-payer requester` Misalnya, untuk menyalin objek dengan kunci yang `object.txt` terletak di bucket `s3://amzn-s3-demo-bucket/` S3 ke lokasi di mesin lokal Anda, Anda juga harus meneruskan parameter `--request-payer requester` jika bucket ini mengaktifkan Requester Pays. 

   ```
   aws s3 cp s3://amzn-s3-demo-bucket/object.txt /local/path \
   --request-payer requester
   ```

1. Saat membuat permintaan terprogram menggunakan AWS SDK, setel `x-amz-request-payer` header ke nilainya. `requester` Sebagai contoh, lihat [Mengunduh objek dari ember Requester Pays](ObjectsinRequesterPaysBuckets.md).

1. Pastikan bahwa pengguna IAM atau peran yang membuat permintaan memiliki izin yang diperlukan untuk mengakses bucket Requester Pays, seperti izin dan izin. `s3:GetObject` `s3:ListBucket`

Dengan menyertakan `--request-payer requester` parameter atau menyetel `x-amz-request-payer` header, Anda memberi tahu Amazon S3 bahwa Anda, pemohon, akan membayar biaya yang terkait dengan mengakses objek di bucket Requester Pays-enabled. Ini akan mencegah kesalahan Akses Ditolak (403 Terlarang).

## Kebijakan bucket dan kebijakan IAM
<a name="bucket-iam-policies"></a>

### Operasi tingkat bucket
<a name="troubleshoot-403-bucket-level-ops"></a>

Jika tidak ada kebijakan bucket, maka bucket secara implisit mengizinkan permintaan dari identitas AWS Identity and Access Management (IAM) apa pun di akun pemilik ember. Bucket juga secara implisit menolak permintaan dari identitas IAM lainnya dari akun lain, serta menolak permintaan anonim (tidak ditandatangani). Namun, jika tidak ada kebijakan pengguna IAM, pemohon (kecuali mereka adalah pengguna Akun AWS root) secara implisit ditolak untuk membuat permintaan apa pun. Untuk informasi selengkapnya tentang logika evaluasi ini, lihat [Menentukan apakah permintaan ditolak atau diizinkan dalam akun](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) di *Panduan Pengguna IAM*.

### Operasi tingkat objek
<a name="troubleshoot-403-object-level-ops"></a>

Jika objek dimiliki oleh akun pemilik bucket, kebijakan bucket dan kebijakan pengguna IAM akan berfungsi dengan cara yang sama untuk operasi tingkat objek seperti yang mereka lakukan untuk operasi tingkat bucket. Misalnya, jika tidak ada kebijakan bucket, bucket secara implisit mengizinkan permintaan objek dari identitas IAM apa pun di akun pemilik ember. Bucket juga secara implisit menolak permintaan objek dari identitas IAM lainnya dari akun lain, serta menolak permintaan anonim (tidak ditandatangani). Namun, jika tidak ada kebijakan pengguna IAM, pemohon (kecuali mereka adalah pengguna Akun AWS root) secara implisit ditolak untuk membuat permintaan objek apa pun.

Jika objek dimiliki oleh akun eksternal, maka akses ke objek hanya dapat diberikan melalui daftar kontrol akses objek (ACLs). Kebijakan bucket dan kebijakan pengguna IAM masih dapat digunakan untuk menolak permintaan objek. 

Oleh karena itu, untuk memastikan kebijakan bucket atau kebijakan pengguna IAM Anda tidak menyebabkan kesalahan Access Denied (403 Forbidden), pastikan persyaratan berikut terpenuhi:
+ Untuk akses akun yang sama, tidak boleh ada pernyataan `Deny` secara eksplisit terhadap peminta yang ingin Anda berikan izin, baik dalam kebijakan bucket maupun kebijakan pengguna IAM. Jika Anda ingin memberikan izin hanya dengan menggunakan kebijakan bucket dan kebijakan pengguna IAM, setidaknya harus ada satu pernyataan `Allow` eksplisit di salah satu kebijakan ini.
+ Untuk akses lintas akun, tidak boleh ada `Deny` pernyataan eksplisit terhadap pemohon yang Anda coba berikan izin, baik dalam kebijakan bucket atau kebijakan pengguna IAM. Untuk memberikan izin lintas akun hanya dengan menggunakan kebijakan bucket dan kebijakan pengguna IAM, pastikan bahwa kebijakan bucket dan kebijakan pengguna IAM dari pemohon menyertakan pernyataan eksplisit. `Allow`

**catatan**  
Pernyataan `Allow` dalam kebijakan bucket hanya berlaku untuk objek yang [dimiliki oleh akun pemilik bucket yang sama](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html). Namun, pernyataan `Deny` dalam kebijakan bucket berlaku untuk semua objek terlepas dari kepemilikan objek. 

**Untuk meninjau atau mengedit kebijakan bucket**
**catatan**  
Untuk melihat atau mengedit kebijakan bucket, Anda harus memiliki izin `s3:GetBucketPolicy`.

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih **Bucket**.

1. Dari daftar **Bucket**, pilih nama bucket yang ingin Anda lihat atau edit kebijakan bucket-nya.

1. Pilih tab **Izin**.

1. Di Bawah **Kebijakan bucket**, pilih **Edit**. Halaman **Edit kebijakan bucket** akan muncul.

Untuk meninjau atau mengedit kebijakan bucket Anda menggunakan AWS Command Line Interface (AWS CLI), gunakan [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy.html)perintah.

**catatan**  
Jika Anda terkunci dari bucket karena kebijakan bucket yang salah, [masuk ke Konsol Manajemen AWS dengan menggunakan kredensyal pengguna Akun AWS root Anda](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-root-user-sign-in-tutorial.html). Untuk mendapatkan kembali akses ke bucket Anda, pastikan untuk menghapus kebijakan bucket yang salah dengan menggunakan kredensyal pengguna Akun AWS root Anda.

### Kiat untuk memeriksa izin
<a name="troubleshoot-403-tips"></a>

Untuk memeriksa apakah peminta memiliki izin yang tepat dalam melakukan operasi Amazon S3, coba hal berikut ini:
+ Identifikasi peminta. Jika permintaan tidak ditandatangani, berarti permintaan tersebut merupakan permintaan anonim tanpa kebijakan pengguna IAM. Jika itu adalah permintaan yang menggunakan URL yang telah ditetapkan sebelumnya, maka kebijakan pengguna sama dengan yang digunakan untuk pengguna IAM atau peran yang menandatangani permintaan.
+ Pastikan Anda menggunakan peran atau pengguna IAM yang benar. Anda dapat memverifikasi peran atau pengguna IAM Anda dengan memeriksa sudut kanan atas Konsol Manajemen AWS atau dengan menggunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html).
+ Periksa kebijakan IAM yang terkait dengan peran atau pengguna IAM. Gunakan salah satu metode berikut:
  + [Uji kebijakan IAM dengan simulator kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html).
  + Tinjau berbagai [jenis kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) yang berbeda.
+ Jika perlu, [edit kebijakan pengguna IAM Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html).
+ Tinjau contoh kebijakan berikut yang secara eksplisit menolak atau mengizinkan akses:
  + Kebijakan mengizinkan pengguna IAM eksplisit: [IAM: Mengizinkan dan menolak akses ke beberapa layanan secara terprogram dan di konsol](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_iam_multiple-services-console.html)
  + Kebijakan izin bucket eksplisit: [Memberikan izin ke beberapa akun untuk mengunggah objek atau menyetel objek ACLs ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-acl-1) untuk akses publik
  + Tolak kebijakan pengguna IAM secara eksplisit [AWS:: Menolak akses AWS berdasarkan permintaan Wilayah AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-requested-region.html)
  + Kebijakan bucket menolak eksplisit: [Memerlukan SSE-KMS untuk semua objek yang ditulis ke bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-encryption-1)

## Pengaturan Amazon S3 ACL
<a name="troubleshoot-403-acl-settings"></a>

Saat memeriksa pengaturan ACL Anda, pertama-tama [tinjau setelan Kepemilikan Objek Anda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-retrieving.html) untuk memeriksa ACLs apakah diaktifkan di bucket. Ketahuilah bahwa izin ACL hanya dapat digunakan untuk memberikan izin dan tidak dapat digunakan untuk menolak permintaan. ACLs juga tidak dapat digunakan untuk memberikan akses ke pemohon yang ditolak oleh penolakan eksplisit dalam kebijakan bucket atau kebijakan pengguna IAM.

### Pengaturan Kepemilikan Objek disetel ke pemilik Bucket diberlakukan
<a name="troubleshoot-403-object-ownership-1"></a>

Jika pengaturan yang **diberlakukan pemilik Bucket** diaktifkan, setelan ACL tidak akan menyebabkan kesalahan Access Denied (403 Forbidden) karena setelan ini menonaktifkan semua ACLs yang berlaku untuk bucket dan objek. **Pemilik bucket diberlakukan** adalah setelan default (dan disarankan) untuk bucket Amazon S3.

### Pengaturan Kepemilikan Objek diatur ke pilihan pemilik Bucket atau penulis Object
<a name="troubleshoot-403-object-ownership-2"></a>

Izin ACL masih berlaku dengan setelan **pilihan pemilik Bucket** atau setelan **penulis Object**. Ada dua jenis ACLs: ember ACLs dan objek ACLs. Untuk perbedaan antara kedua jenis ini ACLs, lihat [Pemetaan izin ACL dan izin kebijakan akses](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping).

Bergantung pada tindakan permintaan yang ditolak, [periksa izin ACL untuk bucket atau objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html):
+ Jika Amazon S3 menolak `LIST`, objek `PUT`, `GetBucketAcl`, atau permintaan `PutBucketAcl`, [tinjau izin ACL untuk bucket Anda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html).
**catatan**  
Anda tidak dapat memberikan izin `GET` objek dengan setelan ACL bucket.
+ Jika Amazon S3 menolak permintaan `GET` pada objek S3, atau permintaan [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html), maka [tinjau izin ACL untuk objek tersebut](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html).
**penting**  
Jika akun pemilik objek berbeda dari akun pemilik bucket, maka akses ke objek tidak dikontrol oleh kebijakan bucket.

### Memecahkan masalah kesalahan Akses Ditolak (403 Forbidden) dari permintaan objek `GET` selama kepemilikan objek lintas akun
<a name="troubleshoot-403-object-ownership-tips"></a>

Tinjau [pengaturan Kepemilikan Objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html#object-ownership-overview) bucket untuk menentukan pemilik objek. Jika Anda memiliki akses ke [objek ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html), maka Anda juga dapat memeriksa akun pemilik objek. (Untuk melihat akun pemilik objek, tinjau pengaturan ACL objek di konsol Amazon S3.) Atau, Anda juga dapat membuat permintaan `GetObjectAcl` untuk menemukan [ID kanonik](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) pemilik objek untuk memverifikasi akun pemilik objek. Secara default, ACLs berikan izin izin eksplisit untuk `GET` permintaan ke akun pemilik objek.

Setelah Anda mengonfirmasi bahwa pemilik objek berbeda dari pemilik bucket, lalu tergantung pada kasus penggunaan dan tingkat akses Anda, pilih salah satu metode berikut untuk membantu mengatasi kesalahan Akses Ditolak (403 Forbidden):
+ **Nonaktifkan ACLs (disarankan)** — Metode ini akan berlaku untuk semua objek dan dapat dilakukan oleh pemilik bucket. Metode ini secara otomatis memberikan pemilik bucket kepemilikan dan kontrol penuh atas setiap objek di bucket. Sebelum Anda menerapkan metode ini, periksa [prasyarat](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-migrating-acls-prerequisites.html) untuk menonaktifkan. ACLs Untuk informasi tentang cara menyetel **bucket ke mode diberlakukan (disarankan) pemilik Bucket**, lihat [Menyetel Kepemilikan Objek pada bucket yang ada](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html).
**penting**  
Untuk mencegah error Access Denied (403 Forbidden), pastikan untuk memigrasikan izin ACL ke kebijakan bucket sebelum Anda menonaktifkannya. ACLs Untuk informasi selengkapnya, lihat [Contoh kebijakan bucket untuk migrasi dari izin ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-migrating-acls-prerequisites.html#migrate-acl-permissions-bucket-policies).
+ **Ubah pemilik objek menjadi pemilik bucket**–Metode ini dapat diterapkan pada objek individual, tetapi hanya pemilik objek (atau pengguna dengan izin yang sesuai) yang dapat mengubah kepemilikan objek. `PUT`Biaya tambahan mungkin berlaku. (Untuk informasi selengkapnya, lihat [harga Amazon S3](https://aws.amazon.com/s3/pricing/).) Metode ini memberikan pemilik bucket kepemilikan penuh atas objek, memungkinkan pemilik bucket untuk mengontrol akses ke objek melalui kebijakan bucket. 

  Untuk mengubah kepemilikan objek, lakukan salah satu hal berikut:
  + Anda (pemilik bucket) dapat [menyalin objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/copy-object.html#CopyingObjectsExamples) kembali ke bucket. 
  + Anda dapat mengubah setelan Kepemilikan Objek **bucket menjadi pilihan pemilik Bucket**. Jika Penentuan Versi dinonaktifkan, objek dalam bucket akan ditimpa. Jika Penentuan Versi diaktifkan, versi duplikat dari objek yang sama akan muncul di bucket, dan pemilik bucket dapat [menetapkan aturan siklus hidup yang akan diakhiri](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-expire-general-considerations.html). Untuk petunjuk tentang cara mengubah pengaturan Kepemilikan Objek Anda, lihat[Menyetel Kepemilikan Objek pada bucket yang ada](object-ownership-existing-bucket.md).
**catatan**  
Saat Anda memperbarui setelan Kepemilikan Objek ke **pemilik Bucket yang diinginkan**, pengaturan hanya diterapkan ke objek baru yang diunggah ke bucket.
  + Anda dapat meminta pemilik objek mengunggah kembali objek dengan objek ACL terekam `bucket-owner-full-control`. 
**catatan**  
Untuk unggahan lintas akun, Anda juga dapat meminta ACL objek terekam `bucket-owner-full-control` dalam kebijakan bucket Anda. Untuk contoh kebijakan bucket, lihat [Memberikan izin lintas akun untuk mengunggah objek sekaligus memastikan bahwa pemilik bucket memiliki kontrol penuh](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-acl-2).
+ **Simpan penulis objek sebagai pemilik objek**-Metode ini tidak mengubah pemilik objek, tetapi memungkinkan Anda untuk memberikan akses ke objek satu per satu. Untuk memberikan akses ke objek, Anda harus memiliki izin `PutObjectAcl` untuk objek tersebut. Kemudian, untuk memperbaiki kesalahan Access Denied (403 Forbidden), tambahkan pemohon sebagai [penerima hibah](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#specifying-grantee) untuk mengakses objek di objek. ACLs Untuk informasi selengkapnya, lihat [Mengkonfigurasi ACLs](managing-acls.md).

## Pengaturan S3 Block Public Access
<a name="troubleshoot-403-bpa"></a>

Jika permintaan yang gagal melibatkan akses publik atau kebijakan publik, periksa pengaturan S3 Blokir Akses Publik di akun, bucket, atau titik akses Anda. Untuk informasi selengkapnya tentang pemecahan masalah akses ditolak kesalahan yang terkait dengan setelan Akses Publik Blok S3, lihat. [Akses ditolak karena pengaturan Blokir Akses Publik](#access-denied-bpa-examples)

## Pengaturan enkripsi Amazon S3
<a name="troubleshoot-403-encryption"></a>

Amazon S3 mendukung enkripsi di sisi server di bucket Anda. Enkripsi di sisi server adalah enkripsi data di tempat tujuan oleh aplikasi atau layanan yang menerimanya. Amazon S3 mengenkripsi data Anda pada tingkat objek saat menulisnya ke disk di pusat AWS data dan mendekripsi untuk Anda saat Anda mengaksesnya. 

Amazon S3 sudah menerapkan enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3) sebagai tingkat dasar enkripsi bagi setiap bucket di Amazon S3. Amazon S3 juga memungkinkan Anda menentukan metode enkripsi di sisi server saat mengunggah objek.

**Untuk meninjau status enkripsi di sisi server dan setelan enkripsi bucket**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih **Bucket**.

1. Dari daftar **Bucket**, pilih bucket yang ingin Anda periksa pengaturan enkripsinya.

1. Pilih tab **Properti**.

1. Gulir ke bawah ke bagian **Enkripsi default** lalu lihat pengaturan **Jenis enkripsi**.

Untuk memeriksa pengaturan enkripsi Anda dengan menggunakan AWS CLI, gunakan [https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-encryption.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-encryption.html)perintah.

**Untuk memeriksa status enkripsi objek**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih **Bucket**.

1. Di daftar **Bucket**, pilih nama bucket yang berisi objek.

1. Dari daftar **Objek**, pilih nama objek yang ingin ditambahkan atau ubah enkripsinya. 

   Halaman detail objek akan muncul.

1. Gulir ke bawah ke bagian **Pengaturan enkripsi sisi server** untuk melihat pengaturan enkripsi di sisi server objek.

Untuk memeriksa status enkripsi objek Anda dengan menggunakan AWS CLI, gunakan [https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html#examples](https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html#examples)perintah.

### Persyaratan enkripsi dan izin
<a name="troubleshoot-403-encryption-requirements"></a>

Amazon S3 mendukung tiga jenis enkripsi di sisi server:
+ Enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3)
+ Enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS)
+ Enkripsi di sisi server dengan kunci yang disediakan pelanggan (SSE-C)

Berdasarkan pengaturan enkripsi Anda, pastikan bahwa persyaratan izin berikut terpenuhi:
+ **SSE-S3**-Tidak diperlukan izin tambahan.
+ **SSE-KMS (dengan CMK)**-Untuk mengunggah objek, izin `kms:GenerateDataKey` pada AWS KMS key diperlukan. Untuk mengunduh objek dan melakukan unggahan objek multibagian, izin `kms:Decrypt` pada kunci KMS diperlukan.
+ **SSE-KMS (dengan Kunci yang dikelola AWS)** — Pemohon harus dari akun yang sama yang memiliki kunci KMS. `aws/s3` Peminta juga harus memiliki izin Amazon S3 yang benar untuk mengakses objek.
+ **SSE-C (dengan kunci yang disediakan pelanggan)**-Tidak diperlukan izin tambahan. Anda dapat mengonfigurasi kebijakan bucket agar [memerlukan dan membatasi enkripsi di sisi server dengan kunci enkripsi yang disediakan pelanggan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key) untuk objek di bucket.

Jika objek dienkripsi dengan CMK, pastikan bahwa kebijakan kunci KMS memungkinkan Anda untuk melakukan `kms:GenerateDataKey` atau tindakan `kms:Decrypt`. Untuk petunjuk tentang memeriksa kebijakan kunci KMS Anda, lihat [Melihat kebijakan kunci](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-viewing.html) di *Panduan Pengembang AWS Key Management Service *.

## Pengaturan Kunci Objek S3
<a name="troubleshoot-403-object-lock"></a>

Jika bucket Anda mengaktifkan [Kunci Objek S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) dan objek dilindungi oleh [periode penyimpanan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-retention-periods) atau [penahanan hukum](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-legal-holds) dan Anda mencoba menghapus objek, Amazon S3 mengembalikan salah satu tanggapan berikut, tergantung pada cara Anda mencoba menghapus objek:
+ **`DELETE`Permintaan permanen** - Jika Anda mengeluarkan `DELETE` permintaan permanen (permintaan yang menentukan ID versi), Amazon S3 mengembalikan kesalahan Access Denied `403 Forbidden` () saat Anda mencoba menghapus objek.
+ **`DELETE`Permintaan sederhana** — Jika Anda mengeluarkan `DELETE` permintaan sederhana (permintaan yang tidak menentukan ID versi), Amazon S3 mengembalikan `200 OK` respons dan menyisipkan [penanda hapus](DeleteMarker.md) di bucket, dan penanda tersebut menjadi versi objek saat ini dengan ID baru.

**Untuk memeriksa apakah bucket telah mengaktifkan Kunci Objek**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih **Bucket**.

1. Dari daftar **Bucket**, pilih nama bucket yang ingin Anda tinjau.

1. Pilih tab **Properti**.

1. Gulir ke bawah hingga bagian **Kunci Objek**. Verifikasi apakah pengaturan **Kunci Objek** **Diaktifkan** atau **Dinonaktifkan**.

Untuk menentukan apakah objek dilindungi oleh periode retensi atau penahanan hukum, [lihat informasi kunci](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-view) untuk objek Anda. 

Jika objek dilindungi oleh periode retensi atau penahanan hukum, periksa hal-hal berikut:
+ Jika versi objek dilindungi oleh mode retensi kepatuhan, tidak ada cara untuk menghapusnya secara permanen. `DELETE`Permintaan permanen dari pemohon, termasuk pengguna Akun AWS root, akan menghasilkan kesalahan Akses Ditolak (403 Terlarang). Selain itu, perlu diketahui bahwa saat Anda mengirimkan permintaan `DELETE` untuk objek yang dilindungi oleh mode retensi kepatuhan, Amazon S3 membuat [penanda hapus](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html) untuk objek tersebut.
+ Jika versi objek dilindungi dengan mode retensi tata kelola dan Anda memiliki izin `s3:BypassGovernanceRetention`, Anda dapat melewati perlindungan dan menghapus versi secara permanen. Untuk informasi selengkapnya, lihat [Memintas mode tata kelola.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-bypass)
+ Jika versi objek dilindungi oleh penahanan hukum, maka permintaan `DELETE` permanen dapat mengakibatkan kesalahan Akses Ditolak (403 Forbidden). Untuk menghapus versi objek secara permanen, Anda harus menghapus penahanan hukum pada versi objek. Untuk menghapus penahanan hukum, Anda harus memiliki izin `s3:PutObjectLegalHold`. Untuk informasi selengkapnya tentang menghapus penahanan hukum, lihat [Mengonfigurasi Kunci Objek S3](object-lock-configure.md).

## Kebijakan VPC endpoint
<a name="troubleshoot-403-vpc"></a>

Jika Anda mengakses Amazon S3 menggunakan titik akhir virtual private cloud (VPC), pastikan kebijakan titik akhir VPC tidak menghalangi Anda mengakses sumber daya Amazon S3 Anda. Secara default, kebijakan titik akhir VPC mengizinkan semua permintaan ke Amazon S3. Anda juga dapat mengonfigurasi kebijakan titik akhir VPC untuk membatasi permintaan tertentu. Untuk informasi tentang cara memeriksa kebijakan titik akhir VPC Anda, lihat sumber daya berikut: 
+ [Akses ditolak karena kebijakan titik akhir VPC — penolakan implisit](#access-denied-vpc-endpoint-examples-implicit)
+ [Akses ditolak karena kebijakan titik akhir VPC — penolakan eksplisit](#access-denied-vpc-endpoint-examples-explicit)
+ [Kontrol akses ke titik akhir VPC dengan menggunakan kebijakan titik akhir](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) *dalam Panduan AWS PrivateLink *

## AWS Organizations kebijakan
<a name="troubleshoot-403-orgs"></a>

Jika Anda Akun AWS milik organisasi, AWS Organizations kebijakan dapat memblokir Anda mengakses sumber daya Amazon S3. Secara default, AWS Organizations kebijakan tidak memblokir permintaan apa pun ke Amazon S3. Namun, pastikan AWS Organizations kebijakan Anda belum dikonfigurasi untuk memblokir akses ke bucket S3. Untuk petunjuk tentang cara memeriksa AWS Organizations kebijakan Anda, lihat sumber daya berikut: 
+ [Akses ditolak karena Kebijakan Kontrol Layanan — penolakan implisit](#access-denied-scp-examples-implicit)
+ [Akses ditolak karena Kebijakan Kontrol Layanan — penolakan eksplisit](#access-denied-scp-examples-explicit)
+ [Akses ditolak karena kebijakan kontrol sumber daya — penolakan eksplisit](#access-denied-rcp-examples-explicit)
+ [Daftar semua kebijakan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_info-operations.html#list-all-pols-in-org) dalam *Panduan AWS Organizations Pengguna*

Selain itu, jika Anda salah mengonfigurasi kebijakan bucket untuk akun anggota untuk menolak akses semua pengguna ke bucket S3 Anda, Anda dapat membuka kunci bucket dengan meluncurkan sesi istimewa untuk akun anggota di IAM. Setelah meluncurkan sesi istimewa, Anda dapat menghapus kebijakan bucket yang salah konfigurasi untuk mendapatkan kembali akses ke bucket. Untuk informasi selengkapnya, lihat [Melakukan tugas istimewa pada akun AWS Organizations anggota](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) di *Panduan AWS Identity and Access Management Pengguna*. 

## CloudFront akses distribusi
<a name="troubleshoot-403-cloudfront"></a>

Jika Anda menerima kesalahan Akses Ditolak (403 Terlarang) saat mencoba mengakses situs web statis S3 Anda CloudFront, periksa masalah umum berikut:
+ **Apakah Anda memiliki format nama domain asal yang benar?**
  + Pastikan Anda menggunakan format titik akhir situs web S3 (bucket-name.s3-website-region.amazonaws.com) daripada titik akhir REST API
  + Verifikasi bahwa hosting situs web statis diaktifkan di bucket Anda
+ **Apakah kebijakan bucket Anda mengizinkan CloudFront akses?**
  + Pastikan kebijakan bucket Anda menyertakan izin untuk Origin Access Identity (OAI) atau Origin Access Control (OAC) CloudFront distribusi Anda
  + Verifikasi kebijakan menyertakan izin s3: GetObject yang diperlukan

Untuk langkah dan konfigurasi pemecahan masalah tambahan, termasuk pengaturan halaman kesalahan dan pengaturan protokol, lihat [Mengapa saya mendapatkan kesalahan “akses 403 ditolak” saat menggunakan titik akhir situs web Amazon S3 sebagai asal distribusi](https://repost.aws/knowledge-center/s3-website-cloudfront-error-403) saya? CloudFront di pusat AWS re:Post pengetahuan.

**catatan**  
Kesalahan ini berbeda dari 403 kesalahan yang mungkin Anda terima saat mengakses S3 secara langsung. Untuk masalah CloudFront spesifik, pastikan untuk memeriksa pengaturan CloudFront distribusi dan konfigurasi S3 Anda.

## Pengaturan titik akses
<a name="troubleshoot-403-access-points"></a>

Jika Anda menerima kesalahan Akses Ditolak (403 Forbidden) saat membuat permintaan melalui Titik Akses Amazon S3, Anda mungkin perlu memeriksa hal-hal berikut: 
+ Konfigurasi untuk titik akses Anda
+ Kebijakan pengguna IAM yang digunakan untuk titik akses Anda
+ Kebijakan bucket yang digunakan untuk mengelola atau mengonfigurasi titik akses lintas akun

**Konfigurasi dan kebijakan titik akses**
+ Saat Anda membuat titik akses, Anda dapat memilih untuk menunjuk **Internet** atau **VPC** sebagai asal jaringan. Jika asal jaringan disetel ke VPC saja, Amazon S3 akan menolak permintaan apa pun yang dibuat ke titik akses yang tidak berasal dari VPC yang ditentukan. Untuk memeriksa asal jaringan titik akses Anda, lihat[Membuat titik akses terbatas pada cloud privat virtual](access-points-vpc.md).
+ Dengan titik akses, Anda juga dapat mengonfigurasi pengaturan Blok Akses Publik kustom, yang bekerja sama dengan pengaturan Blok Akses Publik di tingkat bucket atau akun. Untuk memeriksa pengaturan Blok Akses Publik kustom Anda, lihat [Mengelola akses publik ke titik akses untuk ember tujuan umum](access-points-bpa-settings.md).
+ Untuk membuat permintaan yang berhasil ke Amazon S3 dengan menggunakan titik akses, pastikan bahwa peminta memiliki izin IAM yang diperlukan. Untuk informasi selengkapnya, lihat [Mengonfigurasi kebijakan IAM untuk menggunakan titik akses](access-points-policies.md).
+ Jika permintaan melibatkan titik akses lintas akun, pastikan pemilik bucket telah memperbarui kebijakan bucket untuk mengotorisasi permintaan dari titik akses. Untuk informasi selengkapnya, lihat [Memberikan izin untuk titik akses lintas akun](access-points-policies.md#access-points-cross-account).

Jika kesalahan Akses Ditolak (403 Terlarang) masih berlanjut setelah memeriksa semua item dalam topik ini, [ambil ID permintaan Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/get-request-ids.html) Anda dan hubungi untuk panduan tambahan. Dukungan 

## Sumber daya tambahan
<a name="troubleshoot-403-additional-resources"></a>

Untuk panduan lebih lanjut tentang kesalahan Akses Ditolak (403 Terlarang), Anda dapat memeriksa sumber daya berikut:
+ [Bagaimana cara memecahkan masalah 403 Access Denied Error dari Amazon S3?](https://repost.aws/knowledge-center/s3-troubleshoot-403) di pusat AWS re:Post pengetahuan.
+ [Mengapa saya mendapatkan kesalahan 403 Forbidden ketika saya mencoba mengakses bucket atau objek Amazon S3?](https://repost.aws/knowledge-center/s3-403-forbidden-error) di pusat AWS re:Post pengetahuan.
+ [Mengapa saya mendapatkan kesalahan Akses Ditolak ketika saya mencoba mengakses sumber daya Amazon S3 yang sama? Akun AWS](https://repost.aws/knowledge-center/s3-troubleshoot-403-resource-same-account) di pusat AWS re:Post pengetahuan.
+ [Mengapa saya mendapatkan kesalahan Akses Ditolak ketika saya mencoba mengakses bucket Amazon S3 dengan akses baca publik?](https://repost.aws/knowledge-center/s3-troubleshoot-403-public-read) di pusat AWS re:Post pengetahuan.
+ [Mengapa saya mendapatkan kesalahan “ketidakcocokan tanda tangan” ketika saya mencoba menggunakan URL yang telah ditentukan sebelumnya untuk mengunggah objek ke Amazon S3?](https://repost.aws/knowledge-center/s3-presigned-url-signature-mismatch) di pusat AWS re:Post pengetahuan.
+ [Mengapa saya mendapatkan kesalahan Access Denied untuk ListObjects V2 ketika saya menjalankan perintah sinkronisasi di bucket Amazon S3 saya?](https://repost.aws/knowledge-center/s3-access-denied-listobjects-sync) di pusat AWS re:Post pengetahuan.
+ [Mengapa saya mendapatkan kesalahan “akses 403 ditolak” ketika saya menggunakan titik akhir situs web Amazon S3 sebagai asal distribusi saya? CloudFront ](https://repost.aws/knowledge-center/s3-website-cloudfront-error-403) di pusat AWS re:Post pengetahuan.

# AWS kebijakan terkelola untuk Amazon S3
<a name="security-iam-awsmanpol"></a>

Kebijakan AWS terkelola adalah kebijakan mandiri yang dibuat dan dikelola oleh AWS. AWS Kebijakan terkelola dirancang untuk memberikan izin bagi banyak kasus penggunaan umum sehingga Anda dapat mulai menetapkan izin kepada pengguna, grup, dan peran.

Perlu diingat bahwa kebijakan AWS terkelola mungkin tidak memberikan izin hak istimewa paling sedikit untuk kasus penggunaan spesifik Anda karena tersedia untuk digunakan semua pelanggan. AWS Kami menyarankan Anda untuk mengurangi izin lebih lanjut dengan menentukan [kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) yang khusus untuk kasus penggunaan Anda.

Anda tidak dapat mengubah izin yang ditentukan dalam kebijakan AWS terkelola. Jika AWS memperbarui izin yang ditentukan dalam kebijakan AWS terkelola, pembaruan akan memengaruhi semua identitas utama (pengguna, grup, dan peran) yang dilampirkan kebijakan tersebut. AWS kemungkinan besar akan memperbarui kebijakan AWS terkelola saat baru Layanan AWS diluncurkan atau operasi API baru tersedia untuk layanan yang ada.

Untuk informasi selengkapnya, lihat [Kebijakan terkelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dalam *Panduan Pengguna IAM*.

## AWS kebijakan terkelola: AmazonS3FullAccess
<a name="security-iam-awsmanpol-amazons3fullaccess"></a>

Anda dapat melampirkan kebijakan `AmazonS3FullAccess` ke identitas IAM Anda. Kebijakan ini akan memberikan izin yang mengizinkan akses penuh ke Amazon S3.

Untuk menampilkan izin untuk kebijakan ini, lihat [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor) di Konsol Manajemen AWS.

## AWS kebijakan terkelola: AmazonS3ReadOnlyAccess
<a name="security-iam-awsmanpol-amazons3readonlyaccess"></a>

Anda dapat melampirkan kebijakan `AmazonS3ReadOnlyAccess` ke identitas IAM Anda. Kebijakan ini memberikan izin yang memungkinkan akses hanya-baca ke Amazon S3.

Untuk menampilkan izin untuk kebijakan ini, lihat [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess$jsonEditor](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess$jsonEditor) di Konsol Manajemen AWS.

## AWS kebijakan terkelola: AmazonS3ObjectLambdaExecutionRolePolicy
<a name="security-iam-awsmanpol-amazons3objectlambdaexecutionrolepolicy"></a>

Menyediakan AWS Lambda fungsi izin yang diperlukan untuk mengirim data ke Lambda Objek S3 saat permintaan dibuat ke titik akses Lambda Objek S3. Juga memberikan izin Lambda untuk menulis ke log Amazon. CloudWatch 

Untuk menampilkan izin untuk kebijakan ini, lihat [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AmazonS3ObjectLambdaExecutionRolePolicy$jsonEditor](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AmazonS3ObjectLambdaExecutionRolePolicy$jsonEditor) di Konsol Manajemen AWS.

## AWS kebijakan terkelola: S3UnlockBucketPolicy
<a name="security-iam-awsmanpol-S3UnlockBucketPolicy"></a>

Jika Anda salah mengonfigurasi kebijakan bucket untuk akun anggota untuk menolak akses semua pengguna ke bucket S3, Anda dapat menggunakan kebijakan AWS terkelola (`S3UnlockBucketPolicy`) ini untuk membuka kunci bucket. *Untuk informasi selengkapnya tentang cara menghapus kebijakan bucket yang salah konfigurasi yang menolak semua prinsipal mengakses bucket Amazon S3, [lihat Melakukan tugas istimewa](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) pada akun anggota di Panduan Pengguna. AWS Organizations AWS Identity and Access Management * 

## Pembaruan Amazon S3 ke AWS kebijakan terkelola
<a name="security-iam-awsmanpol-updates"></a>

Lihat detail tentang pembaruan kebijakan AWS terkelola untuk Amazon S3 sejak layanan ini mulai melacak perubahan ini.


| Ubah | Deskripsi | Date | 
| --- | --- | --- | 
|  Amazon S3 menambahkan `S3UnlockBucketPolicy`  |  Amazon S3 menambahkan kebijakan AWS terkelola baru yang dipanggil `S3UnlockBucketPolicy` untuk membuka kunci bucket dan menghapus kebijakan bucket yang salah konfigurasi yang menolak semua prinsipal mengakses bucket Amazon S3.  | November 1, 2024 | 
|  Amazon S3 menambahkan izin Jelaskan ke `AmazonS3ReadOnlyAccess`  |  Amazon S3 menambahkan izin `s3:Describe*` ke `AmazonS3ReadOnlyAccess`.  | 11 Agustus 2023 | 
|  Amazon S3 menambahkan izin S3 Lambda Objek ke `AmazonS3FullAccess` dan `AmazonS3ReadOnlyAccess`  |  Amazon S3 memperbarui kebijakan `AmazonS3FullAccess` dan `AmazonS3ReadOnlyAccess` untuk menyertakan izin untuk S3 Lambda Objek.  | 27 September 2021 | 
|  Amazon S3 menambahkan `AmazonS3ObjectLambdaExecutionRolePolicy`  |  Amazon S3 menambahkan kebijakan AWS terkelola baru yang disebut yang `AmazonS3ObjectLambdaExecutionRolePolicy` menyediakan izin fungsi Lambda untuk berinteraksi dengan Lambda Objek S3 dan menulis ke log. CloudWatch   | 18 Agustus 2021 | 
|  Amazon S3 mulai melakukan pelacakan perubahan  |  Amazon S3 mulai melacak perubahan untuk kebijakan yang AWS dikelola.  | 18 Agustus 2021 | 