Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Enkripsi saat istirahat untuk OpenTelemetry metrik
Apa itu CloudWatch Dataset
OpenTelemetry Metrik (OTel) yang Anda kirim ke Amazon CloudWatch disimpan dalam sumber daya yang disebut Dataset. Setiap Akun AWS memiliki default kumpulan data di setiap Wilayah tempat semua metrik OTel berada. defaultDataset adalah satu-satunya kumpulan data yang didukung - Anda tidak dapat membuat kumpulan data tambahan.
Dataset dapat dienkripsi dan ditandai seperti sumber daya lainnya. AWS Dataset ARN memiliki format berikut:
arn:{partition}:cloudwatch:{region}:{account-id}:dataset/default
Untuk melihat konfigurasi enkripsi set data Anda saat ini, gunakan GetDataset API:
aws cloudwatch get-dataset \ --dataset-identifier default
Jika kunci yang dikelola pelanggan dikaitkan dengan kumpulan data, responsnya mencakup ARN kunci. Jika tidak ada kunci terkelola pelanggan yang terkait, kumpulan data dienkripsi dengan kunci yang AWS dimiliki.
Opsi untuk enkripsi saat istirahat
CloudWatch selalu mengenkripsi data Dataset saat istirahat. Secara default, CloudWatch mengenkripsi semua data saat istirahat menggunakan kunci yang AWS dimiliki. Anda tidak perlu mengambil tindakan apa pun untuk melindungi data Anda menggunakan kunci AWS yang dimiliki. Untuk informasi selengkapnya, lihat kunci yang AWS dimiliki di Panduan AWS Key Management Service Pengembang.
Jika Anda ingin mengelola kunci yang digunakan untuk mengenkripsi data Dataset Anda, Anda dapat menggunakan kunci yang dikelola pelanggan di AWS Key Management Service ()AWS KMS. Untuk informasi selengkapnya, lihat Kunci terkelola pelanggan di Panduan AWS Key Management Service Pengembang.
Saat Anda menggunakan kunci yang dikelola pelanggan, AWS KMS dikenakan biaya. Untuk informasi selengkapnya tentang harga, silakan lihat harga AWS Key Management Service
Cara CloudWatch menggunakan kunci yang dikelola pelanggan untuk enkripsi Dataset
penting
Enkripsi kunci terkelola pelanggan berlaku untuk default kumpulan data. defaultDataset adalah satu-satunya kumpulan data yang didukung - Anda tidak dapat membuat kumpulan data tambahan.
Saat Anda mengaitkan kunci terkelola pelanggan dengan default kumpulan data, CloudWatch gunakan kunci untuk mengenkripsi semua data metrik OTel yang disimpan dalam kumpulan data tersebut.
CloudWatch menggunakan service principal (cloudwatch.amazonaws.com) secara langsung dengan izin kebijakan utama. CloudWatch tidak menggunakan hibah atau peran IAM untuk mengakses kunci Anda AWS KMS
.
CloudWatch tidak menyimpan kunci data cache. Namun, CloudWatch cache kms:Decrypt respons hingga 15 menit. Perubahan pada kebijakan utama mungkin membutuhkan waktu hingga 15 menit untuk diterapkan.
CloudWatch menggunakan konteks enkripsi berikut untuk semua operasi AWS KMS kriptografi:
-
Kunci:
aws:cloudwatch:arn -
Nilai:
arn:{partition}:cloudwatch:{region}:{account-id}:dataset/default
Mengonfigurasi kunci terkelola pelanggan untuk Dataset
AWS KMS Kunci yang Anda gunakan dengan CloudWatch Dataset harus memenuhi persyaratan berikut:
-
Kunci harus berupa kunci enkripsi simetris (SYMMETRIC_DEFAULT) dengan penggunaan kunci ENCRYPT_DECRYPT. Tombol asimetris tidak didukung.
-
Multi-Region kunci tidak didukung.
-
Kuncinya harus Wilayah AWS sama dengan Dataset.
-
Anda harus menentukan kunci sebagai ARN kunci yang sepenuhnya memenuhi syarat. Alias kunci dan ID kunci tidak didukung.
Mengkonfigurasi izin kebijakan utama
Untuk menggunakan kunci yang dikelola pelanggan dengan CloudWatch Dataset, kebijakan kunci harus memberikan CloudWatch izin untuk menggunakan kunci tersebut. Contoh kebijakan kunci berikut memberikan izin CloudWatch yang diperlukan dan mencakup perlindungan wakil yang membingungkan.
Penelepon yang mengaitkan atau menggunakan Dataset harus memiliki kms:Decrypt izin, tercakup pada konteks CloudWatch ViaService dan enkripsi seperti yang ditunjukkan dalam pernyataan di bawah ini. AllowCallerDecrypt Ganti YourApplicationRole dengan peran IAM yang digunakan untuk memanggil CloudWatch Dataset API.
contoh Kebijakan utama untuk enkripsi CloudWatch Dataset
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudWatchDatasetDescribeKey", "Effect": "Allow", "Principal": { "Service": "cloudwatch.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:cloudwatch:region:account-id:dataset/default" } } }, { "Sid": "AllowCloudWatchDatasetEncryption", "Effect": "Allow", "Principal": { "Service": "cloudwatch.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id", "kms:EncryptionContext:aws:cloudwatch:arn": "arn:aws:cloudwatch:region:account-id:dataset/default" }, "ArnLike": { "aws:SourceArn": "arn:aws:cloudwatch:region:account-id:dataset/default" } } }, { "Sid": "AllowCallerDecrypt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/YourApplicationRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cloudwatch.region.amazonaws.com", "kms:EncryptionContext:aws:cloudwatch:arn": "arn:aws:cloudwatch:region:account-id:dataset/default" } } } ] }
Ganti account-id dan region dengan nilai-nilai Anda sendiri.
Untuk informasi selengkapnya tentang kebijakan utama, lihat Kebijakan utama AWS KMS di Panduan AWS Key Management Service Pengembang.
Untuk mengaitkan kunci yang dikelola pelanggan dengan Dataset
Gunakan AssociateDatasetKmsKey API untuk mengaitkan kunci yang dikelola pelanggan dengan Dataset. Anda harus menentukan default sebagai pengidentifikasi dataset.
Untuk mengaitkan kunci yang dikelola pelanggan dengan menggunakan AWS CLI, jalankan perintah berikut:
aws cloudwatch associate-dataset-kms-key \ --dataset-name default \ --kms-key-arn arn:aws:kms:region:account-id:key/key-id
Mengubah atau menghapus konfigurasi enkripsi
Anda dapat mengubah atau menghapus kunci terkelola pelanggan yang mengenkripsi data Dataset Anda.
Untuk mengubah kunci yang dikelola pelanggan
Untuk mengganti kunci yang dikelola pelanggan, hubungi AssociateDatasetKmsKey lagi dengan ARN kunci baru. Penelepon harus memiliki kms:Decrypt izin pada kunci saat ini dan kunci baru. CloudWatch mulai menggunakan kunci baru untuk operasi enkripsi berikutnya.
Untuk menghapus kunci yang dikelola pelanggan
Untuk menghapus kunci yang dikelola pelanggan dan kembali ke enkripsi kunci yang AWS dimiliki, hubungiDisassociateDatasetKmsKey. Penelepon harus memiliki kms:Decrypt izin pada kunci yang saat ini terkait.
aws cloudwatch disassociate-dataset-kms-key \ --dataset-name default
penting
Setelah Anda memisahkan kunci yang dikelola pelanggan, ada jendela penegakan 3 jam yang CloudWatch masih memerlukan kms:Decrypt izin pada kunci yang terkait sebelumnya. Jangan menonaktifkan atau menghapus kunci selama jendela ini.
Jika kunci Anda dalam status dinonaktifkan, Anda harus mengaktifkan kembali kunci sebelum Anda dapat memisahkannya dari Dataset.
Mencakup akses kebijakan kunci
Anda dapat menggunakan ketentuan dalam kebijakan utama untuk membatasi akses ke AWS KMS kunci Anda.
- Kondisi konteks enkripsi
-
Gunakan tombol
kms:EncryptionContext:aws:cloudwatch:arnkondisi untuk membatasi penggunaan kunci kedefaultDataset Anda."Condition": { "StringEquals": { "kms:EncryptionContext:aws:cloudwatch:arn": "arn:aws:cloudwatch:region:account-id:dataset/default" } } - Perlindungan wakil yang bingung
-
Gunakan
aws:SourceArndanaws:SourceAccountkondisi untuk mencegah serangan wakil yang membingungkan lintas akun."Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:cloudwatch:region:account-id:dataset/default" } } - kms: kondisi ViaService
-
Gunakan tombol
kms:ViaServicekondisi untuk membatasi penggunaan kunci pada permintaan yang berasal CloudWatch."Condition": { "StringEquals": { "kms:ViaService": "cloudwatch.region.amazonaws.com" } }
Memantau CloudWatch interaksi dengan AWS KMS
Anda dapat menggunakan AWS CloudTrail untuk melacak permintaan yang CloudWatch dikirim AWS KMS atas nama Anda. Entri AWS CloudTrail log menggunakan prinsip layanan cloudwatch.amazonaws.com dan ViaService nilai. cloudwatch.{region}.amazonaws.com
Nama CloudTrail peristiwa berikut muncul di entri log untuk operasi enkripsi CloudWatch Dataset:
GenerateDataKeyEncryptDecryptDescribeKeyReEncrypt
Setiap entri log menyertakan konteks enkripsi, yang dapat Anda gunakan untuk mengidentifikasi Dataset spesifik yang diterapkan operasi.
Untuk informasi selengkapnya tentang pemantauan penggunaan AWS KMS kunci, lihat Pemantauan AWS Key Management Service di Panduan AWS Key Management Service Pengembang.