View a markdown version of this page

Berbagi snapshot cluster Amazon DocumentDB - Amazon DocumentDB

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

Berbagi snapshot cluster Amazon DocumentDB

Menggunakan Amazon DocumentDB, Anda dapat membagikan snapshot cluster manual dengan cara berikut:

  • Berbagi snapshot cluster manual, baik terenkripsi maupun tidak terenkripsi, memungkinkan AWS akun resmi untuk menyalin snapshot.

  • Berbagi snapshot cluster manual, baik terenkripsi maupun tidak terenkripsi, memungkinkan AWS akun resmi untuk secara langsung memulihkan cluster dari snapshot alih-alih mengambil salinannya dan memulihkan darinya.

catatan

Untuk berbagi snapshot cluster otomatis, buat snapshot cluster manual dengan menyalin snapshot otomatis, lalu bagikan salinan itu. Proses ini juga berlaku untuk sumber daya yang AWS dihasilkan Cadangan.

Anda dapat berbagi snapshot manual dengan hingga 20 lainnya Akun AWS. Anda juga dapat berbagi snapshot manual yang tidak terenkripsi sebagai publik sehingga snapshot tersebut tersedia untuk semua akun . Saat membagikan snapshot sebagai publik, pastikan bahwa tidak ada informasi privat yang dimasukkan ke dalam snapshot publik Anda.

Saat berbagi snapshot manual dengan yang lain Akun AWS, dan Anda memulihkan cluster dari snapshot bersama menggunakan AWS CLI atau Amazon DocumentDB API, Anda harus menentukan Nama Sumber Daya Amazon (ARN) dari snapshot bersama sebagai pengidentifikasi snapshot.

Berbagi snapshot terenkripsi

Pembatasan berikut berlaku untuk berbagi snapshot terenkripsi:

  • Anda tidak dapat berbagi snapshot terenkripsi sebagai publik.

  • Anda tidak dapat membagikan snapshot yang telah dienkripsi menggunakan kunci AWS KMS enkripsi default dari akun yang berbagi snapshot.

Ikuti langkah-langkah ini untuk berbagi snapshot terenkripsi.

  1. Bagikan kunci enkripsi AWS Key Management Service (AWS KMS) yang digunakan untuk mengenkripsi snapshot dengan akun apa pun yang ingin Anda akses snapshot.

    Anda dapat berbagi kunci AWS KMS enkripsi dengan AWS akun lain dengan menambahkan akun lain ke kebijakan AWS KMS kunci. Untuk detail tentang memperbarui kebijakan utama, lihat Menggunakan Kebijakan Utama di AWS KMS di Panduan Peng AWS Key Management Service embang. Untuk contoh pembuatan kebijakan kunci, lihat Membuat kebijakan IAM untuk memungkinkan penyalinan snapshot yang dienkripsi nanti dalam topik ini.

  2. Gunakan AWS CLI, seperti yang ditunjukkan di bawah ini, untuk berbagi snapshot terenkripsi dengan akun lain.

Mengizinkan akses ke AWS KMS kunci enkripsi

Akun AWS Agar orang lain menyalin snapshot terenkripsi yang dibagikan dari akun Anda, akun tempat Anda berbagi snapshot harus memiliki akses ke AWS KMS kunci yang mengenkripsi snapshot. Untuk mengizinkan akses akun lain ke AWS KMS kunci, perbarui kebijakan AWS KMS kunci untuk kunci tersebut dengan ARN akun yang Anda bagikan sebagai prinsipal dalam kebijakan AWS KMS kunci. Kemudian izinkan tindakan kms:CreateGrant.

Setelah Anda memberikan akses akun ke kunci AWS KMS enkripsi Anda, untuk menyalin snapshot terenkripsi Anda, akun tersebut harus membuat pengguna AWS Identity and Access Management (IAM) jika belum memilikinya. Selain itu, akun tersebut juga harus melampirkan kebijakan IAM ke pengguna IAM yang memungkinkan pengguna menyalin snapshot terenkripsi menggunakan kunci Anda AWS KMS . Akun harus pengguna IAM dan tidak dapat menjadi Akun AWS identitas root karena pembatasan AWS KMS keamanan.

Dalam contoh kebijakan kunci berikut, pengguna 123451234512 adalah pemilik kunci enkripsi. AWS KMS Pengguna 123456789012 adalah akun yang kuncinya sedang dibagikan dengannya. Kebijakan kunci yang diperbarui ini memberikan akses akun ke AWS KMS kunci tersebut. Ini dilakukan dengan memasukkan ARN untuk Akun AWS identitas root untuk pengguna 123456789012 sebagai prinsip untuk kebijakan, dan dengan mengizinkan tindakan tersebut. kms:CreateGrant

JSON
{ "Id": "key-policy-1", "Version":"2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::123451234512:user/KeyUser", "arn:aws:iam::123456789012:root" ]}, "Action": [ "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*"}, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::123451234512:user/KeyUser", "arn:aws:iam::123456789012:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} } ] }

Membuat kebijakan IAM untuk memungkinkan penyalinan snapshot yang dienkripsi

Ketika eksternal Akun AWS memiliki akses ke AWS KMS kunci Anda, pemilik akun tersebut dapat membuat kebijakan untuk mengizinkan pengguna IAM yang dibuat untuk akun menyalin snapshot terenkripsi yang dienkripsi dengan AWS KMS kunci tersebut.

