Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Melakukan blok akses publik ke penyimpanan Amazon S3 Anda
Fitur Blokir Akses Publik Amazon S3 menyediakan pengaturan untuk titik akses, bucket, dan akun untuk membantu Anda mengelola akses publik ke sumber daya Amazon S3. Secara bawaan, bucket baru, titik akses, dan objek baru tidak mengizinkan akses publik. Namun, pengguna dapat memodifikasi kebijakan bucket, kebijakan titik akses, atau izin objek untuk memungkinkan akses publik. Pengaturan S3 Blokir Akses Publik menolak kebijakan-kebijakan dan izin tersebut sehingga Anda dapat membatasi akses publik ke sumber daya.
Dengan S3 Blokir Akses Publik, administrator akun dan pemilik bucket dapat dengan mudah menyiapkan kontrol terpusat untuk membatasi akses publik ke sumber daya Amazon S3 mereka yang diberlakukan terlepas dari bagaimana sumber daya tersebut dibuat.
Untuk petunjuk tentang mengonfigurasi akses blok publik, lihat Mengonfigurasi blokir akses publik.
Saat Amazon S3 menerima permintaan untuk mengakses bucket atau objek, itu akan menentukan apakah akun dari bucket atau pemilik bucket menerapkan blokir akses publik. Jika permintaan tersebut dibuat melalui titik akses, maka Amazon S3 juga memeriksa pengaturan blokir akses publik untuk titik akses tersebut. Jika ada pengaturan blokir akses publik yang sudah ada yang melarang akses yang diminta tersebut, maka Amazon S3 akan menolak permintaan tersebut.
Blokir Akses Publik Amazon S3 menyediakan empat pengaturan. Pengaturan ini bersifat independen dan dapat digunakan dalam kombinasi apa pun. Setiap pengaturan dapat diterapkan ke titik akses, bucket, atau seluruh Akun AWS. Jika pengaturan blokir akses publik untuk titik akses, bucket, atau akun berbeda, maka Amazon S3 akan menerapkan kombinasi yang paling ketat dari pengaturan titik akses, bucket, dan akun.
Ketika Amazon S3 mengevaluasi apakah suatu operasi dilarang oleh pengaturan blokir akses publik, itu akan menolak permintaan apa pun yang melanggar titik akses, bucket, atau pengaturan akun.
penting
Akses publik diberikan ke bucket dan objek melalui daftar kontrol akses (ACLs), kebijakan titik akses, kebijakan bucket, atau semua. Untuk membantu memastikan bahwa semua titik akses Amazon S3, bucket, dan objek Anda diblokir akses publiknya, kami menyarankan Anda untuk mengaktifkan keempat pengaturan guna memblokir akses publik untuk akun Anda. Pengaturan ini memblokir akses publik untuk semua bucket dan titik akses saat ini dan mendatang.
Sebelum menerapkan pengaturan ini, verifikasi bahwa aplikasi Anda akan bekerja dengan baik tanpa akses publik. Jika Anda memerlukan beberapa tingkat akses publik ke bucket atau objek Anda—misalnya, untuk menjadi host situs web statis seperti yang dijelaskan di Hosting situs web statis menggunakan Amazon S3—Anda dapat menyesuaikan pengaturan individual agar sesuai dengan kasus penggunaan penyimpanan Anda.
Mengaktifkan Blokir Akses Publik membantu melindungi sumber daya Anda dengan mencegah akses publik diberikan melalui kebijakan sumber daya atau daftar kontrol akses (ACLs) yang secara langsung dilampirkan ke sumber daya S3. Selain mengaktifkan Blokir Akses Publik, periksa kebijakan berikut dengan cermat untuk mengonfirmasi bahwa kebijakan tersebut tidak memberikan akses publik:
-
Kebijakan berbasis identitas yang dilampirkan pada AWS prinsipal terkait (misalnya, peran IAM)
-
Kebijakan berbasis sumber daya yang dilampirkan pada AWS sumber daya terkait (misalnya, kunci (KMS AWS Key Management Service ))
catatan
-
Anda dapat mengaktifkan pengaturan blokir akses publik hanya untuk titik akses, bucket, dan Akun AWS. Amazon S3 tidak mendukung pengaturan blokir akses publik secara per-objek.
-
Saat Anda menerapkan pengaturan blokir akses publik ke akun, pengaturan berlaku untuk semua Wilayah AWS secara global. Pengaturan tersebut mungkin tidak berlaku di semua Wilayah secara langsung atau bersamaan, tetapi pada akhirnya akan menyebar ke semua Wilayah.
Topik
Pengaturan blokir akses publik
S3 Blokir Akses Publik menyediakan empat pengaturan. Anda dapat menerapkan pengaturan ini dalam kombinasi apa pun ke titik akses individu, bucket, atau seluruh Akun AWS. Jika Anda menerapkan pengaturan tersebut ke sebuah akun, pengaturan tersebut akan berlaku untuk semua bucket dan titik akses yang dimiliki oleh akun tersebut. Demikian pula, jika Anda menerapkan pengaturan tersebut pada bucket, maka pengaturan tersebut berlaku untuk semua titik akses yang terkait dengan bucket tersebut.
Tabel berikut berisi pengaturan-pengaturan yang tersedia.
Nama | Deskripsi |
---|---|
BlockPublicAcls |
Mengatur opsi ini menjadi
Saat pengaturan ini disetel ke catatanTitik akses tidak ACLs terkait dengan mereka. Jika Anda menerapkan pengaturan ini ke titik akses, maka pengaturan bertindak sebagai jalur ke bucket yang mendasarinya. Jika titik akses mengaktifkan pengaturan ini, maka permintaan yang dibuat melalui titik akses tersebut akan tetap berfungsi seolah-olah bucket yang mendasari akan mengaktifkan pengaturan ini, terlepas dari apakah bucket benar-benar mengaktifkan pengaturan tersebut atau tidak. |
IgnorePublicAcls |
Menyetel opsi ini untuk catatanTitik akses tidak ACLs terkait dengan mereka. Jika Anda menerapkan pengaturan ini ke titik akses, maka pengaturan bertindak sebagai jalur ke bucket yang mendasarinya. Jika titik akses mengaktifkan pengaturan ini, maka permintaan yang dibuat melalui titik akses tersebut akan tetap berfungsi seolah-olah bucket yang mendasari akan mengaktifkan pengaturan ini, terlepas dari apakah bucket benar-benar mengaktifkan pengaturan tersebut atau tidak. |
BlockPublicPolicy |
Pengaturan opsi ini ke bucket Mengatur opsi ini untuk titik akses Anda dapat menggunakan pengaturan ini untuk memungkinkan pengguna mengelola kebijakan titik akses dan bucket tanpa mengizinkan mereka membagikan bucket atau objek yang dimuatnya secara publik. Mengaktifkan pengaturan ini tidak memengaruhi kebijakan titik akses atau bucket yang sudah ada. pentingUntuk menggunakan pengaturan ini secara efektif, kami menyarankan Anda menerapkannya di level akun. Kebijakan bucket dapat memungkinkan pengguna untuk mengubah pengaturan blokir akses publik bucket. Oleh karena itu, pengguna yang memiliki izin untuk mengubah kebijakan bucket dapat memasukkan kebijakan yang memungkinkan mereka menonaktifkan pengaturan blokir akses publik untuk bucket tersebut. Jika pengaturan ini diaktifkan untuk seluruh akun, bukannya untuk bucket tertentu, Amazon S3 memblokir kebijakan publik bahkan jika pengguna mengubah kebijakan bucket untuk menonaktifkan pengaturan ini. |
RestrictPublicBuckets |
Menyetel opsi ini untuk Mengaktifkan pengaturan ini tidak memengaruhi kebijakan titik akses atau bucket yang sudah ada, kecuali bahwa Amazon S3 memblokir akses publik dan akses lintas akun yang berasal dari setiap titik akses publik atau kebijakan bucket, termasuk delegasi non-publik ke akun tertentu. |
penting
-
Panggilan ke GET bucket dan GET Object selalu mengembalikan izin efektif yang ada untuk bucket atau objek yang ditentukan. Sebagai contoh, anggaplah sebuah bucket memiliki ACL yang memberikan akses publik, tetapi bucket tersebut juga mengaktifkan pengaturan
IgnorePublicAcls
. Dalam hal ini, acl GET bucket menghasilkan ACL yang mencerminkan izin akses yang diterapkan Amazon S3, bukannya ACL aktual yang terkait dengan bucket. -
Blokir setelan akses publik tidak mengubah kebijakan yang ada atau ACLs. Oleh karena itu, menghapus pengaturan blokir akses publik akan menyebabkan bucket atau objek yang memiliki kebijakan publik atau ACL dapat diakses oleh publik lagi.
Melakukan operasi akses publik blok pada titik akses
Untuk melakukan memblokir operasi akses publik pada titik akses, gunakan AWS CLI layanan inis3control
.
penting
Perhatikan bahwa saat ini tidak memungkinkan untuk mengubah pengaturan blokir akses publik milik titik akses setelah membuat titik akses. Dengan demikian, satu-satunya cara untuk menentukan pengaturan blokir akses publik untuk titik akses adalah dengan menyertakannya saat membuat titik akses.
Arti “publik”
ACLs
Amazon S3 menganggap ACL ember atau objek bersifat publik jika memberikan izin kepada anggota dari AllUsers
atau grup AuthenticatedUsers
yang telah ditentukan sebelumnya. Untuk informasi lebih lanjut tentang grup yang telah ditentukan sebelumnya, lihat Grup Amazon S3 yang sudah ditentukan sebelumnya.
Kebijakan bucket
Saat mengevaluasi kebijakan bucket, Amazon S3 memulai dengan mengasumsikan bahwa kebijakan tersebut bersifat publik. Itu kemudian mengevaluasi kebijakan tersebut untuk menentukan apakah kebijakan tersebut memenuhi syarat sebagai non-publik. Agar dianggap non-publik, suatu kebijakan bucket harus memberikan akses hanya ke nilai-nilai tetap (nilai yang tidak mengandung wildcard atau Variabel AWS Identity and Access Management Kebijakan) untuk satu atau lebih berikut ini:
-
AWS Prinsipal, pengguna, peran, atau prinsipal layanan (mis.
aws:PrincipalOrgID
) -
Satu set Classless Inter-Domain Routings ()CIDRs, menggunakan.
aws:SourceIp
Untuk informasi lebih lanjut tentang CIDR, lihat RFC 4632di situs web Editor RFC. catatan
Kebijakan bucket yang memberikan akses yang dikondisikan pada kunci kondisi
aws:SourceIp
dengan rentang IP yang sangat luas (misalnya, 0.0.0.0/1) dievaluasi sebagai “publik.” Ini termasuk nilai yang lebih luas dari /8 untuk IPv4 dan /32 untuk IPv6 (tidak termasuk RFC1918 rentang pribadi). Blokir akses publik akan menolak kebijakan “publik” ini dan mencegah akses lintas akun ke bucket yang sudah menggunakan kebijakan “publik: ini. -
aws:SourceArn
-
aws:SourceVpc
-
aws:SourceVpce
-
aws:SourceOwner
-
aws:SourceAccount
-
aws:userid
, di luar dari pola "AROLEID:*
" -
s3:DataAccessPointArn
catatan
Ketika digunakan dalam kebijakan bucket, nilai ini dapat memuat wildcard untuk nama titik akses tanpa mengubah kebijakan publik, selama id akunnya tetap sama. Misalnya, memungkinkan akses ke
arn:aws:s3:us-west-2:123456789012:accesspoint/*
akan mengizinkan akses ke setiap titik akses yang terkait dengan akun123456789012
di Wilayahus-west-2
, tanpa membuat kebijakan bucket menjadi publik. Perhatikan bahwa perilaku ini berbeda untuk kebijakan titik akses. Untuk informasi selengkapnya, lihat Titik Akses. -
s3:DataAccessPointAccount
Untuk informasi lebih lanjut tentang kebijakan bucket, lihat Kebijakan Bucket untuk Amazon S3.
contoh : Kebijakan bucket publik
Menurut aturan ini, contoh kebijakan-kebijakan berikut ini dianggap publik.
{ "Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow" }
{ "Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow", "Condition": { "StringLike": {"aws:SourceVpc": "vpc-*"}} }
Anda dapat membuat kebijakan-kebijakan ini non-publik dengan memasukkan kunci kondisi yang tercantum sebelumnya, dengan menggunakan nilai tetap. Misalnya, Anda dapat membuat kebijakan terakhir sebelumnya menjadi non-publik dengan mengatur aws:SourceVpc
dengan nilai tetap, seperti berikut ini.
{ "Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow", "Condition": {"StringEquals": {"aws:SourceVpc": "vpc-91237329"}} }
Cara Amazon S3 mengevaluasi kebijakan bucket yang berisi pemberian akses publik dan non-publik
Contoh ini menunjukkan bagaimana Amazon S3 mengevaluasi kebijakan bucket yang berisi pemberian akses, baik publik maupun non-publik.
Anggaplah bucket memiliki kebijakan yang memberikan akses ke serangkaian pengguna utama tetap. Berdasarkan peraturan yang dijelaskan sebelumnya, kebijakan ini tidak boleh dibuat menjadi publik. Dengan demikian, jika Anda mengaktifkan pengaturan RestrictPublicBuckets
, maka kebijakan tetap berlaku sebagaimana yang tertulis, karena RestrictPublicBuckets
hanya berlaku untuk bucket yang memiliki kebijakan publik. Namun, jika Anda menambahkan pernyataan publik pada kebijakan tersebut, RestrictPublicBuckets
berpengaruh pada bucket. Ini hanya memungkinkan kepala AWS layanan dan pengguna resmi akun pemilik bucket untuk mengakses bucket.
Sebagai contoh, anggaplah bahwa sebuah bucket yang dimiliki "Akun-1" memiliki kebijakan yang memuat hal-hal berikut:
-
Pernyataan yang memberikan akses ke AWS CloudTrail (yang merupakan prinsipal AWS layanan)
-
Pernyataan yang memberikan akses ke akun “Akun-2”
-
Pernyataan yang memberikan akses ke publik, misalnya dengan menentukan
"Principal": "*"
tanpa membatasiCondition
Kebijakan ini memenuhi kualifikasi sebagai kebijakan bersifat publik karena pernyataan ketiga. Dengan kebijakan ini diberlakukan dan RestrictPublicBuckets
diaktifkan, Amazon S3 mengizinkan akses hanya dengan. CloudTrail Meskipun pernyataan 2 tidak bersifat publik, Amazon S3 nonaktifkan akses oleh "Akun-2." Hal ini karena pernyataan 3 menjadikan kebijakan tersebut bersifat publik, sehingga RestrictPublicBuckets
berlaku. Oleh karena itu, Amazon S3 menonaktifkan akses lintas akun, meskipun kebijakan tersebut mendelegasikan akses ke akun tertentu, yakni “Akun-2.” Tetapi jika Anda menghapus pernyataan 3 dari kebijakan tersebut, maka kebijakan tersebut tidak akan memenuhi syarat sebagai kebijakan bersifat publik, dan RestrictPublicBuckets
tidak lagi berlaku. Dengan demikian, “Akun-2” mendapatkan kembali akses ke bucket, bahkan jika Anda membiarkan RestrictPublicBuckets
tetap aktif.
Titik Akses
Amazon S3 mengevaluasi pengaturan blokir akses publik dengan sedikit berbeda untuk titik akses dibandingkan dengan bucket. Aturan yang diterapkan Amazon S3 untuk menentukan kapan kebijakan titik akses publik biasanya sama dengan titik akses untuk bucket, kecuali dalam situasi berikut:
-
Titik akses yang memiliki asal jaringan VPC selalu dianggap sebagai non-publik, terlepas dari konten kebijakan titik aksesnya.
-
Kebijakan titik akses yang memberikan akses ke serangkaian titik akses dengan menggunakan
s3:DataAccessPointArn
dianggap bersifat publik. Perhatikan bahwa perilaku ini berbeda dengan perilaku untuk kebijakan bucket. Misalnya, kebijakan bucket yang memberikan akses ke nilais3:DataAccessPointArn
yang sesuai denganarn:aws:s3:us-west-2:123456789012:accesspoint/*
tidak dianggap publik. Namun demikian, pernyataan yang sama dalam kebijakan titik akses akan menjadikan titik akses tersebut menjadi publik.
Menggunakan IAM Access Analyzer untuk S3 untuk meninjau bucket publik
Anda dapat menggunakan IAM Access Analyzer for S3 untuk meninjau bucket dengan kebijakan bucket ACLs, bucket, atau access point yang memberikan akses publik. IAM Access Analyzer for S3 memberi tahu Anda tentang bucket yang dikonfigurasi untuk memungkinkan akses ke siapa pun di internet atau lainnya Akun AWS, termasuk Akun AWS di luar organisasi Anda. Untuk setiap bucket publik atau bucket bersama, Anda akan menerima temuan yang melaporkan sumber dan tingkat akses publik atau akses bersama.
Pada Penganalisis Akses untuk S3, Anda dapat memblokir semua akses publik ke bucket dengan sekali klik. Anda juga dapat menelusuri pengaturan izin tingkat bucket untuk mengonfigurasi tingkat akses granular. Untuk kasus penggunaan tertentu dan terverifikasi yang memerlukan akses publik atau akses bersama, Anda dapat menyatakan dan mencatat maksud Anda untuk bucket agar tetap sebagai bucket dengan akses publik atau akses bersama dengan mengarsipkan temuan untuk bucket tersebut.
Dalam kasus yang jarang terjadi, IAM Access Analyzer untuk S3 dan Amazon S3 memblokir evaluasi akses publik mungkin berbeda pada apakah bucket bersifat publik. Perilaku ini terjadi karena Amazon S3 memblokir akses publik melakukan validasi pada keberadaan tindakan selain mengevaluasi akses publik. Misalkan kebijakan bucket berisi Action
pernyataan yang mengizinkan akses publik untuk tindakan yang tidak didukung oleh Amazon S3 (misalnya,s3:NotASupportedAction
). Dalam hal ini, Amazon S3 memblokir akses publik mengevaluasi bucket sebagai publik karena pernyataan seperti itu berpotensi membuat bucket publik jika tindakan tersebut kemudian didukung. Jika Amazon S3 memblokir akses publik dan IAM Access Analyzer untuk S3 berbeda dalam evaluasinya, kami sarankan untuk meninjau kebijakan bucket dan menghapus tindakan yang tidak didukung.
Untuk informasi selengkapnya tentang IAM Access Analyzer untuk Amazon S3, lihat Meninjau akses bucket menggunakan IAM Access Analyzer untuk S3.
Izin
Untuk menggunakan fitur-fitur yang dimiliki Blokir Akses Publik Amazon S3, Anda harus memiliki izin-izin berikut.
Operasi | Izin yang diperlukan |
---|---|
Status kebijakan bucket GET | s3:GetBucketPolicyStatus |
Pengaturan Blokir Akses Publik bucket GET | s3:GetBucketPublicAccessBlock |
Pengaturan Blokir Akses Publik bucket PUT | s3:PutBucketPublicAccessBlock |
Pengaturan Blokir Akses Publik bucket DELETE | s3:PutBucketPublicAccessBlock |
Pengaturan Blokir Akses Publik akun GET | s3:GetAccountPublicAccessBlock |
Pengaturan Blokir Akses Publik akun PUT | s3:PutAccountPublicAccessBlock |
Pengaturan Blokir Akses Publik akun DELETE | s3:PutAccountPublicAccessBlock |
Pengaturan Blokir Akses Publik titik akses PUT | s3:CreateAccessPoint |
catatan
Operasi DELETE memerlukan izin yang sama dengan operasi PUT. Tidak ada izin terpisah untuk operasi DELETE.
Mengonfigurasi blokir akses publik
Untuk informasi selengkapnya tentang mengonfigurasi blokir akses publik untuk bucket Amazon S3, dan titik akses Anda, lihat topik berikut: Akun AWS