Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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 ketentuan Amazon S3, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon S3 di Referensi Otorisasi Layanan.
Untuk informasi selengkapnya tentang izin operasi S3 API menurut jenis sumber daya S3, lihat. Izin yang diperlukan untuk operasi API Amazon S3
Secara mendasar, sebuah kebijakan berisi elemen-elemen berikut ini:
-
Resource- Bucket Amazon S3, objek, titik akses, atau pekerjaan 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:::
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.
-
-
Actions— 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,
s3:ListBucket
izin memungkinkan pengguna untuk menggunakan Amazon S3 ListObjectsV2operasi. (s3:ListBucket
Izin 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 tertentu—ini bisa berupa salah satu atau.
Allow
Deny
Jika 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.
-
Principal— 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 Prinsipal untuk kebijakan bucket.
-
Condition— Ketentuan 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 menunjukkanEffect
,, Principal
Action
, dan Resource
elemen. Kebijakan ini memungkinkan
, pengguna dalam akunAkua
, 123456789012
s3:GetObject
s3:GetBucketLocation
, dan izin s3:ListBucket
Amazon S3 di bucket. amzn-s3-demo-bucket1
{ "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:::amzn-s3-demo-bucket1
/*", "arn:aws:s3:::amzn-s3-demo-bucket1
" ] } ] }
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 kredensi peran, pengguna atau peran Akun AWS tersebut 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 autentikasi permintaan, lihat Membuat permintaan di Referensi API Amazon S3.
Pemilik bucket dapat mengizinkan permintaan yang tidak diauntentikasi. Misalnya, tidak diautentikasi PutObjectpermintaan diizinkan jika bucket memiliki kebijakan bucket publik, atau saat bucket ACL memberikan WRITE
atau FULL_CONTROL
mengakses All
Users
grup atau pengguna anonim secara khusus. Untuk informasi selengkapnya tentang kebijakan bucket publik dan daftar kontrol akses publik (ACLs), lihatArti “publik”.
Semua permintaan yang tidak diautentikasi dibuat oleh pengguna anonim. Pengguna ini diwakili ACLs oleh ID pengguna kanonik tertentu. 65a011a29cdf8ec533ec3d1ccaae921c
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 dimodifikasi oleh pengguna anonim, sebaiknya Anda tidak menerapkan kebijakan bucket yang mengizinkan penulisan publik anonim ke bucket Anda atau penggunaan ACLs yang memungkinkan pengguna anonim menulis 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 ACLs, 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 kredensil yang ditetapkan ke peran administrator, bukan kredensil pengguna Akun AWS root, untuk berinteraksi dengan AWS dan melakukan tugas, seperti membuat bucket, membuat pengguna, dan memberikan izin. Untuk informasi selengkapnya, lihat AWS kredensi keamanan dan praktik terbaik Keamanan di IAM di Panduan Pengguna IAM.