Contoh berikut menunjukkan kebijakan yang dapat dilampirkan ke pengguna IAM untuk Akun AWS 123456789012. Kebijakan ini memungkinkan pengguna IAM untuk menyalin snapshot bersama dari akun 123451234512 yang telah dienkripsi dengan AWS KMS kunci c989c1dd-a3f2-4a5d-8d96-e793d082ab26 di Wilayah us-west-2.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowUseOfTheKey", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant" ], "Resource": ["arn:aws:kms:us-west-2:123451234512:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"] }, { "Sid": "AllowAttachmentOfPersistentResources", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["arn:aws:kms:us-west-2:123451234512:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

Untuk detail tentang memperbarui kebijakan kunci, lihat Menggunakan Kebijakan Kunci di AWS KMS dalam Panduan Developer AWS Key Management Service .

Berbagi snapshot

Anda dapat membagikan snapshot cluster manual Amazon DocumentDB (atau salinan snapshot otomatis) menggunakan Konsol Manajemen AWS atau: AWS CLI

Using the Konsol Manajemen AWS

Untuk berbagi snapshot menggunakan Konsol Manajemen AWS, selesaikan langkah-langkah berikut:

  1. Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon DocumentDB di https://console.aws.amazon.com/docdb.

  2. Di panel navigasi, pilih Snapshot.

  3. Pilih snapshot manual yang ingin Anda bagikan.

  4. Di menu tar ik- turun Tindakan, pilih Bagikan.

  5. Pilih salah satu opsi berikut untuk visibilitas snapshot DB:

    • Jika sumbernya tidak dienkripsi, pilih Publik untuk mengi AWS zinkan semua akun memulihkan cluster dari snapshot manual Anda. Atau pilih Pribadi untuk mengiz AWS inkan hanya akun yang Anda tentukan untuk memulihkan cluster dari snapshot manual Anda.

      Awas

      Jika Anda mengatur visibilitas snapshot DB ke Pu blik, semua AWS akun dapat memulihkan cluster dari snapshot manual Anda dan memiliki akses ke data Anda. Jangan bagikan snapshot cluster manual apa pun yang berisi informasi pribadi sebagai Pu blik.

    • Jika sumbernya dienkripsi, Visibilitas snapshot DB ditetapkan sebagai Privat karena snapshot terenkripsi tidak dapat dibagikan sebagai publik.

      catatan

      Snapshot yang telah dienkripsi dengan default tidak AWS KMS key dapat dibagikan.

  6. Untuk ID AWS Akun, masukkan pen AWS gidentifikasi akun untuk akun yang ingin Anda izinkan untuk memulihkan cluster dari snapshot manual Anda, lalu pilih Tam bah. Ulangi untuk menyertakan AWS pengidentifikasi akun tambahan, hingga 20 AWS akun.

    Jika Anda membuat kesalahan saat menambahkan pengi AWS dentifikasi akun ke daftar akun yang diizinkan, Anda dapat menghapusnya dari daftar dengan memilih H apus di sebelah kanan pengidentifikasi AWS akun yang salah.

    Diagram: berbagi preferensi snapshot
  7. Setelah menambahkan pengidentifikasi untuk semua AWS akun yang ingin Anda izinkan untuk memulihkan snapshot manual, pilih S impan untuk menyimpan perubahan Anda.

Using the AWS CLI

Untuk berbagi snapshot menggunakan AWS CLI, gunakan modify-db-snapshot-attribute operasi Amazon DocumentDB. Gunakan --values-to-add parameter untuk menambahkan daftar ID untuk Akun AWS yang diotorisasi untuk memulihkan snapshot manual.

Contoh berikut mengizinkan dua pengenal, Akun AWS 123451234512 dan 123456789012, untuk memulihkan snapshot bernama. manual-snapshot1 Itu juga menghapus nilai atribut all untuk menandai snapshot sebagai privat.

Untuk Linux, macOS, atau Unix:

aws docdb modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier sample-cluster-snapshot \ --attribute-name restore \ --values-to-add '["123451234512","123456789012"]'

Untuk Windows:

aws docdb modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier sample-cluster-snapshot ^ --attribute-name restore ^ --values-to-add '["123451234512","123456789012"]'

Output dari operasi ini terlihat seperti berikut.

{ "DBClusterSnapshotAttributesResult": { "DBClusterSnapshotIdentifier": "sample-cluster-snapshot", "DBClusterSnapshotAttributes": [ { "AttributeName": "restore", "AttributeValues": [ "123451234512", "123456789012" ] } ] } }

Untuk menghapus pen Akun AWS gidentifikasi dari daftar, gunakan --values-to-remove parameter. Contoh berikut mencegah Akun AWS ID 123456789012 memulihkan snapshot.

Untuk Linux, macOS, atau Unix:

aws docdb modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier sample-cluster-snapshot \ --attribute-name restore \ --values-to-remove '["123456789012"]'

Untuk Windows:

aws docdb modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier sample-cluster-snapshot ^ --attribute-name restore ^ --values-to-remove '["123456789012"]'

Output dari operasi ini terlihat seperti berikut.

{ "DBClusterSnapshotAttributesResult": { "DBClusterSnapshotIdentifier": "sample-cluster-snapshot", "DBClusterSnapshotAttributes": [ { "AttributeName": "restore", "AttributeValues": [ "123451234512" ] } ] } }