View a markdown version of this page

Memberikan izin untuk Batch Operations - Amazon Simple Storage Service

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

Memberikan izin untuk Batch Operations

Sebelum membuat dan menjalankan pekerjaan Operasi Batch S3, Anda harus memberikan izin yang diperlukan. Untuk membuat pekerjaan Operasi Batch Amazon S3, izin pengguna s3:CreateJob diperlukan. Entitas yang sama yang membuat pekerjaan juga harus memiliki iam:PassRole izin untuk meneruskan peran AWS Identity and Access Management (IAM) yang ditentukan untuk pekerjaan tersebut ke Operasi Batch.

Bagian berikut memberikan informasi tentang membuat peran IAM dan melampirkan kebijakan. Untuk informasi umum tentang menentukan sumber daya IAM, lihat elemen kebijakan IAM JSON: Sumber daya dalam Panduan Pengguna IAM.

Membuat peran IAM Operasi Batch S3

Amazon S3 harus memiliki izin untuk menjalankan Operasi Batch S3 atas nama Anda. Anda memberikan izin ini melalui peran AWS Identity and Access Management (IAM). Saat membuat pekerjaan Operasi Batch S3, Anda menentukan peran IAM yang ingin digunakan oleh pekerjaan tersebut. Ini bisa menjadi peran IAM yang ada. Atau, jika Anda menggunakan konsol Amazon S3 untuk membuat pekerjaan, itu bisa menjadi peran IAM yang dibuat Amazon S3 untuk Anda.

Jika Anda memilih untuk mengizinkan Amazon S3 membuat peran IAM untuk Anda, secara otomatis membuat dan melampirkan kebijakan kepercayaan dan izin ke peran tersebut. Kebijakan kepercayaan memungkinkan prinsipal layanan Operasi Batch S3 (batchoperations.s3.amazonaws.com) untuk mengambil peran tersebut. Kebijakan izin memungkinkan semua tindakan yang diperlukan untuk menjalankan pekerjaan, berdasarkan setelan yang Anda tentukan untuk pekerjaan tersebut. Misalnya, jika Anda mengonfigurasi pekerjaan untuk menyalin objek dari satu bucket ke bucket lain di bucket Anda Akun AWS, kebijakan izin memungkinkan tindakan seperti s3:GetObject dans3:PutObject. Anda dapat meninjau kebijakan kepercayaan dan izin untuk peran tersebut sebelum mengirimkan pekerjaan. Opsi ini hanya tersedia jika Anda menggunakan konsol Amazon S3 untuk membuat pekerjaan, dan Anda mengonfigurasi pekerjaan untuk menggunakan daftar objek yang dihasilkan S3 yang menggunakan filter atau didasarkan pada konfigurasi replikasi. Setelah Anda mengirimkan pekerjaan, peran IAM tetap ada di akun Anda. Anda kemudian dapat menggunakannya lagi untuk pekerjaan berikutnya yang melakukan operasi yang sama, atau menghapusnya ketika pekerjaan selesai berjalan.

Jika Anda lebih suka membuat peran IAM secara manual, contoh kebijakan di bagian ini dapat membantu Anda membuat peran. Untuk informasi selengkapnya tentang membuat dan mengonfigurasi peran, lihat peran IAM di Panduan Pengguna IAM. Untuk informasi tentang izin untuk operasi API S3 menurut jenis sumber daya S3, lihat. Izin yang diperlukan untuk operasi API Amazon S3 Untuk contoh tambahan, lihat Mengontrol izin untuk Operasi Batch menggunakan tag pekerjaan danMenyalin objek menggunakan Operasi Batch S3.

Dalam kebijakan IAM, Anda juga dapat menggunakan kunci persyaratan untuk memfilter izin akses yang akan digunakan untuk pekerjaan Operasi Batch S3. Untuk informasi selengkapnya dan daftar lengkap kunci kondisi khusus Amazon S3, lihat Kunci tindakan, sumber daya, dan 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

Video berikut mencakup cara mengatur izin IAM untuk pekerjaan Operasi Batch menggunakan konsol Amazon S3.

Kebijakan kepercayaan

Untuk mengizinkan pengguna utama layanan Operasi Batch S3 agar dapat menjalankan peran IAM, lampirkan kebijakan kepercayaan berikut ke peran tersebut.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"batchoperations.s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

Melampirkan kebijakan izin

Tergantung pada jenis operasinya, Anda dapat melampirkan salah satu kebijakan berikut.

