Menyiapkan izin untuk replikasi langsung - Amazon Simple Storage Service

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

Menyiapkan izin untuk replikasi langsung

Saat menyiapkan replikasi langsung di Amazon S3, Anda harus memperoleh izin yang diperlukan sebagai berikut:

  • Amazon S3 membutuhkan izin untuk mereplikasi objek atas nama Anda. Anda memberikan izin ini dengan membuat peran AWS Identity and Access Management (IAM) dan kemudian menentukan peran tersebut dalam konfigurasi replikasi Anda.

  • Jika bucket sumber dan tujuan tidak dimiliki oleh akun yang sama, pemilik bucket tujuan juga harus memberikan izin pemilik bucket sumber untuk menyimpan replika.

Membuat peran IAM

Secara default, semua sumber daya Amazon S3—bucket, objek, dan subsumber terkait—bersifat privat dan hanya pemilik sumber daya yang bisa mengakses sumber daya. Amazon S3 membutuhkan izin untuk membaca dan mereplikasi objek dari bucket sumber. Anda memberikan izin ini dengan membuat peran IAM dan menentukan peran tersebut dalam konfigurasi replikasi Anda.

Bagian ini menjelaskan kebijakan kepercayaan dan kebijakan izin minimum yang diperlukan yang dilampirkan pada peran IAM ini. Contoh panduan memberikan step-by-step instruksi untuk membuat peran IAM. Untuk informasi selengkapnya, lihat Contoh untuk mengonfigurasi replikasi langsung.

Kebijakan kepercayaan mengidentifikasi identitas utama mana yang dapat mengambil peran IAM. Kebijakan izin menentukan tindakan yang dapat dilakukan peran IAM, sumber daya mana, dan dalam kondisi apa.

  • Contoh berikut menunjukkan kebijakan kepercayaan tempat Anda mengidentifikasi Amazon S3 sebagai Layanan AWS prinsipal yang dapat mengambil peran:

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
  • Contoh berikut menunjukkan kebijakan kepercayaan tempat Anda mengidentifikasi Operasi Batch Amazon S3 dan S3 sebagai prinsip layanan yang dapat mengambil peran tersebut. Gunakan pendekatan ini jika Anda membuat pekerjaan Replikasi Batch. Untuk informasi selengkapnya, lihat Buat pekerjaan Replikasi Batch untuk aturan atau tujuan replikasi baru.

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

    Untuk informasi selengkapnya tentang peran IAM, lihat Peran IAM dalam Panduan Pengguna IAM.

  • Contoh berikut menunjukkan kebijakan izin, tempat Anda memberikan izin peran IAM untuk melakukan tugas replikasi atas nama Anda. Saat Amazon S3 memegang peran tersebut, Amazon S3 memiliki izin yang Anda tentukan dalam kebijakan ini. Dalam kebijakan ini, amzn-s3-demo-source-bucket adalah bucket sumber, dan amzn-s3-demo-destination-bucket merupakan bucket tujuan.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] }

    Kebijakan izin memberikan izin untuk tindakan berikut:

    • s3:GetReplicationConfigurationdan s3:ListBucket — Izin untuk tindakan ini di amzn-s3-demo-source-bucket bucket memungkinkan Amazon S3 untuk mengambil konfigurasi replikasi dan mencantumkan konten bucket. (Model izin saat ini memerlukan izin s3:ListBucket untuk mengakses penanda hapus.)

    • s3:GetObjectVersionForReplication dan s3:GetObjectVersionAcl–Izin untuk tindakan ini diberikan pada semua objek untuk memungkinkan Amazon S3 mendapatkan versi objek tertentu dan daftar kontrol akses (ACL) yang terkait dengan objek.

    • s3:ReplicateObjectdan s3:ReplicateDelete — Izin untuk tindakan ini pada semua objek di amzn-s3-demo-destination-bucket bucket memungkinkan Amazon S3 mereplikasi objek atau menghapus penanda ke bucket tujuan. Untuk informasi tentang penanda hapus, lihat Bagaimana cara menghapus operasi yang memengaruhi replikasi.

      catatan

      Izin untuk s3:ReplicateObject tindakan pada amzn-s3-demo-destination-bucket bucket juga memungkinkan replikasi metadata seperti tag objek dan. ACLs Oleh karena itu, Anda tidak perlu secara eksplisit memberikan izin untuk tindakan s3:ReplicateTags tersebut.

    • s3:GetObjectVersionTagging— Izin untuk tindakan ini pada objek di amzn-s3-demo-source-bucket bucket memungkinkan Amazon S3 membaca tag objek untuk replikasi. Untuk informasi selengkapnya tentang tag objek, lihat Mengategorikan penyimpanan Anda menggunakan tag. Jika Amazon S3 tidak memiliki s3:GetObjectVersionTagging izin, itu mereplikasi objek, tetapi bukan tag objek.

    Untuk daftar tindakan 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

    penting

    Akun AWS Yang memiliki peran IAM harus memiliki izin untuk tindakan yang diberikannya ke peran IAM.

    Misalnya, anggaplah bucket sumber berisi objek yang dimiliki oleh Akun AWS lain. Pemilik objek harus secara eksplisit memberikan Akun AWS yang memiliki peran IAM izin yang diperlukan melalui daftar kontrol akses objek (). ACLs Jika tidak, Amazon S3 tidak dapat mengakses objek, dan replikasi objek akan gagal. Untuk informasi tentang izin ACL, lihat Gambaran umum daftar kontrol akses (ACL).

    Izin yang dijelaskan di sini terkait dengan konfigurasi replikasi minimum. Jika Anda memilih untuk menambahkan konfigurasi replikasi opsional, Anda harus memberikan izin tambahan ke Amazon S3:

    • Untuk mereplikasi objek terenkripsi, Anda juga perlu memberikan izin kunci AWS Key Management Service (AWS KMS) yang diperlukan. Untuk informasi selengkapnya, lihat Mereplikasi objek terenkripsi (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C).

    • Untuk menggunakan Object Lock dengan replikasi, Anda harus memberikan dua izin tambahan pada bucket S3 sumber dalam peran AWS Identity and Access Management (IAM) yang Anda gunakan untuk mengatur replikasi. Dua izin tambahan tersebut adalah s3:GetObjectRetention dans3:GetObjectLegalHold. Jika peran tersebut memiliki pernyataan izin s3:Get*, pernyataan itu memenuhi persyaratan. Untuk informasi selengkapnya, lihat Menggunakan Kunci Objek dengan Replikasi S3.

