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 mencakup izin berbasis sumber daya (misalnya, kebijakan bucket dan daftar kontrol akses bucket) dan kebijakan pengguna jika permintaan tersebut berasal dari prinsipal. IAM Amazon S3 kemudian mengevaluasi serangkaian kebijakan yang dihasilkan dalam serangkaian langkah sesuai dengan konteks tertentu—konteks pengguna atau konteks bucket:
-
Konteks pengguna - Jika pemohon adalah IAM kepala sekolah, 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), Amazon S3 juga mengevaluasi kebijakan sumber daya terkait (kebijakan bucket dan ACL bucket) secara 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.
-
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 bucketACL. Jika Akun AWS yang memiliki bucket juga merupakan akun induk dari IAM prinsipal, 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.](images/AccessControlAuthorizationFlowBucketResource.png)
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.](images/example10-policy-eval-logic.png)
Amazon S3 melakukan evaluasi konteks sebagai berikut:
-
Karena permintaan dibuat dengan menggunakan kredensial pengguna root Akun AWS, maka konteks pengguna tidak dievaluasi.
-
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 IAM pengguna yang terlibat dalam permintaan ini.
![Ilustrasi yang menunjukkan operasi bucket yang diminta oleh pemilik bucket Akun AWS yang bukan pemilik bucket.](images/example20-policy-eval-logic.png)
Dalam contoh ini, Amazon S3 mengevaluasi konteksnya sebagai berikut:
-
Karena permintaan dibuat dengan menggunakan kredensi pengguna root dari sebuah Akun AWS, konteks pengguna tidak dievaluasi.
-
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 diminta oleh IAM kepala sekolah yang Akun AWS induknya juga pemilik bucket
Dalam contoh, permintaan dikirim oleh Jill, IAM pengguna di Akun AWS 1111-1111-1111, yang juga memiliki ember.
![Ilustrasi yang menunjukkan operasi bucket yang diminta oleh IAM kepala sekolah dan pemilik bucket.](images/example30-policy-eval-logic.png)
Amazon S3 akan melakukan evaluasi konteks sebagai berikut:
-
Karena permintaan berasal dari IAM prinsipal, dalam konteks pengguna, Amazon S3 mengevaluasi semua kebijakan milik induk Akun AWS 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 dalam konteks yang sama karena mereka termasuk ACL dalam akun yang sama.
-
Karena Amazon S3 mengevaluasi kebijakan bucket dan bucket ACL sebagai bagian dari konteks pengguna, Amazon S3 tidak mengevaluasi konteks bucket.
Contoh 4: Operasi bucket diminta oleh IAM kepala sekolah yang Akun AWS induknya bukan pemilik bucket
Dalam contoh ini, permintaan dikirim oleh Jill, IAM pengguna yang orang tuanya 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 IAM kepala sekolah yang bukan pemilik bucket.](images/example40-policy-eval-logic.png)
Jill akan membutuhkan izin dari induk Akun AWS dan pemilik ember. Amazon S3 mengevaluasi konteksnya seperti berikut:
-
Karena permintaan berasal dari IAM prinsipal, Amazon S3 mengevaluasi konteks pengguna dengan meninjau kebijakan yang ditulis oleh akun 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.
-
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.