Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cara kerja Amazon S3 dengan IAM
Sebelum Anda menggunakan IAM untuk mengelola akses ke Amazon S3, pelajari fitur IAM apa yang tersedia untuk digunakan dengan Amazon S3.
| Fitur IAM | Dukungan Amazon S3 |
|---|---|
|
Ya |
|
|
Ya |
|
|
Ya |
|
|
Ya |
|
|
Ya |
|
|
Ya |
|
|
Parsial |
|
|
Ya |
|
|
Ya |
|
|
Ya |
|
|
Parsial |
Untuk mendapatkan tampilan tingkat tinggi tentang cara kerja Amazon S3 dan AWS layanan lainnya dengan sebagian besar fitur IAM, lihat AWS layanan yang bekerja dengan IAM di Panduan Pengguna IAM.
Untuk informasi selengkapnya tentang izin untuk operasi API S3 berdasarkan jenis sumber daya S3, lihatIzin yang diperlukan untuk operasi Amazon S3 API.
Identity-based kebijakan untuk Amazon S3
Mendukung kebijakan berbasis identitas: Ya
Identity-based kebijakan adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke identitas, seperti pengguna IAM, grup pengguna, atau peran. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat Tentukan izin IAM kustom dengan kebijakan terkelola pelanggan dalam Panduan Pengguna IAM.
Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan secara spesifik apakah tindakan dan sumber daya diizinkan atau ditolak, serta kondisi yang menjadi dasar dikabulkan atau ditolaknya tindakan tersebut. Untuk mempelajari semua elemen yang dapat Anda gunakan dalam kebijakan JSON, lihat Referensi elemen kebijakan JSON IAM dalam Panduan Pengguna IAM.
Identity-based contoh kebijakan untuk Amazon S3
Untuk melihat contoh kebijakan berbasis identitas Amazon S3, lihat. Identity-based kebijakan untuk Amazon S3
Resource-based kebijakan dalam Amazon S3
Mendukung kebijakan berbasis sumber daya: Ya
Resource-based kebijakan adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah kebijakan kepercayaan peran IAM dan kebijakan bucket Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya tempat kebijakan dilampirkan, kebijakan menentukan tindakan apa yang dapat dilakukan oleh principal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus menentukan principal dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. Layanan AWS
Untuk mengaktifkan akses lintas akun, Anda dapat menentukan secara spesifik seluruh akun atau entitas IAM di akun lain sebagai principal dalam kebijakan berbasis sumber daya. Untuk informasi selengkapnya, lihat Akses sumber daya lintas akun di IAM dalam Panduan Pengguna IAM.
Layanan Amazon S3 mendukung kebijakan bucket, kebijakan titik akses, dan hibah akses:
-
Kebijakan bucket adalah kebijakan berbasis sumber daya yang dilampirkan ke bucket Amazon S3. Kebijakan bucket mendefinisikan prinsipal mana yang dapat melakukan tindakan pada bucket.
-
Kebijakan titik akses adalah kebijakan berbasis sumber daya yang dievaluasi bersama dengan kebijakan bucket yang mendasarinya.
-
Hibah akses adalah model yang disederhanakan untuk menentukan izin akses ke data di Amazon S3 berdasarkan awalan, bucket, atau objek. Untuk informasi tentang S3 Access Grants, lihatMengelola akses dengan S3 Access Grants.
Prinsip untuk kebijakan bucket
PrincipalElemen menentukan pengguna, akun, layanan, atau entitas lain yang diizinkan atau ditolak akses ke sumber daya. Berikut ini adalah contoh-contoh menentukan Principal. Untuk informasi selengkapnya, lihat Pengguna Utama dalam Panduan Pengguna IAM.
Berikan izin ke Akun AWS
Untuk memberikan izin ke Akun AWS, identifikasi akun menggunakan format berikut.
"AWS":"account-ARN"
Berikut ini adalah beberapa contohnya.
"Principal":{"AWS":"arn:aws:iam::AccountIDWithoutHyphens:root"}
"Principal":{"AWS":["arn:aws:iam::AccountID1WithoutHyphens:root","arn:aws:iam::AccountID2WithoutHyphens:root"]}
catatan
Contoh di atas memberikan izin kepada pengguna root, yang mendelegasikan izin ke tingkat akun. Namun, kebijakan IAM masih diperlukan pada peran dan pengguna tertentu di akun.
Berikan Izin kepada Pengguna IAM
Untuk memberikan izin kepada pengguna IAM dalam akun Anda, Anda harus memberikan pasangan nama-nilai "AWS":".user-ARN"
"Principal":{"AWS":"arn:aws:iam::account-number-without-hyphens:user/username"}
Untuk contoh detail yang memberikan instruksi langkah demi langkah, lihat Contoh 1: Pemilik bucket yang memberikan izin bucket kepada penggunanya dan Contoh 3: Pemilik bucket yang memberikan izin kepada penggunanya ke objek yang bukan miliknya.
catatan
Jika identitas IAM dihapus setelah Anda memperbarui kebijakan bucket, kebijakan bucket akan menampilkan pengenal unik di elemen utama, bukan ARN. ID unik ini tidak pernah digunakan kembali, sehingga Anda dapat menghapus pengguna utama dengan aman dengan pengenal unik dari semua pernyataan kebijakan Anda. Untuk informasi selengkapnya tentang pengidentifikasi unik, lihat pengidentifikasi IAM di Panduan Pengguna IAM.
Memberikan izin anonim
Awas
Berhati-hatilah saat memberikan akses anonim ke bucket Amazon S3. Saat Anda memberikan akses anonim, siapa pun di dunia dapat mengakses bucket Anda. Kami sangat menyarankan agar Anda tidak pernah memberikan akses menulis anonim apa pun ke bucket S3 Anda.
Untuk memberikan izin kepada semua orang, juga disebut sebagai akses anonim, Anda atur wildcard ("*") sebagai nilai Principal. Misalnya, jika Anda mengonfigurasi bucket sebagai situs web, maka Anda ingin semua objek yang ada dalam bucket dapat diakses publik.
"Principal":"*"
"Principal":{"AWS":"*"}
Menggunakan "Principal": "*" dengan Allow efek dalam kebijakan berbasis sumber daya memungkinkan siapa pun, meskipun mereka tidak masuk AWS, untuk mengakses sumber daya Anda.
Menggunakan "Principal" : { "AWS" : "*" } dengan efek Allow dalam kebijakan berbasis sumber daya memungkinkan setiap pengguna root, pengguna IAM, sesi peran yang dianggap, atau pengguna gabungan di akun apa pun di dalam partisi yang sama untuk mengakses sumber daya Anda.
Untuk pengguna anonim, kedua metode ini setara. Untuk informasi selengkapnya, lihat Semua pengguna utama di Panduan Pengguna IAM.
Anda tidak dapat menggunakan wildcard untuk mencocokkan sebagian nama pengguna utama atau ARN.
penting
Dalam kebijakan kontrol AWS akses, Prinsipal “*” dan {”AWS“: “*"} berperilaku identik.
Batasi izin sumber daya
Anda juga dapat menggunakan kebijakan sumber daya untuk membatasi akses ke sumber daya yang seharusnya tersedia untuk pengguna utama IAM. Gunakan Deny pernyataan untuk mencegah akses.
Contoh berikut memblokir akses jika protokol transport aman tidak digunakan:
Menggunakan "Principal": "*" sehingga pembatasan ini berlaku untuk semua orang adalah praktik terbaik untuk kebijakan ini, daripada mencoba menolak akses hanya ke akun atau pengguna utama tertentu yang menggunakan metode ini.
Memerlukan akses melalui CloudFront URL
Anda dapat mengharuskan pengguna mengakses konten Amazon S3 Anda hanya dengan menggunakan CloudFront URL, bukan URL Amazon S3. Untuk melakukan ini, buat kontrol akses CloudFront asal (OAC). Kemudian, ubah izin pada data S3 Anda. Dalam kebijakan bucket Anda, Anda dapat menetapkan CloudFront sebagai Principal sebagai berikut:
"Principal":{"Service":"cloudfront.amazonaws.com"}
Gunakan Condition elemen dalam kebijakan CloudFront untuk mengizinkan akses bucket hanya jika permintaan tersebut atas nama CloudFront distribusi yang berisi asal S3.
"Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront-distribution-ID" } }
Untuk informasi selengkapnya tentang mewajibkan akses S3 melalui CloudFront URL, lihat Membatasi akses ke sumber Amazon Simple Storage Service di Panduan CloudFront Pengembang Amazon. Untuk informasi selengkapnya tentang manfaat keamanan dan privasi menggunakan Amazon CloudFront, lihat Mengon figurasi akses aman dan membatasi akses ke konten.
Resource-based contoh kebijakan untuk Amazon S3
Untuk melihat contoh kebijakan untuk bucket Amazon S3, lihatKebijakan bucket untuk Amazon S3.
Untuk melihat contoh kebijakan untuk titik akses, lihatMengonfigurasi kebijakan IAM untuk menggunakan titik akses.
Tindakan kebijakan untuk Amazon S3
Mendukung tindakan kebijakan: Ya
Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana utama dapat melakukan tindakan pada sumber daya, dan dalam kondisi apa.
Elemen Action dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.
Berikut ini menunjukkan berbagai jenis hubungan pemetaan antara operasi API S3 dan tindakan kebijakan yang diperlukan.
One-to-one pemetaan dengan nama yang sama. Misalnya, untuk menggunakan operasi
PutBucketPolicyAPI, tindakans3:PutBucketPolicykebijakan diperlukan.One-to-one pemetaan dengan nama yang berbeda. Misalnya, untuk menggunakan operasi
ListObjectsV2API, tindakans3:ListBucketkebijakan diperlukan.One-to-many pemetaan. Misalnya, untuk menggunakan operasi
HeadObjectAPI,s3:GetObjectdiperlukan. Selain itu, bila Anda menggunakan S3 Object Lock dan ingin mendapatkan status Legal Hold atau setelan retensi objek, tindakan terkaits3:GetObjectLegalHoldataus3:GetObjectRetentionkebijakan juga diperlukan sebelum Anda dapat menggunakan operasiHeadObjectAPI.Many-to-one pemetaan. Misalnya, untuk menggunakan operasi
HeadBucketAPIListObjectsV2or, tindakans3:ListBucketkebijakan diperlukan.
Untuk melihat daftar tindakan Amazon S3 untuk digunakan dalam kebijakan, lihat Tindakan yang ditentukan oleh Amazon S3 di Referensi O torisasi Layanan. Untuk daftar lengkap operasi API Amazon S3, lihat Tindakan API Amazon S3 di Referensi API Layanan Penyimpanan Sederhana Amazon.
Untuk informasi selengkapnya tentang izin untuk operasi API S3 berdasarkan jenis sumber daya S3, lihatIzin yang diperlukan untuk operasi Amazon S3 API.
Tindakan kebijakan di Amazon S3 menggunakan awalan berikut sebelum tindakan:
s3
Untuk menetapkan secara spesifik beberapa tindakan dalam satu pernyataan, pisahkan tindakan tersebut dengan koma.
"Action": [ "s3:action1", "s3:action2" ]
Operasi bucket
Operasi bucket adalah operasi API S3 yang beroperasi pada tipe sumber daya bucket. Misalnya,CreateBucket,ListObjectsV2, danPutBucketPolicy. Tindakan kebijakan S3 untuk operasi bucket memerlukan Resource elemen dalam kebijakan bucket atau kebijakan berbasis identitas IAM menjadi pengidentifikasi Amazon Resource Name (ARN) tipe bucket S3 dalam format contoh berikut.
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
Kebijakan bucket berikut memberi pengguna dengan akun Akua12345678901s3:ListBucket izin untuk melakukan operasi ListObjectsV2 API dan daftar objek dalam bucket S3.
Operasi bucket dalam kebijakan untuk titik akses untuk bucket tujuan umum
Izin yang diberikan dalam titik akses untuk kebijakan bucket tujuan umum hanya berlaku jika bucket yang mendasarinya mengizinkan izin yang sama. Saat menggunakan S3 Access Points, Anda harus mendelegasikan kontrol akses dari bucket ke titik akses atau menambahkan izin yang sama dalam kebijakan titik akses ke kebijakan bucket yang mendasarinya. Untuk informasi selengkapnya, lihat Mengonfigurasi kebijakan IAM untuk menggunakan titik akses. Dalam kebijakan titik akses, tindakan kebijakan S3 untuk operasi bucket mengharuskan Anda menggunakan titik akses ARN untuk Resource elemen dalam format berikut.
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point"
Kebijakan titik akses berikut memberi pengguna dengan akun Akua12345678901s3:ListBucket izin untuk melakukan operasi ListObjectsV2 API melalui titik akses S3 bernama. Izin ini memungkinkan example-access-point untuk membuat daftar objek dalam bucket yang terkait denganAkua. example-access-point
catatan
Tidak semua operasi bucket didukung oleh titik akses untuk bucket tujuan umum. Untuk informasi selengkapnya, lihat Kompatibilitas titik akses dengan operasi S3.
Operasi bucket dalam kebijakan untuk titik akses untuk bucket direktori
Izin yang diberikan dalam titik akses untuk kebijakan bucket direktori hanya efektif jika bucket yang mendasarinya mengizinkan izin yang sama. Saat menggunakan S3 Access Points, Anda harus mendelegasikan kontrol akses dari bucket ke titik akses atau menambahkan izin yang sama dalam kebijakan titik akses ke kebijakan bucket yang mendasarinya. Untuk informasi selengkapnya, lihat Mengkonfigurasi kebijakan IAM untuk menggunakan titik akses untuk bucket direktori. Dalam kebijakan titik akses, tindakan kebijakan S3 untuk operasi bucket mengharuskan Anda menggunakan titik akses ARN untuk Resource elemen dalam format berikut.
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3"
Kebijakan titik akses berikut memberi pengguna dengan akun Akua12345678901s3:ListBucket izin untuk melakukan operasi ListObjectsV2 API melalui titik akses bernama. Izin ini memungkinkan example-access-point--usw2-az1--xa-s3 untuk membuat daftar objek dalam bucket yang terkait denganAkua. example-access-point--usw2-az1--xa-s3
catatan
Tidak semua operasi bucket didukung oleh titik akses untuk bucket direktori. Untuk informasi selengkapnya, lihat Operasi objek untuk titik akses untuk bucket direktori.
Operasi objek
Operasi objek adalah operasi S3 API yang bertindak berdasarkan tipe resource objek. Misalnya,GetObject,PutObject, danDeleteObject. Tindakan kebijakan S3 untuk operasi objek memerlukan Resource elemen dalam kebijakan untuk menjadi objek S3 ARN dalam format contoh berikut.
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*"
catatan
Objek ARN harus berisi garis miring ke depan setelah nama bucket, seperti yang terlihat pada contoh sebelumnya.
Kebijakan bucket berikut memberikan s3:PutObject izin kepada pengguna Akua dengan akun. Izin ini memungkinkan 12345678901 untuk menggunakan operasi PutObject API untuk mengunggah objek ke bucket S3 bernamaAkua.amzn-s3-demo-bucket
Operasi objek dalam kebijakan titik akses
Saat Anda menggunakan S3 Access Points untuk mengontrol akses ke operasi objek, Anda dapat menggunakan kebijakan titik akses. Saat Anda menggunakan kebijakan titik akses, tindakan kebijakan S3 untuk operasi objek mengharuskan Anda menggunakan titik akses ARN untuk Resource elemen dalam format berikut:arn:aws:s3:. Untuk operasi objek yang menggunakan titik akses, Anda harus menyertakan region:account-id:accesspoint/access-point-name/object/resource/object/ nilai setelah seluruh titik akses ARN dalam Resource elemen. Berikut ini adalah beberapa contoh.
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point/object/*"
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point/object/prefix/*"
Kebijakan titik akses berikut memberikan s3:GetObject izin kepada pengguna Akua dengan akun. Izin ini memungkinkan 12345678901 untuk melakukan operasi GetObject API melalui titik akses yang Akua diberi nama pada semua objek dalam bucket yang terkait dengan titik akses. example-access-point
catatan
Tidak semua operasi objek didukung oleh titik akses. Untuk informasi selengkapnya, lihat Kompatibilitas titik akses dengan operasi S3.
Operasi objek dalam kebijakan untuk titik akses untuk bucket direktori
Bila Anda menggunakan titik akses untuk bucket direktori untuk mengontrol akses ke operasi objek, Anda dapat menggunakan kebijakan titik akses. Saat Anda menggunakan kebijakan titik akses, tindakan kebijakan S3 untuk operasi objek mengharuskan Anda menggunakan titik akses ARN untuk Resource elemen dalam format berikut:arn:aws:s3:. Untuk operasi objek yang menggunakan titik akses, Anda harus menyertakan region:account-id:accesspoint/access-point-name/object/resource/object/ nilai setelah seluruh titik akses ARN dalam Resource elemen. Berikut ini adalah beberapa contoh.
"Resource": "arn:aws:s3express:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3/object/*"
"Resource": "arn:aws:s3express:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3/object/prefix/*"
Kebijakan titik akses berikut memberikan s3:GetObject izin kepada pengguna Akua dengan akun. Izin ini memungkinkan 12345678901 untuk melakukan operasi GetObject API melalui titik akses yang Akua diberi nama pada semua objek dalam bucket yang terkait dengan titik akses. example-access-point--usw2-az1--xa-s3
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAkuato get objects through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": "s3express:CreateSession","s3:GetObject" "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3/object/*" } ] }
catatan
Tidak semua operasi objek didukung oleh titik akses untuk bucket direktori. Untuk informasi selengkapnya, lihat Operasi objek untuk titik akses untuk bucket direktori.
Titik akses untuk operasi bucket tujuan umum
Operasi titik akses adalah operasi API S3 yang beroperasi pada jenis accesspoint sumber daya. Misalnya,CreateAccessPoint,DeleteAccessPoint, danGetAccessPointPolicy. Tindakan kebijakan S3 untuk operasi titik akses hanya dapat digunakan dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket atau kebijakan titik akses. Operasi titik akses memerlukan Resource elemen untuk menjadi titik akses ARN dalam format contoh berikut.
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point"
Kebijakan berbasis identitas IAM berikut memberikan s3:GetAccessPointPolicy izin untuk melakukan operasi GetAccessPointPolicy API pada titik akses S3 bernama. example-access-point
Saat Anda menggunakan Poin Akses, untuk mengontrol akses ke operasi bucket, lihatOperasi bucket dalam kebijakan untuk titik akses untuk bucket tujuan umum; untuk mengontrol akses ke operasi objek, lihatOperasi objek dalam kebijakan titik akses. Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan titik akses, lihatMengonfigurasi kebijakan IAM untuk menggunakan titik akses.
Titik akses untuk operasi bucket direktori
Titik akses untuk operasi bucket direktori adalah operasi API S3 yang beroperasi pada jenis accesspoint sumber daya. Misalnya,CreateAccessPoint,DeleteAccessPoint, danGetAccessPointPolicy. Tindakan kebijakan S3 untuk operasi titik akses hanya dapat digunakan dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket atau kebijakan titik akses. Titik akses untuk operasi bucket direktori memerlukan Resource elemen untuk menjadi titik akses ARN dalam format contoh berikut.
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point--usw2-az1--xa-s3"
Kebijakan berbasis identitas IAM berikut memberikan s3express:GetAccessPointPolicy izin untuk melakukan operasi GetAccessPointPolicy API pada titik akses bernama. example-access-point--usw2-az1--xa-s3
Kebijakan berbasis identitas IAM berikut memberikan s3express:CreateAccessPoint izin untuk membuat titik akses untuk bucket direktori.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Grant CreateAccessPoint.", "Principal": "*", "Action": "s3express:CreateSession", "s3express:CreateAccessPoint""Effect": "Allow", "Resource": "*" } ] }
Kebijakan berbasis identitas IAM berikut memberikan s3express:PutAccessPointScope izin untuk membuat cakupan titik akses untuk titik akses untuk bucket direktori.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Grant PutAccessPointScope", "Principal": "*", "Action": "s3express:CreateSession", "s3express:CreateAccessPoint", "S3Express:PutAccessPointScope""Effect": "Allow", "Resource": "*", } ] }
Bila Anda menggunakan titik akses untuk bucket direktori untuk mengontrol akses ke operasi bucket, lihatOperasi bucket dalam kebijakan untuk titik akses untuk bucket direktori; untuk mengontrol akses ke operasi objek, lihatOperasi objek dalam kebijakan untuk titik akses untuk bucket direktori. Untuk informasi selengkapnya tentang cara mengonfigurasi titik akses untuk kebijakan bucket direktori, lihatMengkonfigurasi kebijakan IAM untuk menggunakan titik akses untuk bucket direktori.
Operasi Titik Akses Lambda Objek
Dengan Lambda Objek Amazon S3, Anda dapat menambahkan kode Anda sendiri ke GET, LIST, dan HEAD Amazon S3 dan meminta untuk mengubah dan memproses data saat dikembalikan ke aplikasi. Anda dapat membuat permintaan melalui Object Lambda Access Point, yang berfungsi sama seperti membuat permintaan melalui titik akses lainnya. Untuk informasi selengkapnya, lihat Mengubah objek dengan S3 Lambda Objek.
Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan untuk operasi Object Lambda Access Point, lihatMengonfigurasi kebijakan IAM untuk Titik Akses Lambda Objek.
Multi-Region Operasi Titik Akses
Multi-Region Access Point menyediakan titik akhir global yang dapat digunakan aplikasi untuk memenuhi permintaan dari bucket S3 yang terletak di beberapa bucket Wilayah AWS. Anda dapat menggunakan Multi-Region Access Point untuk membangun aplikasi Multi-wilayah dengan arsitektur yang sama yang digunakan di satu Wilayah, dan kemudian menjalankan aplikasi tersebut di mana saja di dunia. Untuk informasi selengkapnya, lihat Mengelola lalu lintas Multi-region dengan Multi-Region Access Points.
Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan untuk operasi Multi-Region Access Point, lihatMulti-Region Contoh kebijakan Access Point.
Operasi pekerjaan batch
Operasi pekerjaan (Operasi Batch) adalah operasi API S3 yang beroperasi pada jenis sumber daya pekerjaan. Misalnya, DescribeJob dan CreateJob. Tindakan kebijakan S3 untuk operasi pekerjaan hanya dapat digunakan dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket. Selain itu, operasi pekerjaan memerlukan Resource elemen dalam kebijakan berbasis identitas IAM menjadi job ARN dalam format contoh berikut.
"Resource": "arn:aws:s3:*:123456789012:job/*"
Kebijakan berbasis identitas IAM berikut memberikan s3:DescribeJob izin untuk melakukan operasi DescribeJob API pada tugas Operasi Batch S3 bernama. example-job
Operasi konfigurasi S3 Storage Lens
Untuk informasi selengkapnya tentang cara mengonfigurasi operasi konfigurasi S3 Storage Lens, lihatMenyetel izin Amazon S3 Storage Lens.
Operasi akun
Operasi akun adalah operasi API S3 yang beroperasi pada tingkat akun. Misalnya, GetPublicAccessBlock (untuk akun). Akun bukan jenis sumber daya yang ditentukan oleh Amazon S3. Tindakan kebijakan S3 untuk operasi akun hanya dapat digunakan dalam kebijakan berbasis identitas IAM, bukan dalam kebijakan bucket. Selain itu, operasi akun memerlukan Resource elemen dalam kebijakan berbasis identitas IAM. "*"
Kebijakan berbasis identitas IAM berikut memberikan s3:GetAccountPublicAccessBlock izin untuk melakukan operasi GetPublicAccessBlock API tingkat akun dan mengambil setelan Blok Akses Publik tingkat akun.
Contoh kebijakan untuk Amazon S3
-
Untuk melihat contoh kebijakan berbasis identitas Amazon S3, lihat. Identity-based kebijakan untuk Amazon S3
-
Untuk melihat contoh kebijakan berbasis sumber daya Amazon S3, lihat Kebijakan bucket untuk Amazon S3 dan. Mengonfigurasi kebijakan IAM untuk menggunakan titik akses
Sumber daya kebijakan untuk Amazon S3
Mendukung sumber daya kebijakan: Ya
Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana utama dapat melakukan tindakan pada sumber daya, dan dalam kondisi apa.
Elemen kebijakan JSON Resource menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan Amazon Resource Name (ARN). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (*) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.
"Resource": "*"
Beberapa tindakan Amazon S3 API mendukung beberapa sumber daya. Misalnya, s3:GetObject mengakses danexample-resource-1, jadi kepala sekolah harus memiliki izin untuk mengakses kedua sumber daya. Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARN dengan koma, seperti yang ditunjukkan pada contoh berikut. example-resource-2
"Resource": [ "example-resource-1", "example-resource-2"
Sumber daya di Amazon S3 adalah bucket, objek, titik akses, atau pekerjaan. Dalam kebijakan, gunakan Nama Sumber Daya Amazon (ARN) dari bucket, objek, titik akses, atau pekerjaan untuk mengidentifikasi sumber daya.
Untuk melihat daftar lengkap jenis sumber daya Amazon S3 dan ARN-nya, lihat Sumber Daya yang ditentukan oleh Amazon S3 di Refer ensi Otorisasi Layanan. Untuk mempelajari tindakan mana Anda dapat menentukan ARN dari setiap sumber daya, lihat Tind akan yang ditentukan oleh Amazon S3.
Untuk informasi selengkapnya tentang izin untuk operasi API S3 berdasarkan jenis sumber daya S3, lihatIzin yang diperlukan untuk operasi Amazon S3 API.
Karakter wildcard dalam ARN sumber daya
Anda dapat menggunakan karakter wildcard sebagai bagian dari sumber daya ARN. Anda dapat menggunakan karakter wildcard (*dan?) dalam segmen ARN apa pun (bagian yang dipisahkan oleh titik dua). Tanda bintang (*) menunjukkan kombinasi apa pun dari nol karakter atau lebih, dan tanda tanya (?) menunjukkan karakter tunggal. Anda dapat menggunakan beberapa * atau ? karakter di setiap segmen. Namun, karakter wildcard tidak dapat menjangkau segmen.
-
ARN berikut menggunakan karakter
*wildcard direlative-IDbagian ARN untuk mengidentifikasi semua objek dalambucket.amzn-s3-demo-bucketarn:aws:s3:::amzn-s3-demo-bucket/* -
ARN berikut digunakan
*untuk menunjukkan semua bucket dan objek S3.arn:aws:s3:::* -
ARN berikut menggunakan kedua karakter wildcard,
*dan?, direlative-IDbagian tersebut. ARN ini mengidentifikasi semua objek dalam bucket seperti,,amzn-s3-demo-example1bucketamzn-s3-demo-example2bucket, dan seterusnya.amzn-s3-demo-example3bucketarn:aws:s3:::amzn-s3-demo-example?bucket/*
Variabel kebijakan untuk ARN sumber daya
Anda dapat menggunakan variabel kebijakan di ARN Amazon S3. Pada waktu evaluasi kebijakan, variabel yang telah ditentukan ini diganti dengan nilai yang sesuai. Misalkan Anda mengatur bucket Anda sebagai kumpulan folder, dengan satu folder untuk setiap pengguna Anda. Nama folder sama dengan nama pengguna. Untuk memberikan pengguna izin ke folder mereka, Anda dapat menentukan variabel kebijakan di ARN sumber daya:
arn:aws:s3:::bucket_name/developers/${aws:username}/
Saat runtime, ketika kebijakan dievaluasi, variabel ${aws:username} dalam sumber daya ARN diganti dengan nama pengguna orang yang membuat permintaan.
Contoh kebijakan untuk Amazon S3
-
Untuk melihat contoh kebijakan berbasis identitas Amazon S3, lihat. Identity-based kebijakan untuk Amazon S3
-
Untuk melihat contoh kebijakan berbasis sumber daya Amazon S3, lihat Kebijakan bucket untuk Amazon S3 dan. Mengonfigurasi kebijakan IAM untuk menggunakan titik akses
Kunci kondisi kebijakan untuk Amazon S3
Mendukung kunci kondisi kebijakan khusus layanan: Yes
Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, principal dapat melakukan tindakan pada suatu sumber daya, dan dalam suatu syarat.
Elemen Condition menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan operator kondisi, misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat kunci konteks kondisi AWS global di Panduan Pengguna IAM.
Setiap kunci kondisi Amazon S3 dipetakan ke header permintaan nama yang sama yang diizinkan oleh API tempat kondisi dapat disetel. Kunci kondisi spesifik Amazon S3 menentukan perilaku header permintaan nama yang sama. Misalnya, kunci kondisi yang s3:VersionId digunakan untuk memberikan izin bersyarat untuk s3:GetObjectVersion izin mendefinisikan perilaku parameter versionId kueri yang Anda tetapkan dalam permintaan Objek GET.
Untuk melihat daftar kunci kondisi Amazon S3, lihat Kunci kondisi untuk Amazon S3 di Referensi O torisasi Layanan. Untuk mempelajari tindakan dan sumber daya mana yang dapat Anda gunakan kunci kondisi, lihat Tind akan yang ditentukan oleh Amazon S3.
Contoh: Membatasi upload objek ke objek dengan kelas penyimpanan tertentu
Misalkan Akun A, diwakili oleh ID akun, memiliki bucket. Administrator Akun A ingin membatasi123456789012, pengguna di Akun A, sehingga Dave dapat mengunggah objek ke bucket hanya jika objek disimpan di kelas DaveSTANDARD_IA penyimpanan. Untuk membatasi upload objek ke kelas penyimpanan tertentu, administrator Akun A dapat menggunakan kunci s3:x-amz-storage-class kondisi, seperti yang ditunjukkan dalam contoh kebijakan bucket berikut.
Dalam contoh ini, blok Condition menentukan syarat StringEquals yang diterapkan untuk pasangan nilai kunci tertentu, "s3:x-amz-storage-class":["STANDARD_IA"]. Ada satu pengaturan kunci yang telah ditetapkan yang dapat Anda gunakan dalam mengekspresikan syarat. Contoh tersebut menggunakan kunci kondisi s3:x-amz-storage-class. Kondisi ini mengharuskan pengguna untuk menyertakan x-amz-storage-class header dengan nilai STANDARD_IA dalam setiap PutObject permintaan.
Contoh kebijakan untuk Amazon S3
-
Untuk melihat contoh kebijakan berbasis identitas Amazon S3, lihat. Identity-based kebijakan untuk Amazon S3
-
Untuk melihat contoh kebijakan berbasis sumber daya Amazon S3, lihat Kebijakan bucket untuk Amazon S3 dan. Mengonfigurasi kebijakan IAM untuk menggunakan titik akses
ACL di Amazon S3
Mendukung ACL: Ya
Di Amazon S3, kontrol daftar kontrol akses (ACL) yang Akun AWS memiliki izin untuk mengakses sumber daya. ACL serupa dengan kebijakan berbasis sumber daya, meskipun kebijakan tersebut tidak menggunakan format dokumen kebijakan JSON.
penting
Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan ACL.
Untuk informasi tentang menggunakan ACL untuk mengontrol akses di Amazon S3, lihatMengelola Akses dengan ACL.
ABAC dengan Amazon S3
Mendukung ABAC (tag dalam kebijakan): Sebagian
Attribute-based kontrol akses (ABAC) adalah strategi otorisasi yang mendefinisikan izin berdasarkan atribut yang disebut tag. Anda dapat melampirkan tag ke entitas dan AWS sumber daya IAM, lalu merancang kebijakan ABAC untuk mengizinkan operasi ketika tag kepala sekolah cocok dengan tag pada sumber daya.
Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di elemen kondisi dari kebijakan menggunakan kunci kondisi aws:ResourceTag/, key-nameaws:RequestTag/, atau key-nameaws:TagKeys.
Jika sebuah layanan mendukung ketiga kunci kondisi untuk setiap jenis sumber daya, nilainya adalah Ya untuk layanan tersebut. Jika suatu layanan mendukung ketiga kunci kondisi untuk hanya beberapa jenis sumber daya, nilainya adalah Parsial.
Untuk informasi selengkapnya tentang ABAC, lihat Tentukan izin dengan otorisasi ABAC dalam Panduan Pengguna IAM. Untuk melihat tutorial yang menguraikan langkah-langkah pengaturan ABAC, lihat Menggunakan kontrol akses berbasis atribut (ABAC) dalam Panduan Pengguna IAM.
Untuk informasi tentang sumber daya yang mendukung ABAC di Amazon S3, lihat Menggunakan tag untuk kontrol akses berbasis atribut (ABAC).
Untuk melihat contoh kebijakan berbasis identitas untuk membatasi akses ke pekerjaan Operasi Batch S3 berdasarkan tag, lihat. Mengontrol izin untuk Operasi Batch menggunakan tag pekerjaan
ABAC dan tag objek
Dalam kebijakan ABAC, objek menggunakan s3: tag alih-alih aws: tag. Untuk mengontrol akses ke objek berdasarkan tag objek, Anda memberikan informasi tag dalam Condition elemen kebijakan menggunakan tag berikut:
-
s3:ExistingObjectTag/tag-key -
s3:RequestObjectTagKeys -
s3:RequestObjectTag/tag-key
Untuk informasi tentang menggunakan tag objek untuk mengontrol akses, termasuk contoh kebijakan izin, lihatKebijakan pemberian tag dan kontrol akses.
Menggunakan kredenSIAL sementara dengan Amazon S3
Mendukung kredensial sementara: Ya
KredenSIAL sementara menyediakan akses jangka pendek ke AWS sumber daya dan dibuat secara otomatis saat Anda menggunakan federasi atau beralih peran. AWS merekomendasikan agar Anda secara dinamis membuat kredenSIAL sementara alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat Kredensial keamanan sementara di IAM dan Layanan AWS yang berfungsi dengan IAM dalam Panduan Pengguna IAM.
Teruskan sesi akses untuk Amazon S3
Mendukung sesi akses terusan (FAS): Ya
Sesi akses maju (FAS) menggunakan izin dari kepala sekolah yang memanggil Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Untuk detail kebijakan ketika mengajukan permintaan FAS, lihat Sesi akses terusan.
FAS digunakan oleh Amazon S3 untuk melakukan panggilan AWS KMS untuk mendekripsi objek SSE-KMS ketika digunakan untuk mengenkripsinya. Untuk informasi selengkapnya, lihat Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS).
S3 Access Grants juga menggunakan FAS. Setelah Anda membuat hibah akses ke data S3 untuk identitas tertentu, penerima hibah meminta kredensi sementara dari S3 Access Grants. S3 Access Grants memperoleh kredensi sementara untuk pemohon dari AWS STS dan menjual kredensialnya kepada pemohon. Untuk informasi selengkapnya, lihat Minta akses ke data Amazon S3 melalui S3 Access Grants.
Peran layanan untuk Amazon S3
Mendukung peran layanan: Ya
Peran layanan adalah peran IAM yang diambil oleh sebuah layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat Buat sebuah peran untuk mendelegasikan izin ke Layanan AWS dalam Panduan pengguna IAM.
Awas
Mengubah izin untuk peran layanan dapat merusak fungsionalitas Amazon S3. Edit peran layanan hanya jika Amazon S3 memberikan panduan untuk melakukannya.
Service-linked peran untuk Amazon S3
Mendukung peran terkait layanan: Sebagian
Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. Layanan AWS Layanan dapat mengambil peran untuk melakukan tindakan atas nama Anda. Service-linked peran muncul di Anda Akun AWS dan dimiliki oleh layanan. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan.
Amazon S3 mendukung peran terkait layanan untuk Amazon S3 Storage Lens. Untuk detail tentang membuat atau mengelola peran terkait layanan Amazon S3, lihat. Menggunakan Peran Terkait Layanan untuk Lensa Penyimpanan Amazon S3
Layanan Amazon S3 sebagai Prinsipal
| Nama layanan dalam kebijakan | Fitur S3 | Informasi selengkapnya |
|---|---|---|
|
|
Replikasi S3 |
|
|
|
Pemberitahuan acara S3 |
|
|
|
Inventaris S3 |
Membuat katalog dan menganalisis data Anda dengan S3 Inventory |
|
|
Pemberian Akses S3 |
|
|
|
Operasi Batch S3 |
|
|
|
Pencatatan Akses Server S3 |
|
|
|
Lensa Penyimpanan S3 |
Melihat metrik Lensa Penyimpanan Amazon S3 menggunakan ekspor data |