Memberikan izin saat bucket sumber dan tujuan dimiliki oleh yang berbeda Akun AWS

Jika bucket sumber dan tujuan tidak dimiliki oleh akun yang sama, pemilik bucket tujuan juga harus menambahkan kebijakan bucket untuk memberikan izin kepada pemilik bucket sumber agar melakukan tindakan replikasi, seperti yang ditunjukkan pada contoh berikut. Dalam contoh kebijakan ini, amzn-s3-demo-destination-bucket adalah bucket tujuan.

Anda juga dapat menggunakan konsol Amazon S3 untuk membuat kebijakan bucket ini secara otomatis untuk Anda. Untuk informasi selengkapnya, lihat Mengaktifkan penerimaan objek yang direplikasi dari keranjang sumber.

catatan

Format ARN peran mungkin tampak berbeda. Jika peran dibuat dengan menggunakan konsol, format ARN adalah. arn:aws:iam::account-ID:role/service-role/role-name Jika peran dibuat dengan menggunakan AWS CLI, format ARN adalah. arn:aws:iam::account-ID:role/role-name Untuk informasi selengkapnya, lihat peran IAM dalam Panduan Pengguna IAM.

{ "Version":"2012-10-17", "Id":"PolicyForDestinationBucket", "Statement":[ { "Sid":"Permissions on objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":[ "s3:ReplicateDelete", "s3:ReplicateObject" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Sid":"Permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "s3:List*", "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket" } ] }

Sebagai contoh, lihat Mengkonfigurasi replikasi untuk bucket di akun yang berbeda.

Jika objek dalam bucket sumber ditandai, perhatikan hal berikut:

  • Jika pemilik bucket sumber memberikan izin kepada Amazon S3 untuk tindakan s3:GetObjectVersionTagging dan s3:ReplicateTags guna mereplikasi tag objek (melalui peran IAM), Amazon S3 mereplikasi tag beserta objek. Untuk informasi tentang peran IAM, lihat Membuat peran IAM.

  • Jika pemilik bucket tujuan tidak ingin mereplikasi tag, mereka dapat menambahkan pernyataan berikut ke kebijakan bucket tujuan untuk secara eksplisit menolak izin bagi tindakan s3:ReplicateTags. Dalam kebijakan ini, amzn-s3-demo-destination-bucket adalah bucket tujuan.

    ... "Statement":[ { "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-id:role/service-role/source-account-IAM-role" }, "Action":"s3:ReplicateTags", "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] ...
catatan
  • Jika Anda ingin mereplikasi objek terenkripsi, Anda juga harus memberikan izin kunci AWS Key Management Service (AWS KMS) yang diperlukan. Untuk informasi selengkapnya, lihat Mereplikasi objek terenkripsi (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C).

  • Untuk menggunakan Object Lock dengan replikasi, Anda harus memberikan dua izin tambahan pada bucket S3 sumber dalam peran AWS Identity and Access Management (IAM) yang Anda gunakan untuk mengatur replikasi. Dua izin tambahan tersebut adalah s3:GetObjectRetention dans3:GetObjectLegalHold. Jika peran tersebut memiliki pernyataan izin s3:Get*, pernyataan itu memenuhi persyaratan. Untuk informasi selengkapnya, lihat Menggunakan Kunci Objek dengan Replikasi S3.

Aktifkan menerima objek yang direplikasi dari bucket sumber

Alih-alih menambahkan kebijakan sebelumnya secara manual ke bucket tujuan, Anda dapat dengan cepat membuat kebijakan yang diperlukan untuk mengaktifkan penerimaan objek yang direplikasi dari bucket sumber melalui konsol Amazon S3.

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Bucket.

  3. Di daftar Bucket, pilih bucket yang ingin Anda gunakan sebagai bucket tujuan.

  4. Pilih tab Manajemen, lalu gulir ke bawah ke Aturan replikasi.

  5. Untuk Tindakan, pilih Menerima objek yang direplikasi.

    Ikuti petunjuknya dan masukkan Akun AWS ID akun bucket sumber, lalu pilih Buat kebijakan. Konsol menghasilkan kebijakan bucket Amazon S3 dan kebijakan kunci KMS.

  6. Untuk menambahkan kebijakan ini ke kebijakan bucket yang ada, pilih Terapkan pengaturan atau pilih Salin untuk menyalin perubahan secara manual.

  7. (Opsional) Salin AWS KMS kebijakan ke kebijakan kunci KMS yang Anda inginkan di AWS Key Management Service konsol.

Mengubah kepemilikan replika

Jika berbeda Akun AWS memiliki bucket sumber dan tujuan, Anda dapat memberi tahu Amazon S3 untuk mengubah kepemilikan replika ke bucket Akun AWS yang memiliki tujuan. Untuk informasi selengkapnya tentang penggantian pemilik, lihat Mengubah pemilik replika.

Memberikan izin untuk Operasi Batch S3

Replikasi Batch S3 memberi Anda cara untuk mereplikasi objek berikut:

  • Objek yang ada sebelum konfigurasi replikasi ada

  • Objek yang sebelumnya telah direplikasi

  • Objek yang gagal replikasi

Anda dapat membuat tugas Replikasi Batch satu kali saat membuat aturan pertama dalam konfigurasi replikasi baru atau saat menambahkan tujuan baru ke konfigurasi yang ada melalui konsol Amazon S3. Anda juga dapat memulai Replikasi Batch untuk konfigurasi replikasi yang ada dengan membuat pekerjaan Operasi Batch.

Untuk contoh peran dan kebijakan IAM Replikasi Batch, lihat. Mengkonfigurasi peran IAM untuk Replikasi Batch S3