Bagaimana Amazon S3 Mengotorisasi Permintaan Operasi bucket - Amazon Simple Storage Service

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 Operasi bucket

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.

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

Contoh-contoh berikut ini menggambarkan logika evaluasi.

Contoh 1: Operasi bucket Diminta oleh pemilik bucket

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.

Amazon S3 melakukan evaluasi konteks sebagai berikut:

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

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

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.

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.

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

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.

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.

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

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.

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.

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