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 ikhtisar kebijakan bucket dan pengguna di Amazon S3 dan menjelaskan elemen dasar kebijakan AWS Identity and Access Management (IAM). Setiap elemen yang tercantum berkaitan dengan perincian lebih lanjut tentang elemen tersebut dan contoh-contoh cara penggunaannya.
Untuk daftar lengkap tindakan, sumber daya, dan kondisi Amazon S3, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon S3 di Referensi O torisasi Layanan.
Untuk informasi selengkapnya tentang izin untuk operasi API S3 berdasarkan jenis sumber daya S3, lihatIzin yang diperlukan untuk operasi Amazon S3 API.
Secara mendasar, sebuah kebijakan berisi elemen-elemen berikut ini:
-
Resource— Bucket, objek, titik akses, atau pekerjaan Amazon S3 yang diterapkan 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:::untuk semua benda di ember.bucket_name/*" -
"Resource": "arn:aws:s3:::untuk objek di bawah awalan tertentu di ember.bucket_name/prefix/*"
Untuk informasi selengkapnya, lihat Sumber daya kebijakan untuk Amazon S3.
-
-
ActionsUntuk setiap sumber daya, Amazon S3 mendukung serangkaian operasi. Anda mengidentifikasi operasi sumber daya yang Anda izinkan (atau tolak) dengan menggunakan kata kunci tindakan.
Misalnya,
s3:ListBucketizin memungkinkan pengguna untuk menggunakan ListObjectsV2 operasi Amazon S3. (s3:ListBucketIzin adalah kasus di mana nama tindakan tidak dipetakan langsung ke nama operasi.) Untuk informasi selengkapnya tentang penggunaan tindakan Amazon S3, lihat Tindakan kebijakan untuk Amazon S3. Untuk daftar lengkap tindakan Amazon S3, lihat Tindakan di Referensi API Layanan Penyimpanan Sederhana Amazon. -
Effect- Apa efeknya ketika pengguna meminta tindakan spesifik—ini bisa berupa
Allowatau.DenyJika Anda tidak secara eksplisit memberikan akses ke (mengizinkan) sumber daya, 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 selengkapnya, lihat Elemen Kebijakan IAM JSON: Efek dalam Panduan Pengguna IAM.
-
PrincipalAkun 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.
-
Condition— Ketentuan kapan suatu kebijakan berlaku. Anda dapat menggunakan AWS kunci -wide dan kunci khusus Amazon S3 untuk menentukan kondisi dalam kebijakan akses Amazon S3. Untuk informasi selengkapnya, lihat Contoh kebijakan bucket menggunakan kunci kondisi.
Contoh kebijakan bucket berikut menunjukkan Resource elemenEffect, PrincipalAction,, dan. Kebijakan ini memungkinkan, pengguna di akunAkua,123456789012s3:GetObject,s3:GetBucketLocation, dan izin s3:ListBucket Amazon S3 pada bucket.amzn-s3-demo-bucket1
Untuk informasi bahasa kebijakan lengkap, lihat Kebijakan dan izin di 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. Contoh:
-
Sumber daya Akun AWS yang Anda gunakan untuk membuat bucket dan mengunggah objek memiliki sumber daya tersebut.
-
Jika Anda mengunggah objek menggunakan kredentif pengguna atau peran AWS Identity and Access Management (IAM), pengguna atau peran Akun AWS yang dimiliki memiliki objek tersebut.
-
Pemilik bucket dapat memberikan izin lintas akun kepada Akun AWS lain (atau pengguna di akun lain) untuk unggah objek. Dalam hal ini, Akun AWS yang unggah objek tersebut adalah pemilik objek tersebut. Pemilik bucket tidak memiliki izin pada objek yang dimiliki akun lain, dengan pengecualian berikut:
-
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 objek.
-
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 selengkapnya tentang otentikasi permintaan, lihat Membuat permintaan di Referensi API Amazon S3.
Pemilik bucket dapat mengizinkan permintaan yang tidak diauntentikasi. Misalnya, PutObject permintaan yang tidak diautentikasi diizinkan ketika bucket memiliki kebijakan bucket publik, atau ketika bucket ACL 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
Sebaiknya Anda tidak menggunakan kredentif 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 kredenSIAL yang ditetapkan ke peran administrator, bukan kredenSIAL pengguna Akun AWS root, untuk berinteraksi dengan AWS dan melakukan tugas, seperti membuat bucket, membuat pengguna, dan memberikan izin. Untuk informasi selengkapnya, lihat AWS kreden SIAL keamanan dan Praktik terbaik Keamanan di IAM di Panduan Pengguna IAM.