Sebelum Anda mengonfigurasi izin, perhatikan hal berikut ini:

  • Apa pun operasinya, Amazon S3 tetap memerlukan izin untuk membaca objek manifes Anda dari bucket S3 dan menulis laporan ke bucket Anda secara opsional. Oleh karena itu, semua kebijakan berikut mencakup izin ini.

  • Untuk manifes laporan inventaris Amazon S3, Operasi Batch S3 memerlukan izin untuk membaca objek manifest.json dan semua file data CSV terkait.

  • Izin khusus versi seperti s3:GetObjectVersion hanya diperlukan saat Anda menentukan ID versi objek.

  • Jika Anda menjalankan Operasi Batch S3 pada objek terenkripsi, peran IAM juga harus memiliki akses ke AWS KMS kunci yang digunakan untuk mengenkripsi mereka.

  • Jika Anda mengirimkan manifes laporan inventaris yang dienkripsi AWS KMS, kebijakan IAM Anda harus menyertakan izin "kms:Decrypt" dan "kms:GenerateDataKey" untuk objek manifest.json serta semua file data CSV terkait.

  • Jika pekerjaan Operasi Batch menghasilkan manifes dalam bucket yang mengaktifkan daftar kontrol akses (ACLs) dan berada di posisi lain Akun AWS, Anda harus memberikan s3:PutObjectAcl izin dalam kebijakan IAM untuk peran IAM yang dikonfigurasi untuk pekerjaan batch. Jika Anda tidak menyertakan izin ini, pekerjaan batch gagal dengan kesalahanError occurred when preparing manifest: Failed to write manifest.

Salin objek: PutObject

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket", "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Ganti penandaan objek: PutObjectTagging

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Hapus penandaan objek: DeleteObjectTagging

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:DeleteObjectTagging", "s3:DeleteObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Ganti daftar kontrol akses: PutObjectAcl

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObjectAcl", "s3:PutObjectVersionAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Kembalikan objek: RestoreObject

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:RestoreObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Terapkan retensi Object Lock: PutObjectRetention

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Effect": "Allow", "Action": [ "s3:PutObjectRetention", "s3:BypassGovernanceRetention" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }
JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketObjectLockConfiguration", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket" ] }, { "Effect": "Allow", "Action": "s3:PutObjectLegalHold", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Replikasi objek yang ada: InitiateReplication dengan manifes yang dihasilkan S3

Gunakan kebijakan ini jika Anda menggunakan dan menyimpan manifes yang dihasilkan S3. Untuk informasi selengkapnya tentang menggunakan Operasi Batch untuk mereplikasi objek yang ada, lihatMereplikasi objek yang ada dengan Batch Replication.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Action":[ "s3:GetReplicationConfiguration", "s3:PutInventoryConfiguration" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*", "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] } ] }

Replikasi objek yang ada: InitiateReplication dengan manifes pengguna

Gunakan kebijakan ini jika Anda menggunakan manifes yang disediakan pengguna. Untuk informasi selengkapnya tentang menggunakan Operasi Batch untuk mereplikasi objek yang ada, lihatMereplikasi objek yang ada dengan Batch Replication.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*" ] } ] }

Compute checksum: IzinkanGetObject,,GetObjectVersion, dan RestoreObject PutObject

Gunakan kebijakan ini jika Anda mencoba menggunakan operasi checksum Compute dengan Operasi Batch S3. Izin untuk GetObjectGetObjectVersion,, dan RestoreObject diperlukan untuk mendapatkan dan membaca byte data yang disimpan. Ganti placeholder input pengguna dengan informasi Anda sendiri. Untuk informasi selengkapnya tentang Compute checksum, lihat. Memeriksa integritas objek untuk data saat istirahat di Amazon S3

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:RestoreObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket2/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket3/*" ] } ] }

Perbarui enkripsi objek

Anda harus melampirkan kebijakan izin berikut untuk mengizinkan Operasi Batch membaca manifes, memperbarui jenis enkripsi objek Anda, dan menulis laporan penyelesaian. Untuk menggunakan kebijakan izin ini, ganti user input placeholders dengan informasi Anda sendiri. Untuk informasi selengkapnya tentang penggunaan operasi ini dan izin yang harus Anda lampirkan ke peran yang digunakan oleh kepala sekolah IAM Anda, lihat. Perbarui enkripsi objek

{ "Version": "2012-10-17", "Statement": [{ "Sid": "S3BatchOperationsUpdateEncryption", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:UpdateObjectEncryption" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-target" "arn:aws:s3:::amzn-s3-demo-bucket-target/*" ] }, { "Sid": "S3BatchOperationsPolicyForManifestFile", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-manifest/*" ] }, { "Sid": "S3BatchOperationsPolicyForCompletionReport", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-completion-report/*" ] }, { "Sid": "S3BatchOperationsPolicyManifestGeneration", "Effect": "Allow", "Action": [ "s3:PutInventoryConfiguration" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-target" ] } { "Sid": "AllowKMSOperationsForS3BatchOperations", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }