Kebijakan dan izin di Amazon S3 - Amazon Simple Storage Service

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

Kebijakan dan izin di Amazon S3

Halaman ini memberikan gambaran umum tentang kebijakan bucket dan kebijakan pengguna di Amazon S3 dan menjelaskan elemen-elemen dasar sebuah kebijakan. 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 di Referensi Otorisasi Layanan.

Secara mendasar, sebuah kebijakan berisi elemen-elemen berikut ini:

  • Sumber Daya–Bucket Amazon S3, objek, titik akses, atau tugas 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 dalam bucket.

    - "Resource": "arn:aws:s3:::bucket_name/prefix/*" untuk objek di bawah prefiks tertentu di bucket.

    Untuk informasi selengkapnya, lihat Sumber daya kebijakan untuk Amazon S3.

  • Tindakan–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, izin s3:ListBucket memungkinkan pengguna untuk menggunakan operasi GET Bucket (Cantumkan Objek) Amazon S3. Untuk informasi selengkapnya tentang penggunaan tindakan Amazon S3, lihat Tindakan kebijakan untuk Amazon S3. Untuk daftar lengkap tindakan Amazon S3, lihat Tindakan.

  • Efek–Adalah dampak yang terjadi ketika pengguna meminta tindakan tertentu—ini dapat berupa izinkan atau tolak.

    Jika Anda tidak secara jelas memberikan akses (mengizinkan) ke sumber daya, maka 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 lebih lanjut, lihat Elemen Kebijakan IAM JSON: Efek.

  • Pengguna Utama–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 Prinsip untuk kebijakan bucket.

  • Kondisi–kondisi yang mengatur 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.

Contoh kebijakan bucket berikut menunjukkan elemen efek, pengguna utama, tindakan, dan sumber daya. Kebijakan ini memungkinkan Akua, pengguna dalam akun Account-ID,, s3:GetObjects3:GetBucketLocation, dan izin s3:ListBucket Amazon S3 di bucket. awsexamplebucket1

{ "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:::awsexamplebucket1/*", "arn:aws:s3:::awsexamplebucket1" ] } ] }

Untuk informasi bahasa kebijakan selengkapnya, lihat Kebijakan dan izin dalam referensi kebijakan IAM dan IAM JSON di Panduan Pengguna IAM.

Delegasi izin

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

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. Sebagai 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 orang lain Akun AWS (atau pengguna di akun lain) untuk mengunggah objek. Dalam hal ini, objek Akun AWS yang mengunggah memiliki objek tersebut. Pemilik bucket tidak memiliki izin pada objek yang dimiliki akun lain, dengan pengecualian berikut ini:

    • 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 penyimpanan Anda.

Autentikasi kepemilikan dan permintaan

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 lebih lanjut tentang autentikasi permintaan, lihat Membuat permintaan.

Pemilik bucket dapat mengizinkan permintaan yang tidak diauntentikasi. Misalnya, PUT Objectpermintaan 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 lebih lanjut tentang kebijakan bucket publik dan daftar kontrol akses (ACL) publik, lihat Arti “publik”.

Semua permintaan yang tidak diautentikasi dibuat oleh pengguna anonim. Pengguna ini diwakili dalam ACL oleh 65a011a29cdf8ec533ec3d1ccaae921c ID pengguna kanonik tertentu. 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 diubah oleh pengguna anonim, kami merekomendasikan agar Anda tidak menerapkan kebijakan bucket yang mengizinkan penulisan publik anonim ke bucket Anda atau menggunakan ACL yang mengizinkan pengguna anonim tulis 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. Untuk informasi selengkapnya tentang ACL, lihat Gambaran umum daftar kontrol akses (ACL).

penting

Kami menyarankan agar Anda tidak menggunakan kredensi 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 kredensil AWS keamanan di Panduan Pengguna IAM dan praktik terbaik Keamanan di IAM di Panduan Pengguna IAM.