

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

# Enkripsi saat diam: Cara menggunakan kunci yang dikelola pelanggan untuk mengenkripsi tabel di Amazon Keyspaces
<a name="encryption.customermanaged"></a>

Anda dapat menggunakan pernyataan konsol atau CQL untuk menentukan tabel baru dan memperbarui kunci enkripsi tabel yang ada di Amazon Keyspaces. AWS KMS key Topik berikut menguraikan cara menerapkan kunci terkelola pelanggan untuk tabel baru dan yang sudah ada. 

**Topics**
+ [Prasyarat: Buat kunci terkelola pelanggan menggunakan AWS KMS dan berikan izin ke Amazon Keyspaces](#encryption.createCMKMS)
+ [Langkah 3: Tentukan kunci yang dikelola pelanggan untuk tabel baru](#encryption.tutorial-creating)
+ [Langkah 4: Perbarui kunci enkripsi tabel yang ada](#encryption.tutorial-update)
+ [Langkah 5: Gunakan konteks enkripsi Amazon Keyspaces di log](#encryption-context)
+ [Langkah 6: Konfigurasikan pemantauan dengan AWS CloudTrail](#encryption-cmk-trail)

## Prasyarat: Buat kunci terkelola pelanggan menggunakan AWS KMS dan berikan izin ke Amazon Keyspaces
<a name="encryption.createCMKMS"></a>

Sebelum Anda dapat melindungi tabel Amazon Keyspaces dengan kunci yang [dikelola pelanggan, Anda harus terlebih dahulu membuat kunci](encryption.howitworks.md#customer-managed) di AWS Key Management Service (AWS KMS) dan kemudian mengotorisasi Amazon Keyspaces untuk menggunakan kunci tersebut.

### Langkah 1: Buat kunci yang dikelola pelanggan menggunakan AWS KMS
<a name="encryption-create-key"></a>

Untuk membuat kunci terkelola pelanggan yang akan digunakan untuk melindungi tabel Amazon Keyspaces, Anda dapat mengikuti langkah-langkah dalam [Membuat kunci KMS enkripsi simetris](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) menggunakan konsol atau API. AWS 

### Langkah 2: Otorisasi penggunaan kunci yang dikelola pelanggan Anda
<a name="encryption-authz"></a>

Sebelum Anda dapat memilih [kunci yang dikelola pelanggan](encryption.howitworks.md#customer-managed) untuk melindungi tabel Amazon Keyspaces, kebijakan pada kunci yang dikelola pelanggan tersebut harus memberikan izin kepada Amazon Keyspaces untuk menggunakannya atas nama Anda. Anda memiliki kendali penuh atas kebijakan dan hibah pada kunci yang dikelola pelanggan. Anda dapat memberikan izin ini dalam [kebijakan kunci](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html), [kebijakan IAM](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html), atau [pemberian izin](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html).

Amazon Keyspaces tidak memerlukan otorisasi tambahan untuk menggunakan default [Kunci milik AWS](encryption.howitworks.md#keyspaces-owned)untuk melindungi tabel Amazon Keyspaces di akun Anda. AWS 

Topik berikut menunjukkan cara mengonfigurasi izin yang diperlukan menggunakan kebijakan dan hibah IAM yang memungkinkan tabel Amazon Keyspaces menggunakan kunci yang dikelola pelanggan.

**Topics**
+ [Kebijakan utama untuk kunci yang dikelola pelanggan](#encryption-customer-managed-policy)
+ [Contoh kebijakan kunci](#encryption-customer-managed-policy-sample)
+ [Menggunakan hibah untuk mengotorisasi Amazon Keyspaces](#encryption-grants)

#### Kebijakan utama untuk kunci yang dikelola pelanggan
<a name="encryption-customer-managed-policy"></a>

Saat Anda memilih [kunci yang dikelola pelanggan](encryption.howitworks.md#customer-managed) untuk melindungi tabel Amazon Keyspaces, Amazon Keyspaces mendapatkan izin untuk menggunakan kunci terkelola pelanggan atas nama prinsipal yang membuat pilihan. Prinsipal tersebut, pengguna atau peran, harus memiliki izin pada kunci terkelola pelanggan yang diperlukan Amazon Keyspaces. 

Minimal, Amazon Keyspaces memerlukan izin berikut pada kunci yang dikelola pelanggan:
+ [kms:Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)
+ [kms: ReEncrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html) \$1 (untuk kms: ReEncryptFrom dan kms:ReEncryptTo)
+ kms: GenerateDataKey \$1 (untuk [kms: GenerateDataKey dan [kms](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html):](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)) GenerateDataKeyWithoutPlaintext
+ [km: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)
+ [km: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)

#### Contoh kebijakan kunci
<a name="encryption-customer-managed-policy-sample"></a>

Sebagai contoh, kebijakan kunci berikut hanya menyediakan izin yang diperlukan. Kebijakan ini memiliki efek sebagai berikut:
+ Memungkinkan Amazon Keyspaces menggunakan kunci terkelola pelanggan dalam operasi kriptografi dan membuat hibah—tetapi hanya jika itu bertindak atas nama kepala sekolah di akun yang memiliki izin untuk menggunakan Amazon Keyspaces. Jika prinsipal yang ditentukan dalam pernyataan kebijakan tidak memiliki izin untuk menggunakan Amazon Keyspaces, panggilan gagal, meskipun berasal dari layanan Amazon Keyspaces. 
+ Kunci ViaService kondisi [kms:](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) mengizinkan izin hanya jika permintaan berasal dari Amazon Keyspaces atas nama prinsipal yang tercantum dalam pernyataan kebijakan. Pengguna utama ini tidak dapat memanggil operasi ini secara langsung. Perhatikan bahwa nilai `kms:ViaService`, `cassandra.*.amazonaws.com`, memiliki tanda bintang (\$1) di posisi Wilayah. Amazon Keyspaces memerlukan izin untuk independen dari yang tertentu. Wilayah AWS
+ Memberikan administrator kunci terkelola pelanggan (pengguna yang dapat mengambil `db-team` peran) akses hanya-baca ke kunci terkelola pelanggan dan izin untuk mencabut hibah, termasuk hibah yang diperlukan [Amazon Keyspaces](#encryption-grants) untuk melindungi tabel.
+ Memberikan akses hanya-baca Amazon Keyspaces ke kunci yang dikelola pelanggan. Dalam hal ini, Amazon Keyspaces dapat memanggil operasi ini secara langsung. Itu tidak harus bertindak atas nama prinsipal akun.

Sebelum menggunakan kebijakan kunci contoh, ganti prinsip contoh dengan prinsip aktual dari Anda. Akun AWS

```
{
  "Id": "key-policy-cassandra",
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid" : "Allow access through Amazon Keyspaces for all principals in the account that are authorized to use Amazon Keyspaces",
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::111122223333:user/db-lead"},
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey",
        "kms:CreateGrant"
      ],
      "Resource": "*",      
      "Condition": { 
         "StringLike": {
           "kms:ViaService" : "cassandra.*.amazonaws.com"
         }
      }
    },
    {
      "Sid":  "Allow administrators to view the customer managed key and revoke grants",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/db-team"
       },
      "Action": [
        "kms:Describe*",
        "kms:Get*",
        "kms:List*",
        "kms:RevokeGrant"
      ],
      "Resource": "*"
    }
  ]
}
```

#### Menggunakan hibah untuk mengotorisasi Amazon Keyspaces
<a name="encryption-grants"></a>

Selain kebijakan utama, Amazon Keyspaces menggunakan hibah untuk menetapkan izin pada kunci yang dikelola pelanggan. Untuk melihat hibah pada kunci yang dikelola pelanggan di akun Anda, gunakan [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)operasi. Amazon Keyspaces tidak memerlukan hibah, atau izin tambahan apa pun, untuk menggunakan file untuk melindungi tabel [Kunci milik AWS](encryption.howitworks.md#keyspaces-owned)Anda.

Amazon Keyspaces menggunakan izin hibah saat melakukan pemeliharaan sistem latar belakang dan tugas perlindungan data berkelanjutan. Layanan ini juga menggunakan pemberian izin untuk menghasilkan kunci tabel.

Setiap pemberian izin berlaku spesifik pada sebuah tabel. Jika akun menyertakan beberapa tabel yang dienkripsi di bawah kunci terkelola pelanggan yang sama, ada hibah untuk setiap jenis untuk setiap tabel. Hibah dibatasi oleh [konteks enkripsi Amazon Keyspaces](https://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html), yang mencakup nama tabel dan ID. Akun AWS Hibah termasuk izin untuk [pensiun hibah](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html) jika tidak lagi diperlukan. 

Untuk membuat hibah, Amazon Keyspaces harus memiliki izin untuk `CreateGrant` memanggil atas nama pengguna yang membuat tabel terenkripsi.

Kebijakan utama juga dapat memungkinkan akun untuk [mencabut hibah pada](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html) kunci yang dikelola pelanggan. Namun, jika Anda mencabut hibah pada tabel terenkripsi aktif, Amazon Keyspaces tidak akan dapat melindungi dan memelihara tabel.

## Langkah 3: Tentukan kunci yang dikelola pelanggan untuk tabel baru
<a name="encryption.tutorial-creating"></a>

Ikuti langkah-langkah berikut untuk menentukan kunci yang dikelola pelanggan pada tabel baru menggunakan konsol Amazon Keyspaces atau CQL.

### Membuat tabel terenkripsi menggunakan kunci yang dikelola pelanggan (konsol)
<a name="encryption.tutorial-console"></a>

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/ rumah.](https://console.aws.amazon.com/keyspaces/home)

1. Di panel navigasi, pilih **Tabel**, lalu pilih **Buat tabel**.

1. Pada halaman **Buat tabel** di bagian **Rincian tabel**, pilih ruang kunci dan berikan nama untuk tabel baru.

1. Di bagian **Skema**, buat skema untuk tabel Anda.

1. Di bagian **Pengaturan tabel**, pilih **Sesuaikan pengaturan**.

1. Lanjutkan ke **Pengaturan enkripsi**.

   Pada langkah ini, Anda memilih pengaturan enkripsi untuk tabel. 

   Di bagian **Enkripsi saat istirahat** di bawah **Pilih AWS KMS key**, pilih opsi **Pilih kunci KMS yang berbeda (lanjutan)**, dan di bidang pencarian, pilih AWS KMS key atau masukkan Nama Sumber Daya Amazon (ARN).
**catatan**  
Jika kunci yang Anda pilih tidak dapat diakses atau tidak memiliki izin yang diperlukan, lihat [Memecahkan masalah akses kunci](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) di Panduan Pengembang AWS Key Management Service .

1. Pilih **Buat** untuk membuat tabel yang dienkripsi. 

### Buat tabel baru menggunakan kunci terkelola pelanggan untuk enkripsi saat istirahat (CQL)
<a name="encryption.tutorial-cql"></a>

Untuk membuat tabel baru yang menggunakan kunci terkelola pelanggan untuk enkripsi saat istirahat, Anda dapat menggunakan `CREATE TABLE` pernyataan seperti yang ditunjukkan pada contoh berikut. Pastikan untuk mengganti kunci ARN dengan ARN untuk kunci yang valid dengan izin yang diberikan ke Amazon Keyspaces.

```
CREATE TABLE my_keyspace.my_table(id bigint, name text, place text STATIC, PRIMARY KEY(id, name)) WITH CUSTOM_PROPERTIES = {
        'encryption_specification':{
                'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 
                'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111'
            }
    };
```

Jika Anda menerima`Invalid Request Exception`, Anda perlu mengonfirmasi bahwa kunci yang dikelola pelanggan valid dan Amazon Keyspaces memiliki izin yang diperlukan. Untuk mengonfirmasi bahwa kunci telah dikonfigurasi dengan benar, lihat [Akses kunci pemecahan masalah di Panduan](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) AWS Key Management Service Pengembang. 

## Langkah 4: Perbarui kunci enkripsi tabel yang ada
<a name="encryption.tutorial-update"></a>

Anda juga dapat menggunakan konsol Amazon Keyspaces atau CQL untuk mengubah kunci enkripsi tabel yang ada antara kunci KMS yang dikelola pelanggan Kunci milik AWS dan kapan saja.

### Perbarui tabel yang ada dengan kunci terkelola pelanggan baru (konsol)
<a name="encryption.tutorial-update-console"></a>

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/ rumah.](https://console.aws.amazon.com/keyspaces/home)

1.  Di panel navigasi, pilih **Tabel**.

1. Pilih tabel yang ingin Anda perbarui, lalu pilih tab **Pengaturan tambahan**.

1. Di bagian **Enkripsi saat istirahat**, pilih **Kelola Enkripsi** untuk mengedit pengaturan enkripsi untuk tabel.

   Di bawah **Pilih AWS KMS key**, pilih opsi **Pilih tombol KMS yang berbeda (lanjutan)**, dan di bidang pencarian, pilih AWS KMS key atau masukkan Nama Sumber Daya Amazon (ARN).
**catatan**  
Jika kunci yang Anda pilih tidak valid, lihat [Akses kunci pemecahan masalah di Panduan](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) AWS Key Management Service Pengembang.

   Atau, Anda dapat memilih Kunci milik AWS untuk tabel yang dienkripsi dengan kunci yang dikelola pelanggan.

1. Pilih **Simpan perubahan** untuk menyimpan perubahan Anda ke tabel. 

### Memperbarui kunci enkripsi yang digunakan untuk tabel yang ada
<a name="encryption.tutorial-update-cql"></a>

Untuk mengubah kunci enkripsi tabel yang ada, Anda menggunakan `ALTER TABLE` pernyataan untuk menentukan kunci terkelola pelanggan untuk enkripsi saat istirahat. Pastikan untuk mengganti kunci ARN dengan ARN untuk kunci yang valid dengan izin yang diberikan ke Amazon Keyspaces.

```
ALTER TABLE my_keyspace.my_table WITH CUSTOM_PROPERTIES = {     
              'encryption_specification':{ 
                      'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 
                      'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111'     
                  } 
         };
```

Jika Anda menerima`Invalid Request Exception`, Anda perlu mengonfirmasi bahwa kunci yang dikelola pelanggan valid dan Amazon Keyspaces memiliki izin yang diperlukan. Untuk mengonfirmasi bahwa kunci telah dikonfigurasi dengan benar, lihat [Akses kunci pemecahan masalah di Panduan](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) AWS Key Management Service Pengembang. 

Untuk mengubah kunci enkripsi kembali ke opsi enkripsi default saat istirahat dengan Kunci milik AWS, Anda dapat menggunakan `ALTER TABLE` pernyataan seperti yang ditunjukkan pada contoh berikut.

```
ALTER TABLE my_keyspace.my_table WITH CUSTOM_PROPERTIES = {
                'encryption_specification':{
                      'encryption_type' : 'AWS_OWNED_KMS_KEY' 
                    } 
         };
```

## Langkah 5: Gunakan konteks enkripsi Amazon Keyspaces di log
<a name="encryption-context"></a>

[Konteks enkripsi](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html) adalah seperangkat pasangan kunci-nilai yang berisi data non-rahasia yang arbitrer. Ketika Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, secara AWS KMS kriptografis mengikat konteks enkripsi ke data terenkripsi. Untuk mendekripsi data, Anda harus meneruskan konteks enkripsi yang sama. 

Amazon Keyspaces menggunakan konteks enkripsi yang sama di semua operasi AWS KMS kriptografi. Jika Anda menggunakan [kunci terkelola pelanggan](encryption.howitworks.md#customer-managed) untuk melindungi tabel Amazon Keyspaces, Anda dapat menggunakan konteks enkripsi untuk mengidentifikasi penggunaan kunci terkelola pelanggan dalam catatan audit dan log. Itu juga muncul dalam teks biasa di log, seperti di log untuk dan [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)[Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) Logs. 

Dalam permintaannya AWS KMS, Amazon Keyspaces menggunakan konteks enkripsi dengan tiga pasangan kunci-nilai.

```
"encryptionContextSubset": {
    "aws:cassandra:keyspaceName": "my_keyspace",
    "aws:cassandra:tableName": "mytable"
    "aws:cassandra:subscriberId": "111122223333"
}
```
+ **Keyspace** - Pasangan kunci-nilai pertama mengidentifikasi ruang kunci yang menyertakan tabel yang dienkripsi Amazon Keyspaces. Kuncinya adalah `aws:cassandra:keyspaceName`. Nilai adalah nama keyspace.

  ```
  "aws:cassandra:keyspaceName": "<keyspace-name>"
  ```

  Contoh:

  ```
  "aws:cassandra:keyspaceName": "my_keyspace"
  ```
+ **Tabel** — Pasangan kunci-nilai kedua mengidentifikasi tabel yang dienkripsi Amazon Keyspaces. Kuncinya adalah `aws:cassandra:tableName`. Nilainya adalah nama tabel.

  ```
  "aws:cassandra:tableName": "<table-name>"
  ```

  Contoh:

  ```
  "aws:cassandra:tableName": "my_table"
  ```
+ **Akun** — Pasangan kunci-nilai ketiga mengidentifikasi pasangan. Akun AWS Kuncinya adalah `aws:cassandra:subscriberId`. Nilainya adalah ID akun.

  ```
  "aws:cassandra:subscriberId": "<account-id>"
  ```

  Contoh:

  ```
  "aws:cassandra:subscriberId": "111122223333"
  ```

## Langkah 6: Konfigurasikan pemantauan dengan AWS CloudTrail
<a name="encryption-cmk-trail"></a>

Jika Anda menggunakan [kunci yang dikelola pelanggan](encryption.howitworks.md#customer-managed) untuk melindungi tabel Amazon Keyspaces, Anda dapat menggunakan AWS CloudTrail log untuk melacak permintaan yang dikirimkan Amazon Keyspaces atas nama Anda. AWS KMS 

Permintaan `GenerateDataKey` `DescribeKey``Decrypt`,, dan `CreateGrant` permintaan dibahas di bagian ini. Selain itu, Amazon Keyspaces menggunakan [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)operasi untuk menghapus hibah saat Anda menghapus tabel. 

**catatan**  
Saat Anda bekerja dengan Amazon Keyspaces, beberapa operasi dapat menghasilkan CloudTrail peristiwa dengan `invokedBy` bidang. `dynamodb.amazonaws.com` Ini diharapkan dan terjadi karena Amazon Keyspaces terintegrasi dengan Amazon DynamoDB untuk menyediakan layanannya.

**GenerateDataKey**  
Amazon Keyspaces membuat kunci tabel unik untuk mengenkripsi data saat istirahat. Ini mengirimkan *[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)*permintaan untuk AWS KMS yang menentukan kunci KMS untuk tabel.   
Peristiwa yang mencatat operasi `GenerateDataKey` serupa dengan peristiwa contoh berikut. Pengguna adalah akun layanan Amazon Keyspaces. Parameter tersebut mencakup Nama Sumber Daya Amazon (ARN) dari kunci yang dikelola pelanggan, penentu kunci yang memerlukan kunci 256-bit, dan [konteks enkripsi](#encryption-context) yang mengidentifikasi ruang kunci, tabel, dan file. Akun AWS  

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-04-16T04:56:05Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "AWS Internal",
    "requestParameters": {
        "keySpec": "AES_256",
        "encryptionContext": {
            "aws:cassandra:keyspaceName": "my_keyspace",
            "aws:cassandra:tableName": "my_table",
            "aws:cassandra:subscriberId": "123SAMPLE012"
        },
        "keyId": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111"
    },
    "responseElements": null,
    "requestID": "5e8e9cb5-9194-4334-aacc-9dd7d50fe246",
    "eventID": "49fccab9-2448-4b97-a89d-7d5c39318d6f",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123SAMPLE012",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "123SAMPLE012",
    "sharedEventID": "84fbaaf0-9641-4e32-9147-57d2cb08792e"
}
```

**DescribeKey**  
Amazon Keyspaces menggunakan [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operasi untuk menentukan apakah kunci KMS yang Anda pilih ada di akun dan Wilayah.   
Peristiwa yang mencatat operasi `DescribeKey` serupa dengan peristiwa contoh berikut. Pengguna adalah akun layanan Amazon Keyspaces. Parameter termasuk ARN dari kunci yang dikelola pelanggan dan penentu kunci yang memerlukan kunci 256-bit.  

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDAZ3FNIIVIZZ6H7CFQG",
        "arn": "arn:aws:iam::123SAMPLE012:user/admin",
        "accountId": "123SAMPLE012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName": "admin",
        "sessionContext": {
            "sessionIssuer": {},
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2021-04-16T04:55:42Z"
            }
        },
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-04-16T04:55:58Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "DescribeKey",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "AWS Internal",
    "requestParameters": {
        "keyId": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111"
    },
    "responseElements": null,
    "requestID": "c25a8105-050b-4f52-8358-6e872fb03a6c",
    "eventID": "0d96420e-707e-41b9-9118-56585a669658",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123SAMPLE012",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "123SAMPLE012"
}
```

**Dekripsi**  
Saat Anda mengakses tabel Amazon Keyspaces, Amazon Keyspaces perlu mendekripsi kunci tabel sehingga dapat mendekripsi kunci di bawahnya dalam hierarki. Layanan ini kemudian mendekripsi data dalam tabel. Untuk mendekripsi kunci tabel, Amazon Keyspaces mengirimkan permintaan [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) ke AWS KMS yang menentukan kunci KMS untuk tabel.  
Peristiwa yang mencatat operasi `Decrypt` serupa dengan peristiwa contoh berikut. Pengguna adalah kepala sekolah Anda Akun AWS yang mengakses tabel. Parameter termasuk kunci tabel terenkripsi (sebagai gumpalan ciphertext) dan [konteks enkripsi](#encryption-context) yang mengidentifikasi tabel dan file. Akun AWS AWS KMS memperoleh ID kunci yang dikelola pelanggan dari ciphertext.   

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-04-16T05:29:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "AWS Internal",
    "requestParameters": {
        "encryptionContext": {
            "aws:cassandra:keyspaceName": "my_keyspace",
            "aws:cassandra:tableName": "my_table",
            "aws:cassandra:subscriberId": "123SAMPLE012"
        },
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
    },
    "responseElements": null,
    "requestID": "50e80373-83c9-4034-8226-5439e1c9b259",
    "eventID": "8db9788f-04a5-4ae2-90c9-15c79c411b6b",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123SAMPLE012",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "123SAMPLE012",
    "sharedEventID": "7ed99e2d-910a-4708-a4e3-0180d8dbb68e"
}
```

**CreateGrant**  
Saat Anda menggunakan [kunci yang dikelola pelanggan](encryption.howitworks.md#customer-managed) untuk melindungi tabel Amazon Keyspaces Anda, Amazon Keyspaces menggunakan [hibah](#encryption-grants) untuk memungkinkan layanan melakukan tugas perlindungan dan pemeliharaan serta daya tahan data secara berkelanjutan. Hibah ini tidak diperlukan. [Kunci milik AWS](encryption.howitworks.md#keyspaces-owned)  
Hibah yang dibuat Amazon Keyspaces khusus untuk tabel. Prinsip dalam [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)permintaan adalah pengguna yang membuat tabel.   
Peristiwa yang mencatat operasi `CreateGrant` serupa dengan peristiwa contoh berikut. Parameter termasuk ARN kunci yang dikelola pelanggan untuk tabel, pokok penerima hibah dan kepala pensiun (layanan Amazon Keyspaces), dan operasi yang dicakup oleh hibah. [Ini juga mencakup kendala yang mengharuskan semua operasi enkripsi menggunakan konteks enkripsi yang ditentukan.](#encryption-context)  

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDAZ3FNIIVIZZ6H7CFQG",
        "arn": "arn:aws:iam::arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111:user/admin",
        "accountId": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "userName": "admin",
        "sessionContext": {
            "sessionIssuer": {},
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2021-04-16T04:55:42Z"
            }
        },
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-04-16T05:11:10Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "AWS Internal",
    "requestParameters": {
        "keyId": "a7d328af-215e-4661-9a69-88c858909f20",
        "operations": [
            "DescribeKey",
            "GenerateDataKey",
            "Decrypt",
            "Encrypt",
            "ReEncryptFrom",
            "ReEncryptTo",
            "RetireGrant"
        ],
        "constraints": {
            "encryptionContextSubset": {
                "aws:cassandra:keyspaceName": "my_keyspace",
                "aws:cassandra:tableName": "my_table",
                "aws:cassandra:subscriberId": "123SAMPLE012"
            }
        },
        "retiringPrincipal": "cassandratest.us-east-1.amazonaws.com",
        "granteePrincipal": "cassandratest.us-east-1.amazonaws.com"
    },
    "responseElements": {
        "grantId": "18e4235f1b07f289762a31a1886cb5efd225f069280d4f76cd83b9b9b5501013"
    },
    "requestID": "b379a767-1f9b-48c3-b731-fb23e865e7f7",
    "eventID": "29ee1fd4-28f2-416f-a419-551910d20291",
    "readOnly": false,
    "resources": [
        {
            "accountId": "123SAMPLE012",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "123SAMPLE012"
}
```