Bagaimana Amazon S3 Mengotorisasi Permintaan - 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

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 objekACL) 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.

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, danACLs) pada waktu berjalan menjadi serangkaian kebijakan untuk evaluasi.

  2. 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, ACL bucket, dan ACL objek) 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.

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

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

contoh — Pemohon adalah prinsipal IAM

Jika pemohon adalah IAM prinsipal, Amazon S3 harus menentukan apakah Akun AWS induk tempat prinsipal berada 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, IAM kepala sekolah memerlukan izin dari induk yang Akun AWS menjadi miliknya dan Akun AWS yang memiliki sumber daya.

contoh — Pemohon adalah IAM prinsipal — Jika permintaan adalah untuk operasi pada objek yang pemilik bucket tidak memiliki

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 S3 Anda, akun tersebut (penulis objek) memiliki objek tersebut, memiliki akses ke objek tersebut, dan dapat memberikan akses kepada pengguna lain 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 Anda. Akibatnya, kontrol akses untuk data Anda didasarkan pada kebijakan, seperti kebijakan IAM pengguna, 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.

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: