Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mencadangkan dan memulihkan sertifikat TDE pada RDS for SQL Server
RDS for SQL Server menyediakan prosedur tersimpan untuk mencadangkan, memulihkan, dan menghapus sertifikat TDE. RDS for SQL Server juga menyediakan fungsi untuk melihat sertifikat TDE pengguna yang dipulihkan.
Sertifikat TDE pengguna digunakan untuk memulihkan basis data ke RDS for SQL Server yang on-premise dan TDE-nya diaktifkan. Sertifikat ini memiliki awalan UserTDECertificate_
. Setelah memulihkan basis data, dan sebelum membuatnya tersedia untuk digunakan, RDS menyesuaikan basis data yang TDE-nya diaktifkan untuk menggunakan sertifikat TDE yang dihasilkan RDS. Sertifikat ini memiliki awalan RDSTDECertificate
.
Sertifikat TDE pengguna tetap berada di instans DB RDS for SQL Server, kecuali jika Anda menghapusnya menggunakan prosedur tersimpan rds_drop_tde_certificate
. Untuk informasi selengkapnya, lihat Menghapus sertifikat TDE yang dipulihkan.
Anda dapat menggunakan sertifikat TDE pengguna untuk memulihkan basis data lain dari instans DB sumber. Basis data untuk memulihkan harus menggunakan sertifikat TDE yang sama dan TDE-nya diaktifkan. Anda tidak perlu mengimpor (memulihkan) sertifikat yang sama lagi.
Topik
Prasyarat
Sebelum Anda dapat mencadangkan atau memulihkan sertifikat TDE pada RDS for SQL Server, pastikan untuk melakukan tugas-tugas berikut. Tiga yang pertama dijelaskan dalam Menyiapkan pencadangan dan pemulihan native.
-
Buat bucket Amazon S3 untuk menyimpan file yang akan dicadangkan dan dipulihkan.
Sebaiknya Anda menggunakan bucket terpisah untuk pencadangan basis data dan untuk pencadangan sertifikat TDE.
-
Buat peran IAM untuk mencadangkan dan memulihkan file.
Peran IAM harus berupa pengguna dan administrator untuk AWS KMS key.
Selain izin yang diperlukan untuk pencadangan dan pemulihan asli SQL Server, peran IAM juga memerlukan izin berikut:
-
s3:GetBucketAcl
,s3:GetBucketLocation
, dans3:ListBucket
pada sumber daya bucket S3 -
s3:ListAllMyBuckets
di sumber daya*
-
-
Tambahkan opsi
SQLSERVER_BACKUP_RESTORE
ke grup opsi di instans DB Anda.Ini merupakan tambahan dari opsi
TRANSPARENT_DATA_ENCRYPTION
(TDE
). -
Pastikan Anda memiliki kunci KMS enkripsi simetris. Anda memiliki opsi berikut:
-
Anda dapat menggunakan kunci KMS yang sudah ada di akun Anda. Tidak ada tindakan lebih lanjut yang diperlukan.
-
Jika Anda tidak memiliki kunci KMS enkripsi simetris yang ada di akun Anda, buat kunci KMS dengan mengikuti petunjuk di Membuat kunci di Panduan Developer AWS Key Management Service .
-
-
Aktifkan integrasi Amazon S3 untuk mentransfer file antara instans DB dan Amazon S3.
Untuk informasi selengkapnya tentang mengaktifkan integrasi Amazon S3, lihat. Mengintegrasikan instans Amazon RDS untuk SQL Server DB dengan Amazon S3
Batasan
Penggunaan prosedur tersimpan untuk mencadangkan dan memulihkan sertifikat TDE memiliki batasan sebagai berikut:
-
Opsi
SQLSERVER_BACKUP_RESTORE
danTRANSPARENT_DATA_ENCRYPTION
(TDE
) harus ditambahkan ke grup opsi yang Anda kaitkan dengan instans DB. -
Pencadangan dan pemulihan sertifikat TDE tidak didukung pada instans DB Multi-AZ.
-
Membatalkan pencadangan dan pemulihan sertifikat TDE tidak didukung.
-
Anda tidak dapat menggunakan sertifikat TDE pengguna untuk enkripsi TDE basis data lain di instans DB RDS for SQL Server Anda. Anda dapat menggunakannya hanya untuk memulihkan basis data lain dari instans DB sumber yang TDE-nya diaktifkan dan yang menggunakan sertifikat TDE yang sama.
-
Anda hanya dapat menghapus sertifikat TDE pengguna.
-
Jumlah maksimum sertifikat TDE pengguna yang didukung pada RDS adalah 10. Jika jumlahnya melebihi 10, hapus sertifikat TDE yang tidak digunakan dan coba lagi.
-
Nama sertifikat harus diisi dan tidak boleh kosong.
-
Saat memulihkan sertifikat, nama sertifikat tidak dapat menyertakan kata kunci
RDSTDECERTIFICATE
, dan harus dimulai dengan awalanUserTDECertificate_
. -
Parameter
@certificate_name
hanya dapat menyertakan karakter berikut: a-z, 0-9, @, $, #, dan garis bawah (_). -
Ekstensi file untuk
@certificate_file_s3_arn
harus .cer (peka huruf besar kecil). -
Ekstensi file untuk
@private_key_file_s3_arn
harus .pvk (peka huruf besar kecil). -
Metadata S3 untuk file kunci privat harus menyertakan tag
x-amz-meta-rds-tde-pwd
. Untuk informasi selengkapnya, lihat Mencadangkan dan memulihkan TDE sertifikat untuk database lokal.
Mencadangkan sertifikat TDE
Untuk mencadangkan sertifikat TDE, gunakan prosedur tersimpan rds_backup_tde_certificate
. Ini memiliki sintaks berikut.
EXECUTE msdb.dbo.rds_backup_tde_certificate @certificate_name='UserTDECertificate_
certificate_name
| RDSTDECertificatetimestamp
', @certificate_file_s3_arn='arn:aws:s3:::bucket_name
/certificate_file_name.cer
', @private_key_file_s3_arn='arn:aws:s3:::bucket_name
/key_file_name.pvk
', @kms_password_key_arn='arn:aws:kms:region
:account-id
:key/key-id
', [@overwrite_s3_files=0|1
];
Parameter berikut diperlukan:
-
@certificate_name
– Nama sertifikat TDE yang akan dicadangkan. -
@certificate_file_s3_arn
– Amazon Resource Name (ARN) tujuan untuk file cadangan sertifikat di Amazon S3. -
@private_key_file_s3_arn
– S3 ARN tujuan file kunci privat yang mengamankan sertifikat TDE. -
@kms_password_key_arn
– ARN kunci KMS simetris yang digunakan untuk mengenkripsi kata sandi kunci privat.
Parameter berikut bersifat opsional:
-
@overwrite_s3_files
– Menunjukkan apakah akan menimpa file kunci privat dan sertifikat yang ada di S3:-
0
– Tidak menimpa file yang ada. Nilai ini adalah default.Mengatur
@overwrite_s3_files
ke 0 akan menghasilkan kesalahan jika file sudah ada. -
1
– Menimpa file yang sudah ada dengan nama yang ditentukan, meskipun itu bukan file cadangan.
-
contoh pencadangan sertifikat TDE
EXECUTE msdb.dbo.rds_backup_tde_certificate @certificate_name='RDSTDECertificate20211115T185333', @certificate_file_s3_arn='arn:aws:s3:::
TDE_certs
/mycertfile.cer
', @private_key_file_s3_arn='arn:aws:s3:::TDE_certs
/mykeyfile.pvk
', @kms_password_key_arn='arn:aws:kms:us-west-2
:123456789012
:key/AKIAIOSFODNN7EXAMPLE
', @overwrite_s3_files=1
;
Memulihkan sertifikat TDE
Anda dapat menggunakan prosedur tersimpan rds_restore_tde_certificate
untuk memulihkan (mengimpor) sertifikat TDE pengguna. Ini memiliki sintaks berikut.
EXECUTE msdb.dbo.rds_restore_tde_certificate @certificate_name='UserTDECertificate_
certificate_name
', @certificate_file_s3_arn='arn:aws:s3:::bucket_name
/certificate_file_name.cer
', @private_key_file_s3_arn='arn:aws:s3:::bucket_name
/key_file_name.pvk
', @kms_password_key_arn='arn:aws:kms:region
:account-id
:key/key-id
';
Parameter berikut diperlukan:
-
@certificate_name
– Nama sertifikat TDE yang akan dipulihkan. Nama harus dimulai dengan awalanUserTDECertificate_
. -
@certificate_file_s3_arn
– S3 ARN file cadangan yang digunakan untuk memulihkan sertifikat TDE. -
@private_key_file_s3_arn
– S3 ARN file cadangan kunci privat untuk sertifikat TDE yang akan dipulihkan. -
@kms_password_key_arn
– ARN kunci KMS simetris yang digunakan untuk mengenkripsi kata sandi kunci privat.
contoh pemulihan sertifikat TDE
EXECUTE msdb.dbo.rds_restore_tde_certificate @certificate_name='UserTDECertificate_
myTDEcertificate
', @certificate_file_s3_arn='arn:aws:s3:::TDE_certs
/mycertfile.cer
', @private_key_file_s3_arn='arn:aws:s3:::TDE_certs
/mykeyfile.pvk
', @kms_password_key_arn='arn:aws:kms:us-west-2
:123456789012
:key/AKIAIOSFODNN7EXAMPLE
';
Melihat sertifikat TDE yang dipulihkan
Anda dapat menggunakan fungsi rds_fn_list_user_tde_certificates
untuk melihat sertifikat TDE pengguna yang dipulihkan (diimpor). Ini memiliki sintaks berikut.
SELECT * FROM msdb.dbo.rds_fn_list_user_tde_certificates();
Output-nya seperti berikut. Tidak semua kolom ditampilkan di sini.
name |
certificate_id |
principal_id |
pvt_key_encryption_type_desc |
issuer_name |
cert_serial_number |
thumbprint |
subject |
start_date |
expiry_date |
pvt_key_last_backup_date |
UserTDECertificate_tde_cert |
343 |
1 |
ENCRYPTED_BY_MASTER_KEY |
AnyCompany Shipping |
79 3e 57 a3 69 fd 1d 9e 47 2c 32 67 1d 9c ca af |
0x6BB218B34110388680B FE1BA2D86C695096485B5 |
AnyCompany Shipping |
2022-04-05 19:49:45.0000000 |
2023-04-05 19:49:45.0000000 |
NULL |
Menghapus sertifikat TDE yang dipulihkan
Untuk menghapus sertifikat TDE pengguna yang dipulihkan (diimpor) yang tidak Anda gunakan, gunakan prosedur tersimpan rds_drop_tde_certificate
. Ini memiliki sintaks berikut.
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_
certificate_name
';
Parameter berikut diperlukan:
-
@certificate_name
– Nama sertifikat TDE yang akan dihapus.
Anda hanya dapat menghapus sertifikat TDE yang dipulihkan (diimpor). Anda tidak dapat menghapus sertifikat yang dihasilkan RDS.
contoh penghapusan sertifikat TDE
EXECUTE msdb.dbo.rds_drop_tde_certificate @certificate_name='UserTDECertificate_
myTDEcertificate
';