

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
<a name="cmk-encryption"></a>

## Apa itu CloudWatch Dataset
<a name="cmk-encryption-dataset-overview"></a>

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. `default`Dataset 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
<a name="cmk-encryption-options"></a>

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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) 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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) 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](https://aws.amazon.com/kms/pricing/).

## Cara CloudWatch menggunakan kunci yang dikelola pelanggan untuk enkripsi Dataset
<a name="cmk-encryption-how-it-works"></a>

**penting**  
Enkripsi kunci terkelola pelanggan berlaku untuk `default` kumpulan data. `default`Dataset 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
<a name="cmk-encryption-key-requirements"></a>

 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
<a name="cmk-encryption-permissions"></a>

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.

**Example 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](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) Panduan AWS Key Management Service Pengembang.

## Untuk mengaitkan kunci yang dikelola pelanggan dengan Dataset
<a name="cmk-encryption-associate"></a>

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
<a name="cmk-encryption-change-disassociate"></a>

Anda dapat mengubah atau menghapus kunci terkelola pelanggan yang mengenkripsi data Dataset Anda.

### Untuk mengubah kunci yang dikelola pelanggan
<a name="cmk-encryption-change-key"></a>

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
<a name="cmk-encryption-disassociate"></a>

Untuk menghapus kunci yang dikelola pelanggan dan kembali ke enkripsi kunci yang AWS dimiliki, hubungi`DisassociateDatasetKmsKey`. 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
<a name="cmk-encryption-scoping-access"></a>

Anda dapat menggunakan ketentuan dalam kebijakan utama untuk membatasi akses ke AWS KMS kunci Anda.

Kondisi konteks enkripsi  
Gunakan tombol `kms:EncryptionContext:aws:cloudwatch:arn` kondisi untuk membatasi penggunaan kunci ke `default` Dataset Anda.  

```
"Condition": {
    "StringEquals": {
        "kms:EncryptionContext:aws:cloudwatch:arn": "arn:aws:cloudwatch:{{region}}:{{account-id}}:dataset/default"
    }
}
```

Perlindungan wakil yang bingung  
Gunakan `aws:SourceArn` dan `aws:SourceAccount` kondisi 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:ViaService` kondisi untuk membatasi penggunaan kunci pada permintaan yang berasal CloudWatch.  

```
"Condition": {
    "StringEquals": {
        "kms:ViaService": "cloudwatch.{{region}}.amazonaws.com"
    }
}
```

## Memantau CloudWatch interaksi dengan AWS KMS
<a name="cmk-encryption-monitoring"></a>

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:
+ `GenerateDataKey`
+ `Encrypt`
+ `Decrypt`
+ `DescribeKey`
+ `ReEncrypt`

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](https://docs.aws.amazon.com/kms/latest/developerguide/monitoring-overview.html) di Panduan AWS Key Management Service Pengembang.