

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

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