

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

# Manajemen kunci di Amazon Managed Service untuk Apache Flink
<a name="key-management-flink"></a>

Di Amazon MSF, Anda dapat memilih untuk menggunakan salah satu [Kunci yang dikelola AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)atau [kunci terkelola pelanggan Anda sendiri (CMKs)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key) untuk mengenkripsi data. CMKs in AWS Key Management Service (AWS KMS) adalah kunci enkripsi yang Anda buat, miliki, dan kelola sendiri.

**Topics**
+ [Enkripsi transparan di Amazon MSF](#transparent-encryption-flink)
+ [Kunci yang dikelola pelanggan di Amazon MSF](#cmk-flink)
+ [Menggunakan kunci yang dikelola pelanggan di Amazon MSF](use-cmk-flink.md)
+ [Mengelola CMK menggunakan Konsol Manajemen AWS](manage-cmk-console.md)
+ [Mengelola CMK menggunakan APIs](manage-cmk-api.md)

## Enkripsi transparan di Amazon MSF
<a name="transparent-encryption-flink"></a>

Secara default, Amazon MSF menggunakan Kunci milik AWS (AOKs) untuk mengenkripsi data Anda dalam penyimpanan sementara (menjalankan penyimpanan aplikasi) dan penyimpanan tahan lama (penyimpanan aplikasi tahan lama). Ini berarti semua data yang tunduk pada [pos pemeriksaan](how-fault.md) atau [snapshot](how-snapshots.md) Flink akan dienkripsi secara default. AOKs adalah metode enkripsi default di Amazon MSF dan tidak diperlukan pengaturan tambahan. Untuk mengenkripsi data dalam perjalanan, Amazon MSF menggunakan TLS dan HTTP\$1SSL secara default dan tidak memerlukan pengaturan atau konfigurasi tambahan.

## Kunci yang dikelola pelanggan di Amazon MSF
<a name="cmk-flink"></a>

Di Amazon MSF, CMK adalah fitur di mana Anda dapat mengenkripsi data aplikasi Anda dengan kunci yang Anda buat, miliki, dan kelola. AWS KMS

**Topics**
+ [Dengan apa dienkripsi? CMKs](#what-is-encrypted-cmk)
+ [Apa yang tidak dienkripsi? CMKs](#what-is-not-encrypted-cmk)
+ [Jenis kunci KMS yang didukung](#supported-kms-key-types)
+ [Izin kunci KMS](#kms-key-permissions)
+ [Konteks dan kendala enkripsi KMS](#kms-encryption-context-constraints)
+ [Kebijakan rotasi kunci](#kms-key-rotation-policy)
+ [Pernyataan kebijakan kunci yang paling tidak memiliki hak istimewa](#kms-least-privilege-policy-examples)
+ [Contoh entri AWS CloudTrail log](#kms-cloudtrail-log-entries)

### Dengan apa dienkripsi? CMKs
<a name="what-is-encrypted-cmk"></a>

Dalam aplikasi Amazon MSF, data yang tunduk pada pos pemeriksaan Flink atau snapshot akan dienkripsi dengan CMK yang Anda tentukan untuk aplikasi itu. Secara singkat, CMK Anda akan mengenkripsi data yang disimpan baik dalam penyimpanan aplikasi yang sedang berjalan atau penyimpanan aplikasi yang tahan lama. [Bagian berikut](manage-cmk-api.md) menjelaskan prosedur CMKs untuk mengatur aplikasi Amazon MSF Anda.

**Kebijakan rotasi kunci**  
Amazon MSF tidak mengelola kebijakan rotasi kunci untuk Anda CMKs. Anda bertanggung jawab atas rotasi kunci Anda sendiri. Ini karena Anda membuat dan memelihara CMKs. Untuk informasi tentang cara menggunakan kebijakan rotasi kunci Anda dengan CMK di Amazon MSF, lihat. [Kebijakan rotasi kunci](#kms-key-rotation-policy)

### Apa yang tidak dienkripsi? CMKs
<a name="what-is-not-encrypted-cmk"></a>

**Sumber dan wastafel**  
Enkripsi sumber data dan sink tidak dikelola oleh Amazon MSF. Ini dikelola oleh konfigurasi sumber atau sink Anda atau konfigurasi konektor aplikasi.

**Aplikasi enkripsi retroaktif**  
CMK di Amazon MSF tidak memberikan dukungan untuk berlaku surut ke snapshot CMKs historis yang ada.

**Enkripsi log**  
Saat ini, Amazon MSF tidak mendukung enkripsi log menggunakan KMS CMK untuk log yang dihasilkan oleh jar kode aplikasi Anda. Anda harus memastikan log tidak berisi data yang memerlukan enkripsi CMK.

**Mengenkripsi data saat transit**  
Anda tidak dapat menggunakan CMK untuk mengenkripsi data dalam perjalanan. Secara default, Amazon MSF mengenkripsi semua data dalam perjalanan menggunakan TLS atau HTTP dan SSL.

### Jenis kunci KMS yang didukung
<a name="supported-kms-key-types"></a>

CMK di Amazon MSF mendukung kunci [simetris](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks).

### Izin kunci KMS
<a name="kms-key-permissions"></a>

CMK di Amazon MSF memerlukan izin untuk melakukan tindakan KMS berikut. Izin ini diperlukan untuk memvalidasi akses, membuat penyimpanan aplikasi berjalan terenkripsi CMK, dan menyimpan status aplikasi terenkripsi CMK dalam penyimpanan aplikasi yang tahan lama.
+ 

**[km: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)**  
Memberikan izin untuk menyelesaikan alias kunci KMS ke ARN kunci.
+ 

**[kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)**  
Memberikan izin untuk mengakses status aplikasi yang tahan lama dan penyediaan yang menjalankan penyimpanan aplikasi.
+ 

**[km: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)**  
Memberikan izin untuk menyimpan status aplikasi yang tahan lama.
+ 

**[km: GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)**  
Memberikan izin untuk menyediakan penyimpanan aplikasi yang berjalan.
+ 

**[km: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)**  
Memberikan izin untuk mengakses penyimpanan aplikasi yang sedang berjalan.

### Konteks dan kendala enkripsi KMS
<a name="kms-encryption-context-constraints"></a>

CMK di Amazon MSF menyediakan konteks enkripsi saat mengakses kunci untuk membaca atau menulis data terenkripsi, yaitu,. `kms:EncryptionContext:aws:kinesisanalytics:arn` Selain konteks enkripsi, konteks sumber [aws: SourceArn dan [aws: SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) disediakan saat membaca atau menulis penyimpanan aplikasi yang tahan lama.

[Saat membuat hibah untuk penyediaan penyimpanan aplikasi yang berjalan terenkripsi, Amazon MSF CMK membuat hibah dengan tipe kendala yang [EncryptionContextSubset](https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-constraints)memastikan bahwa hanya operasi Dekripsi yang diizinkan.](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) `"kms:GrantOperations": "Decrypt"`

### Kebijakan rotasi kunci
<a name="kms-key-rotation-policy"></a>

Amazon MSF tidak mengelola kebijakan rotasi kunci untuk Anda CMKs. Anda bertanggung jawab atas rotasi kunci Anda sendiri karena Anda membuat dan memelihara CMKs.

Di KMS Anda menggunakan rotasi kunci otomatis atau manual untuk membuat materi kriptografi baru untuk Anda. CMKs Untuk informasi tentang cara memutar kunci, lihat [Memutar AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) di *Panduan AWS Key Management Service Pengembang*.

Saat Anda memutar kunci CMKs di Amazon MSF, Anda harus memastikan bahwa operator (pemanggil API) memiliki izin untuk kunci sebelumnya dan baru.

**catatan**  
Aplikasi dapat dimulai dari snapshot yang dienkripsi dengan AOK setelah dikonfigurasi untuk menggunakan CMK. Aplikasi juga dapat dimulai dari snapshot yang dienkripsi dengan CMK yang lebih lama. Untuk memulai aplikasi dari snapshot, operator (pemanggil API) harus memiliki izin untuk kunci lama dan baru.

Di Amazon MSF, kami menyarankan Anda menghentikan dan memulai ulang aplikasi Anda menggunakan enkripsi CMK. Ini memastikan kunci master rotasi baru diterapkan ke semua data dalam menjalankan penyimpanan aplikasi dan penyimpanan aplikasi yang tahan lama. Jika Anda tidak berhenti dan memulai ulang aplikasi Anda, materi kunci baru hanya akan diterapkan pada penyimpanan aplikasi yang tahan lama. Menjalankan penyimpanan aplikasi akan terus dienkripsi menggunakan bahan kunci rotasi sebelumnya.

Jika Anda mengubah AWS KMS key ARN yang digunakan untuk CMK, Anda harus menggunakan di [UpdateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html)Amazon MSF. Ini akan memastikan aplikasi Flink Anda akan restart sebagai bagian dari `UpdateApplication` penerapan perubahan CMK.

**catatan**  
Saat Anda memberikan alias atau alias ARN, Amazon MSF menyelesaikan alias ke ARN kunci dan menyimpan ARN kunci sebagai kunci yang dikonfigurasi untuk aplikasi.

### Pernyataan kebijakan kunci yang paling tidak memiliki hak istimewa
<a name="kms-least-privilege-policy-examples"></a>

Untuk informasi tentang pernyataan kebijakan utama, lihat [Buat kebijakan kunci KMS](manage-cmk-api.md#create-cmk-kms-key-policy) dan[Izin operator siklus hidup aplikasi (pemanggil API)](manage-cmk-api.md#create-cmk-kms-api-caller-permissions).

### Contoh entri AWS CloudTrail log
<a name="kms-cloudtrail-log-entries"></a>

Saat Amazon MSF menggunakannya AWS KMS, CMKs secara AWS CloudTrail otomatis mencatat semua panggilan AWS KMS API dan detail terkait. Log ini berisi informasi, seperti Layanan AWS membuat permintaan, ARN kunci KMS, tindakan API yang dilakukan, dan cap waktu yang tidak termasuk data terenkripsi. Log ini menyediakan jejak audit penting untuk kepatuhan, pemantauan keamanan, dan pemecahan masalah dengan menunjukkan layanan mana yang mengakses kunci Anda dan kapan.

**Contoh 1: AWS KMS Dekripsi panggilan API menggunakan peran yang diasumsikan di Amazon MSF**  
 CloudTrail Log berikut menunjukkan Amazon MSF melakukan pengujian [KMS: Dekripsi operasi pada CMK](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html). Amazon MSF membuat permintaan ini menggunakan **Operator** peran saat menggunakan [CreateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html)API. Log berikut mencakup detail penting, seperti ARN kunci KMS target, aplikasi MSF Amazon terkait *MyCmkApplication* (), dan stempel waktu operasi.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "REDACTED",
        "arn": "arn:aws:sts::123456789012:assumed-role/Operator/CmkTestingSession",
        "accountId": "123456789012",
        "accessKeyId": "REDACTED",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "REDACTED",
                "arn": "arn:aws:iam::123456789012:role/Operator",
                "accountId": "123456789012",
                "userName": "Operator"
            },
            "attributes": {
                "creationDate": "2025-08-07T13:29:28Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "kinesisanalytics.amazonaws.com"
    },
    "eventTime": "2025-08-07T13:45:45Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "kinesisanalytics.amazonaws.com",
    "userAgent": "kinesisanalytics.amazonaws.com",
    "errorCode": "DryRunOperationException",
    "errorMessage": "The request would have succeeded, but the DryRun option is set.",
    "requestParameters": {
        "encryptionContext": {
            "aws:kinesisanalytics:arn": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/MyCmkApplication"
        },
        "keyId": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "dryRun": true
    },
    "responseElements": null,
    "additionalEventData": {
        "keyMaterialId": "REDACTED"
    },
    "requestID": "56764d19-1eb1-48f1-8044-594aa7dd05c4",
    "eventID": "1371b402-f1dc-4c47-8f3a-1004e4803c5a",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123456789012",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

**Contoh 2: AWS KMS Dekripsi panggilan API di Amazon MSF dengan otentikasi layanan langsung**  
 CloudTrail Log berikut menunjukkan Amazon MSF melakukan pengujian [KMS: Dekripsi operasi pada CMK](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html). Amazon MSF membuat permintaan ini melalui AWS service-to-service otentikasi langsung alih-alih mengambil peran. Log berikut mencakup detail penting, seperti ARN kunci KMS target, aplikasi MSF Amazon terkait *MyCmkApplication* (), dan ID peristiwa bersama operasi.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "kinesisanalytics.amazonaws.com"
    },
    "eventTime": "2025-08-07T13:45:45Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "kinesisanalytics.amazonaws.com",
    "userAgent": "kinesisanalytics.amazonaws.com",
    "errorCode": "DryRunOperationException",
    "errorMessage": "The request would have succeeded, but the DryRun option is set.",
    "requestParameters": {
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "keyId": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "encryptionContext": {
            "aws:kinesisanalytics:arn": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/MyCmkApplication"
        },
        "dryRun": true
    },
    "responseElements": null,
    "additionalEventData": {
        "keyMaterialId": "REDACTED"
    },
    "requestID": "5fe45ada-7519-4608-be2f-5a9b8ddd62b2",
    "eventID": "6206b08f-ce04-3011-9ec2-55951d357b2c",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123456789012",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "Application-account-ID",
    "sharedEventID": "acbe4a39-ced9-4f53-9f3c-21ef7e89dc37",
    "eventCategory": "Management"
}
```