Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mereplikasi objek terenkripsi (SSE-S3, SSE -, -KMS, -C) DSSE KMS SSE
penting
Amazon S3 sekarang menerapkan enkripsi sisi server dengan kunci terkelola Amazon S3 (SSE-S3) sebagai tingkat dasar enkripsi untuk setiap bucket di Amazon S3. Mulai 5 Januari 2023, semua unggahan objek baru ke Amazon S3 secara otomatis akan dienkripsi tanpa biaya tambahan dan tidak akan berdampak pada kinerja. Status enkripsi otomatis untuk konfigurasi enkripsi default bucket S3 dan untuk unggahan objek baru tersedia di AWS CloudTrail log, S3 Inventory, S3 Storage Lens, konsol Amazon S3, dan sebagai header respons Amazon S3 tambahan di dan. API AWS Command Line Interface AWS SDKs Untuk informasi selengkapnya, lihat Enkripsi default FAQ.
Ada beberapa pertimbangan khusus ketika Anda mereplikasi objek yang telah dienkripsi dengan menggunakan enkripsi di sisi server. Amazon S3 mendukung tipe enkripsi di sisi server berikut:
-
Enkripsi sisi server dengan kunci terkelola Amazon S3 (-S3) SSE
-
Enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (-) SSE KMS
-
Enkripsi sisi server dua lapis dengan kunci (-) AWS KMS DSSE KMS
-
Enkripsi sisi server dengan kunci yang disediakan pelanggan (-C) SSE
Untuk informasi lebih lanjut tentang enkripsi di sisi server, lihat Melindungi data dengan enkripsi di sisi klien.
Topik ini menjelaskan izin yang Anda perlukan untuk mengarahkan Amazon S3 guna mereplikasi objek yang telah dienkripsi menggunakan enkripsi di sisi server. Topik ini juga menyediakan elemen konfigurasi tambahan yang dapat Anda tambahkan dan contoh AWS Identity and Access Management (IAM) kebijakan yang memberikan izin yang diperlukan untuk mereplikasi objek terenkripsi.
Untuk contoh dengan step-by-step instruksi, lihatMengaktifkan replikasi untuk objek terenkripsi. Untuk informasi tentang pembuatan konfigurasi replikasi, lihat Mereplikasi objek di dalam dan di seluruh Wilayah.
catatan
Anda dapat menggunakan Multi-wilayah AWS KMS keys di Amazon S3. Namun, Amazon S3 saat ini memperlakukan kunci multi-Wilayah selayaknya kunci satu Wilayah, dan tidak menggunakan fitur multi-Wilayah dari kunci tersebut. Untuk informasi selengkapnya, lihat Menggunakan kunci Multi-wilayah di Panduan AWS Key Management Service Pengembang.
Topik
Bagaimana enkripsi bucket default memengaruhi replikasi
Saat Anda mengaktifkan enkripsi default untuk bucket tujuan replikasi, perilaku enkripsi berikut berlaku:
-
Jika objek dalam bucket sumber tidak dienkripsi, objek replika dalam bucket tujuan akan dienkripsi menggunakan pengaturan enkripsi default dari bucket tujuan. Akibatnya, tag entitas (ETags) dari objek sumber berbeda ETags dari objek replika. Jika Anda memiliki aplikasi yang menggunakanETags, Anda harus memperbarui aplikasi tersebut untuk memperhitungkan perbedaan ini.
-
Jika objek dalam bucket sumber dienkripsi menggunakan enkripsi sisi server dengan kunci terkelola Amazon S3 (-S3), enkripsi sisi server dengan kunci (SSE) AWS Key Management Service (AWS KMS-), atau enkripsi sisi server dua lapis dengan kunci (SSE-KMS), objek replika di bucket tujuan menggunakan jenis enkripsi yang sama dengan AWS KMS objek sumber. DSSE KMS Pengaturan enkripsi default bucket tujuan tidak digunakan.
Mereplikasi objek yang dienkripsi dengan -C SSE
Dengan menggunakan enkripsi sisi server dengan kunci yang disediakan pelanggan (SSE-C), Anda dapat mengelola kunci enkripsi milik Anda sendiri. Dengan SSE -C, Anda mengelola kunci sementara Amazon S3 mengelola proses enkripsi dan dekripsi. Anda harus memberikan kunci enkripsi sebagai bagian dari permintaan Anda, tetapi Anda tidak perlu menulis kode apa pun untuk melakukan enkripsi atau dekripsi objek. Saat mengunggah sebuah objek, Amazon S3 mengenkripsi objek menggunakan kunci yang Anda berikan. Amazon S3 kemudian membersihkan kunci itu dari memori. Saat mengambil sebuah objek, Anda harus memberikan kunci enkripsi yang sama sebagai bagian dari permintaan Anda. Untuk informasi selengkapnya, lihat Menggunakan enkripsi sisi server dengan kunci yang disediakan pelanggan (-C) SSE.
S3 Replikasi mendukung objek yang dienkripsi dengan -C. SSE Anda dapat mengonfigurasi replikasi objek SSE -C di konsol Amazon S3 atau dengan AWS SDKs cara yang sama seperti Anda mengonfigurasi replikasi untuk objek yang tidak terenkripsi. Tidak ada izin SSE -C tambahan di luar apa yang saat ini diperlukan untuk replikasi.
Replikasi S3 secara otomatis mereplikasi objek terenkripsi SSE -C yang baru diunggah jika memenuhi syarat, seperti yang ditentukan dalam konfigurasi Replikasi S3 Anda. Untuk mereplikasi objek yang ada di bucket Anda, gunakan Replikasi Batch S3. Untuk informasi selengkapnya tentang mereplikasi objek, lihat Menyiapkan ikhtisar replikasi langsung dan Mereplikasi objek yang ada dengan Batch Replication.
Tidak ada biaya tambahan untuk mereplikasi objek SSE -C. Untuk detail tentang harga replikasi, lihat harga Amazon S3
Mereplikasi objek yang dienkripsi dengan SSE -S3, -, atau - SSE KMS DSSE KMS
Secara default, Amazon S3 tidak mereplikasi objek yang dienkripsi dengan - atau -. SSE KMS DSSE KMS Bagian ini menjelaskan elemen konfigurasi tambahan yang dapat Anda tambahkan ke Amazon S3 langsung untuk mereplikasi objek tersebut.
Untuk contoh dengan step-by-step instruksi, lihatMengaktifkan replikasi untuk objek terenkripsi. Untuk informasi tentang pembuatan konfigurasi replikasi, lihat Mereplikasi objek di dalam dan di seluruh Wilayah.
Menentukan informasi tambahan dalam konfigurasi replikasi
Dalam konfigurasi replikasi, Anda melakukan hal berikut:
-
Dalam
Destination
elemen dalam konfigurasi replikasi Anda, tambahkan ID kunci terkelola AWS KMS pelanggan simetris yang Anda ingin Amazon S3 gunakan untuk mengenkripsi replika objek, seperti yang ditunjukkan dalam contoh konfigurasi replikasi berikut. -
Secara eksplisit ikut serta dengan mengaktifkan replikasi objek yang dienkripsi dengan menggunakan KMS kunci (- atau -). SSE KMS DSSE KMS Untuk memilih ikut, tambahkan elemen
SourceSelectionCriteria
, seperti yang ditunjukkan dalam konfigurasi replikasi contoh berikut.
<ReplicationConfiguration> <Rule> ... <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> ... <EncryptionConfiguration> <ReplicaKmsKeyID>
AWS KMS key ARN or Key Alias ARN that's in the same Wilayah AWS as the destination bucket.
</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> ... </Rule> </ReplicationConfiguration>
penting
-
KMSKuncinya harus dibuat Wilayah AWS sama dengan bucket tujuan.
-
KMSKuncinya harus valid.
PutBucketReplication
APIOperasi tidak memeriksa validitas KMS kunci. Jika Anda menggunakan KMS kunci yang tidak valid, Anda akan menerima kode HTTP200 OK
status sebagai tanggapan, tetapi replikasi gagal.
Contoh berikut menunjukkan konfigurasi replikasi yang meliputi elemen konfigurasi opsional. Konfigurasi replikasi ini memiliki satu aturan. Aturan ini berlaku untuk objek dengan awalan kunci
. Amazon S3 menggunakan AWS KMS key ID yang ditentukan untuk mengenkripsi replika objek ini.Tax
<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration> <Role>arn:aws:iam::
account-id
:role/role-name
</Role> <Rule> <ID>Rule-1
</ID> <Priority>1</Priority> <Status>Enabled</Status> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Destination> <Bucket>arn:aws:s3:::</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>
amzn-s3-demo-destination-bucket
AWS KMS key ARN or Key Alias ARN that's in the same Wilayah AWS as the destination bucket.
</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> </Rule> </ReplicationConfiguration>
Memberikan izin tambahan untuk peran tersebut IAM
Untuk mereplikasi objek yang dienkripsi saat istirahat dengan menggunakan SSE -S3, SSE -, atau DSSE - KMSKMS, berikan izin tambahan berikut ke peran AWS Identity and Access Management (IAM) yang Anda tentukan dalam konfigurasi replikasi. Anda memberikan izin ini dengan memperbarui kebijakan izin yang terkait dengan peran tersebut. IAM
-
s3:GetObjectVersionForReplication
tindakan untuk objek sumber — Tindakan ini memungkinkan Amazon S3 untuk mereplikasi objek dan objek yang tidak terenkripsi yang dibuat dengan enkripsi sisi server dengan menggunakan -S3, -, atau -. SSE SSE KMS DSSE KMScatatan
Kami menyarankan Anda menggunakan tindakan
s3:GetObjectVersionForReplication
alih-alih tindakans3:GetObjectVersion
karenas3:GetObjectVersionForReplication
hanya memberi Amazon S3 izin minimum yang diperlukan untuk replikasi. Selain itu,s3:GetObjectVersion
tindakan ini memungkinkan replikasi objek yang tidak terenkripsi dan SSE -S3 terenkripsi, tetapi bukan objek yang dienkripsi dengan menggunakan kunci (- atau -). KMS SSE KMS DSSE KMS -
kms:Decrypt
dankms:Encrypt
AWS KMS tindakan untuk KMS kunci-
Anda harus memberikan izin
kms:Decrypt
untuk AWS KMS key yang digunakan untuk mendekripsi objek sumber. -
Anda harus memberikan izin
kms:Encrypt
untuk AWS KMS key yang digunakan untuk mengenkripsi replika objek.
-
-
kms:GenerateDataKey
tindakan untuk mereplikasi objek plaintext — Jika Anda mereplikasi objek plaintext ke bucket dengan KMS enkripsi SSE - KMS atau DSSE - yang diaktifkan secara default, Anda harus menyertakankms:GenerateDataKey
izin untuk konteks enkripsi tujuan dan kunci dalam kebijakan. KMS IAM
Kami menyarankan Anda membatasi izin ini hanya untuk bucket tujuan dan objek dengan menggunakan AWS KMS tombol kondisi. Akun AWS Yang memiliki IAM peran harus memiliki izin untuk kms:Encrypt
dan kms:Decrypt
tindakan untuk KMS kunci yang tercantum dalam kebijakan. Jika KMS kunci dimiliki oleh orang lain Akun AWS, pemilik KMS kunci harus memberikan izin ini kepada Akun AWS yang memiliki peran tersebutIAM. Untuk informasi selengkapnya tentang mengelola akses ke KMS kunci ini, lihat Menggunakan IAM kebijakan dengan AWS KMS di Panduan AWS Key Management Service Pengembang.
Replikasi dan Kunci Bucket S3
Untuk menggunakan replikasi dengan Kunci Bucket S3, AWS KMS key kebijakan KMS kunci yang digunakan untuk mengenkripsi replika objek harus menyertakan kms:Decrypt
izin untuk prinsipal panggilan. Panggilan ke kms:Decrypt
memverifikasi integritas Kunci Bucket S3 sebelum menggunakannya. Untuk informasi selengkapnya, lihat Menggunakan kunci Bucket S3 dengan replikasi.
Jika Kunci Bucket S3 diaktifkan untuk bucket sumber atau tujuan, konteks enkripsi akan menjadi Amazon Resource Name (ARN) bucket, bukan objek ARN (misalnya,arn:aws:s3:::
). Anda harus memperbarui IAM kebijakan Anda untuk menggunakan bucket ARN untuk konteks enkripsi:bucket_ARN
"kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::
bucket_ARN
" ]
Untuk informasi lebih lanjut, lihat Konteks enkripsi (x-amz-server-side-encryption-context) (di bagian “Menggunakan RESTAPI”) danPerubahan yang perlu diperhatikan sebelum mengaktifkan Kunci Bucket S3.
Contoh kebijakan: Menggunakan SSE -S3 dan SSE - KMS dengan replikasi
Contoh IAM kebijakan berikut menunjukkan pernyataan untuk menggunakan SSE -S3 dan SSE - KMS dengan replikasi.
contoh — Menggunakan SSE - KMS dengan ember tujuan terpisah
Contoh kebijakan berikut menunjukkan pernyataan untuk menggunakan SSE - KMS dengan bucket tujuan terpisah.
{ "Version":"2012-10-17", "Statement":[ { "Action": ["kms:Decrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.
source-bucket-region
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::/
amzn-s3-demo-source-bucket
key-prefix1
*" ] } }, "Resource": [ "List of AWS KMS key ARNs that are used to encrypt source objects.
" ] }, { "Action": ["kms:Encrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.destination-bucket-1-region
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::/
amzn-s3-demo-destination-bucket1
key-prefix1
*" ] } }, "Resource": [ "AWS KMS key ARNs (in the same Wilayah AWS as destination bucket 1). Used to encrypt object replicas created in destination bucket 1.
" ] }, { "Action": ["kms:Encrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.destination-bucket-2-region
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::/
amzn-s3-demo-destination-bucket2
key-prefix1
*" ] } }, "Resource": [ "AWS KMS key ARNs (in the same Wilayah AWS as destination bucket 2). Used to encrypt object replicas created in destination bucket 2.
" ] } ] }
contoh — Mereplikasi objek yang dibuat dengan SSE -S3 dan - SSE KMS
Berikut ini adalah IAM kebijakan lengkap yang memberikan izin yang diperlukan untuk mereplikasi objek yang tidak terenkripsi, objek yang dibuat dengan SSE -S3, dan objek yang dibuat dengan -. SSE KMS
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::
" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::
amzn-s3-demo-source-bucket
/
amzn-s3-demo-source-bucket
key-prefix1
*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::/
amzn-s3-demo-destination-bucket
key-prefix1
*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.source-bucket-region
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::/
amzn-s3-demo-source-bucket
key-prefix1
*" ] } }, "Resource":[ "List of the AWS KMS key ARNs that are used to encrypt source objects.
" ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.destination-bucket-region
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::/
amzn-s3-demo-destination-bucket
prefix1
*" ] } }, "Resource":[ "AWS KMS key ARNs (in the same Wilayah AWS as the destination bucket) to use for encrypting object replicas
" ] } ] }
contoh – Mereplikasi objek dengan Kunci Bucket S3
Berikut ini adalah IAM kebijakan lengkap yang memberikan izin yang diperlukan untuk mereplikasi objek dengan S3 Bucket Keys.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::
" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::
amzn-s3-demo-source-bucket
/
amzn-s3-demo-source-bucket
key-prefix1
*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::/
amzn-s3-demo-destination-bucket
key-prefix1
*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.source-bucket-region
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::" ] } }, "Resource":[ "
amzn-s3-demo-source-bucket
List of the AWS KMS key ARNs that are used to encrypt source objects.
" ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.destination-bucket-region
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::" ] } }, "Resource":[ "
amzn-s3-demo-destination-bucket
AWS KMS key ARNs (in the same Wilayah AWS as the destination bucket) to use for encrypting object replicas
" ] } ] }
Memberikan izin tambahan untuk skenario lintas akun
Dalam skenario lintas akun, di mana bucket sumber dan tujuan dimiliki oleh yang berbeda Akun AWS, Anda dapat menggunakan KMS kunci untuk mengenkripsi replika objek. Namun, pemilik KMS kunci harus memberikan izin kepada pemilik bucket sumber untuk menggunakan KMS kunci tersebut.
catatan
Jika Anda perlu mereplikasi SSE - KMS data lintas akun, maka aturan replikasi Anda harus menentukan kunci yang dikelola pelanggan AWS KMS untuk akun tujuan. Kunci yang dikelola AWSjangan izinkan penggunaan lintas akun, dan karenanya tidak dapat digunakan untuk melakukan replikasi lintas akun.
Untuk memberikan izin kepada pemilik bucket sumber untuk menggunakan KMS kunci (AWS KMS konsol)
-
Masuk ke AWS Management Console dan buka AWS KMS konsol di https://console.aws.amazon.com/kms
. -
Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.
-
Untuk melihat tombol di akun yang Anda buat dan kelola, di panel navigasi pilih CMK.
-
Memilih kunci KMS.
-
Di bawah bagian Konfigurasi umum, pilih tab Kebijakan kunci.
-
Gulir ke bawah ke Lainnya Akun AWS.
-
Pilih Tambahkan lainnya Akun AWS.
Kotak Akun AWS dialog Lainnya muncul.
-
Di kotak dialog, pilih Tambahkan yang lain Akun AWS. Untuk arn:aws:iam::, masukkan ID akun bucket sumber.
-
Pilih Simpan perubahan.
Untuk memberikan izin pemilik bucket sumber untuk menggunakan KMS key (AWS CLI)
-
Untuk informasi tentang perintah
put-key-policy
AWS Command Line Interface (AWS CLI), lihat put-key-policydalam AWS CLI Command Reference. Untuk informasi tentangPutKeyPolicy
API operasi yang mendasarinya, lihat PutKeyPolicydalam AWS Key Management Service APIReferensi.
AWS KMS pertimbangan kuota transaksi
Saat Anda menambahkan banyak objek baru dengan AWS KMS enkripsi setelah mengaktifkan Replikasi Lintas Wilayah (CRR), Anda mungkin mengalami pelambatan (kesalahan). HTTP 503 Service
Unavailable
Throttling terjadi ketika jumlah AWS KMS
transaksi per detik melebihi kuota saat ini. Untuk informasi selengkapnya, lihat Kuota di Panduan Developer AWS Key Management Service .
Untuk meminta peningkatan kuota, gunakan Kuota Layanan. Untuk informasi selengkapnya, lihat Meminta peningkatan kuota. Jika Service Quotas tidak didukung di Wilayah Anda, buka
Mengaktifkan replikasi untuk objek terenkripsi
Secara default, Amazon S3 tidak mereplikasi objek yang dienkripsi dengan menggunakan enkripsi sisi server dengan AWS Key Management Service () keys (-AWS KMS) atau enkripsi sisi server dual-layer dengan keys (SSE-KMS). AWS KMS DSSE KMS Untuk mereplikasi objek yang dienkripsi dengan SSE - KMS atau DSS -KMS, Anda harus memodifikasi konfigurasi replikasi bucket untuk memberi tahu Amazon S3 agar mereplikasi objek ini. Contoh ini menjelaskan cara menggunakan konsol Amazon S3 dan AWS Command Line Interface (AWS CLI) untuk mengubah konfigurasi replikasi bucket guna mengaktifkan replikasi objek terenkripsi.
catatan
Saat Kunci Bucket S3 diaktifkan untuk bucket sumber atau tujuan, konteks enkripsi akan menjadi Amazon Resource Name (ARN) bucket, bukan ARN objek. Anda harus memperbarui IAM kebijakan Anda untuk menggunakan bucket ARN untuk konteks enkripsi. Untuk informasi selengkapnya, lihat Replikasi dan Kunci Bucket S3.
catatan
Anda dapat menggunakan Multi-wilayah AWS KMS keys di Amazon S3. Namun, Amazon S3 saat ini memperlakukan kunci multi-Wilayah selayaknya kunci satu Wilayah, dan tidak menggunakan fitur multi-Wilayah dari kunci tersebut. Untuk informasi selengkapnya, lihat Menggunakan kunci Multi-wilayah di Panduan AWS Key Management Service Pengembang.
Untuk step-by-step instruksi, lihatMengkonfigurasi replikasi untuk bucket di akun yang sama. Topik ini memberikan instruksi untuk menyetel konfigurasi replikasi ketika bucket sumber dan tujuan dimiliki oleh yang sama dan berbeda. Akun AWS
Untuk mereplikasi objek terenkripsi dengan AWS CLI, Anda melakukan hal berikut:
-
Buat bucket sumber dan tujuan, lalu aktifkan Penentuan Versi pada bucket ini.
-
Buat peran layanan AWS Identity and Access Management (IAM) yang memberikan izin Amazon S3 untuk mereplikasi objek. Izin IAM peran termasuk izin yang diperlukan untuk mereplikasi objek terenkripsi.
-
Tambahkan konfigurasi replikasi ke bucket sumber. Konfigurasi replikasi memberikan informasi yang terkait dengan replikasi objek yang dienkripsi dengan menggunakan kunci. KMS
-
Tambahkan objek terenkripsi ke bucket sumber.
-
Uji penyiapan untuk mengonfirmasi bahwa objek terenkripsi Anda sedang direplikasi ke bucket tujuan.
Prosedur berikut memandu Anda menjalankan proses ini.
Untuk mereplikasi objek yang dienkripsi di sisi server (AWS CLI)
Untuk menggunakan contoh dalam prosedur ini, ganti
dengan informasi Anda sendiri.user
input placeholders
-
Dalam contoh ini, Anda membuat kedua sumber (
) dan tujuan (amzn-s3-demo-source-bucket
) ember dalam hal yang sama Akun AWS. Anda juga menetapkan profil kredensial untuk AWS CLI. Contoh ini menggunakan nama profilamzn-s3-demo-destination-bucket
.acctA
Untuk informasi tentang menyetel profil kredensi dan menggunakan profil bernama, lihat Pengaturan konfigurasi dan file kredensi di AWS Command Line Interface Panduan Pengguna.
-
Gunakan perintah berikut untuk membuat bucket
dan mengaktifkan Penentuan Versi di dalamnya. Contoh perintah berikut membuat bucketamzn-s3-demo-source-bucket
di Wilayah AS Timur (Virginia Utara) (amzn-s3-demo-source-bucket
us-east-1
).aws s3api create-bucket \ --bucket
amzn-s3-demo-source-bucket
\ --regionus-east-1
\ --profileacctA
aws s3api put-bucket-versioning \ --bucket
amzn-s3-demo-source-bucket
\ --versioning-configuration Status=Enabled \ --profileacctA
-
Gunakan perintah berikut untuk membuat bucket
dan mengaktifkan Penentuan Versi di dalamnya. Contoh perintah berikut membuat bucketamzn-s3-demo-destination-bucket
di Wilayah AS Barat (Oregon) (amzn-s3-demo-destination-bucket
us-west-2
).catatan
Untuk menyiapkan konfigurasi replikasi saat bucket
danamzn-s3-demo-source-bucket
berada di Akun AWS yang sama, Anda menggunakan profil yang sama. Contoh ini menggunakanamzn-s3-demo-destination-bucket
. Untuk mengonfigurasi replikasi ketika bucket dimiliki oleh yang berbeda Akun AWS, Anda menentukan profil yang berbeda untuk masing-masing.acctA
aws s3api create-bucket \ --bucket
amzn-s3-demo-destination-bucket
\ --regionus-west-2
\ --create-bucket-configuration LocationConstraint=us-west-2
\ --profileacctA
aws s3api put-bucket-versioning \ --bucket
amzn-s3-demo-destination-bucket
\ --versioning-configuration Status=Enabled \ --profileacctA
-
Selanjutnya, Anda membuat peran IAM layanan. Anda akan menentukan peran ini dalam konfigurasi replikasi yang Anda tambahkan ke
bucket nanti. Amazon S3 mengasumsikan peran ini untuk mereplikasi objek atas nama Anda. Anda membuat IAM peran dalam dua langkah:amzn-s3-demo-source-bucket
-
Membuat peran layanan.
-
Lampirkan kebijakan izin pada peran tersebut.
-
Untuk membuat peran IAM layanan, lakukan hal berikut:
-
Salin kebijakan kepercayaan berikut dan simpan ke file bernama
di direktori saat ini di komputer lokal Anda. Kebijakan ini memberikan izin utama layanan Amazon S3 untuk mengambil peran sehingga Amazon S3 dapat melakukan tugas atas nama Anda.s3-role-trust-policy-kmsobj
.json{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
-
Gunakan perintah berikut ini untuk membuat peran tersebut:
$
aws iam create-role \ --role-namereplicationRolekmsobj
\ --assume-role-policy-document file://s3-role-trust-policy-kmsobj
.json \ --profileacctA
-
-
Selanjutnya, Anda melampirkan kebijakan izin pada peran tersebut. Kebijakan ini memberikan izin untuk berbagai bucket dan tindakan objek Amazon S3.
-
Salin kebijakan kepercayaan berikut dan simpan di berkas dengan nama
di direktori saat ini di komputer lokal Anda. Anda akan membuat IAM peran dan melampirkan kebijakan itu nanti.s3-role-permissions-policykmsobj
.jsonpenting
Dalam kebijakan izin, Anda menentukan AWS KMS kunci IDs yang akan digunakan untuk enkripsi
danamzn-s3-demo-source-bucket
bucket. Anda harus membuat dua KMS kunci terpisah untuk emberamzn-s3-demo-destination-bucket
danamzn-s3-demo-source-bucket
ember. AWS KMS keys tidak dibagikan Wilayah AWS di luar tempat mereka diciptakan.amzn-s3-demo-destination-bucket
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:ListBucket", "s3:GetReplicationConfiguration", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::
", "arn:aws:s3:::amzn-s3-demo-source-bucket
/*" ] }, { "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Effect":"Allow", "Condition":{ "StringLikeIfExists":{ "s3:x-amz-server-side-encryption":[ "aws:kms", "AES256", "aws:kms:dsse" ], "s3:x-amz-server-side-encryption-aws-kms-key-id":[ "amzn-s3-demo-source-bucket
AWS KMS key IDs(in ARN format) to use for encrypting object replicas
" ] } }, "Resource":"arn:aws:s3:::
/*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.amzn-s3-demo-destination-bucket
us-east-1
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::
/*" ] } }, "Resource":[ "amzn-s3-demo-source-bucket
AWS KMS key IDs(in ARN format) used to encrypt source objects.
" ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.us-west-2
.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::
/*" ] } }, "Resource":[ "amzn-s3-demo-destination-bucket
AWS KMS key IDs (in ARN format) to use for encrypting object replicas
" ] } ] } -
Buat kebijakan dan lampirkan ke peran tersebut.
$
aws iam put-role-policy \ --role-namereplicationRolekmsobj
\ --policy-document file://s3-role-permissions-policykmsobj
.json \ --policy-namereplicationRolechangeownerPolicy
\ --profileacctA
-
-
-
Selanjutnya, tambahkan konfigurasi replikasi berikut ke bucket
. Ini memberi tahu Amazon S3 untuk mereplikasi objek dengan awalanamzn-s3-demo-source-bucket
ke bucketTax/
.amzn-s3-demo-destination-bucket
penting
Dalam konfigurasi replikasi, Anda menentukan IAM peran yang dapat diasumsikan oleh Amazon S3. Anda dapat melakukannya hanya jika Anda memiliki izin
iam:PassRole
. Profil yang Anda tentukan dalam CLI perintah harus memiliki izin ini. Untuk informasi selengkapnya, lihat Memberikan izin pengguna untuk meneruskan peran ke Layanan AWS dalam IAMPanduan Pengguna.<ReplicationConfiguration> <Role>
IAM-Role-ARN
</Role> <Rule> <Priority>1</Priority> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Status>Enabled</Status> <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> <Bucket>arn:aws:s3:::
</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>amzn-s3-demo-destination-bucket
AWS KMS key IDs to use for encrypting object replicas
</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> </Rule> </ReplicationConfiguration>Untuk menambahkan konfigurasi replikasi ke bucket
, lakukan hal berikut:amzn-s3-demo-source-bucket
-
Ini AWS CLI mengharuskan Anda untuk menentukan konfigurasi replikasi sebagaiJSON. Simpan berikut ini JSON dalam file (
) di direktori saat ini di komputer lokal Anda.replication
.json{ "Role":"
IAM-Role-ARN
", "Rules":[ { "Status":"Enabled", "Priority":1, "DeleteMarkerReplication":{ "Status":"Disabled" }, "Filter":{ "Prefix":"Tax
" }, "Destination":{ "Bucket":"arn:aws:s3:::
", "EncryptionConfiguration":{ "ReplicaKmsKeyID":"amzn-s3-demo-destination-bucket
AWS KMS key IDs (in ARN format) to use for encrypting object replicas
" } }, "SourceSelectionCriteria":{ "SseKmsEncryptedObjects":{ "Status":"Enabled" } } } ] } -
Edit JSON file untuk memberikan nilai untuk
bucket,amzn-s3-demo-destination-bucket
, danAWS KMS key IDs (in ARN format)
. Simpan perubahan.IAM-role-ARN
-
Gunakan perintah berikut untuk menambahkan konfigurasi replikasi ke bucket
Anda. Pastikan untuk memberikan nama bucketamzn-s3-demo-source-bucket
.amzn-s3-demo-source-bucket
$
aws s3api put-bucket-replication \ --replication-configuration file://replication
.json \ --bucket
\ --profileamzn-s3-demo-source-bucket
acctA
-
-
Uji konfigurasi untuk memverifikasi bahwa objek terenkripsi direplikasi. Di konsol Amazon S3, lakukan berikut ini:
Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Di bucket
, buat folder bernamaamzn-s3-demo-source-bucket
.Tax
-
Tambahkan objek sampel ke folder. Pastikan untuk memilih opsi enkripsi dan tentukan KMS kunci Anda untuk mengenkripsi objek.
-
Verifikasi bahwa
bucket berisi replika objek dan dienkripsi dengan menggunakan KMS kunci yang Anda tentukan dalam konfigurasi. Untuk informasi selengkapnya, lihat Mendapatkan informasi status replikasi.amzn-s3-demo-destination-bucket
Untuk contoh kode yang menunjukkan cara menambahkan konfigurasi replikasi, lihat Menggunakan AWS SDKs. Anda harus memodifikasi konfigurasi replikasi dengan tepat.