

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

# Enkripsi saat istirahat di Amazon Keyspaces
<a name="EncryptionAtRest"></a>

[Enkripsi Amazon Keyspaces (untuk Apache Cassandra) *saat istirahat memberikan keamanan yang ditingkatkan dengan mengenkripsi* semua data Anda saat istirahat menggunakan kunci enkripsi yang disimpan di ().AWS Key Management ServiceAWS KMS](https://aws.amazon.com/kms/) Fungsi ini membantu mengurangi beban operasional dan kompleksitas yang terlibat dalam melindungi data sensitif. Dengan enkripsi saat istirahat, Anda dapat membangun aplikasi yang sensitif terhadap keamanan yang memenuhi kepatuhan ketat dan persyaratan peraturan untuk perlindungan data. 

 Enkripsi Amazon Keyspaces saat istirahat mengenkripsi data Anda menggunakan Standar Enkripsi Lanjutan 256-bit (AES-256). Ini membantu mengamankan data Anda dari akses tidak sah ke penyimpanan yang mendasarinya. 

Amazon Keyspaces mengenkripsi dan mendekripsi data dalam tabel dan streaming secara transparan. Amazon Keyspaces menggunakan enkripsi amplop dan hierarki kunci untuk melindungi kunci enkripsi data. Ini terintegrasi dengan AWS KMS untuk menyimpan dan mengelola kunci enkripsi root. Untuk informasi selengkapnya tentang hierarki kunci enkripsi, lihat[Enkripsi saat istirahat: Cara kerjanya di Amazon Keyspaces](encryption.howitworks.md). Untuk informasi selengkapnya tentang AWS KMS konsep seperti enkripsi amplop, lihat [konsep layanan AWS KMS manajemen](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) di *Panduan AWS Key Management Service Pengembang*.

 Saat membuat tabel baru, Anda dapat memilih salah satu tombol berikut *(AWS KMS tombol KMS)*: 
+ Kunci milik AWS — Ini adalah jenis enkripsi default. Kuncinya dimiliki oleh Amazon Keyspaces (tanpa biaya tambahan). 
+ Kunci yang dikelola pelanggan — Kunci ini disimpan di akun Anda dan dibuat, dimiliki, dan dikelola oleh Anda. Anda memiliki kendali penuh atas kunci yang dikelola pelanggan (AWS KMS dikenakan biaya).

Amazon Keyspaces secara otomatis mengenkripsi aliran change data capture (CDC) dengan kunci yang sama dengan tabel yang mendasarinya. Untuk informasi lebih lanjut tentang CDC, lihat[Bekerja dengan aliran change data capture (CDC) di Amazon Keyspaces](cdc.md).

 Anda dapat beralih antara kunci yang dikelola pelanggan Kunci milik AWS dan pada waktu tertentu. Anda dapat menentukan kunci terkelola pelanggan saat membuat tabel baru atau mengubah kunci KMS dari tabel yang ada dengan menggunakan konsol atau secara terprogram menggunakan pernyataan CQL. Untuk mempelajari caranya, lihat [Enkripsi saat diam: Cara menggunakan kunci yang dikelola pelanggan untuk mengenkripsi tabel di Amazon Keyspaces](encryption.customermanaged.md).

 Enkripsi saat istirahat menggunakan opsi default Kunci milik AWS ditawarkan tanpa biaya tambahan. Namun, AWS KMS biaya berlaku untuk kunci yang dikelola pelanggan. Untuk informasi selengkapnya tentang harga, silakan lihat [harga AWS KMS](https://aws.amazon.com/kms/pricing).

Enkripsi Amazon Keyspaces saat istirahat tersedia di semua Wilayah AWS, termasuk Wilayah AWS Tiongkok (Beijing) dan China ( AWS Ningxia). Lihat informasi yang lebih lengkap di [Enkripsi saat istirahat: Cara kerjanya di Amazon Keyspaces](encryption.howitworks.md).

**Topics**
+ [Enkripsi saat istirahat: Cara kerjanya di Amazon Keyspaces](encryption.howitworks.md)
+ [Enkripsi saat diam: Cara menggunakan kunci yang dikelola pelanggan untuk mengenkripsi tabel di Amazon Keyspaces](encryption.customermanaged.md)

# Enkripsi saat istirahat: Cara kerjanya di Amazon Keyspaces
<a name="encryption.howitworks"></a>

Enkripsi Amazon Keyspaces (untuk Apache Cassandra) *saat istirahat mengenkripsi* data Anda menggunakan Standar Enkripsi Lanjutan 256-bit (AES-256). Ini membantu mengamankan data Anda dari akses tidak sah ke penyimpanan yang mendasarinya. Semua data pelanggan di tabel Amazon Keyspaces dienkripsi saat istirahat secara default, dan enkripsi sisi server transparan, yang berarti bahwa perubahan pada aplikasi tidak diperlukan.

Enkripsi saat istirahat terintegrasi dengan AWS Key Management Service (AWS KMS) untuk mengelola kunci enkripsi yang digunakan untuk mengenkripsi tabel Anda. Saat membuat tabel baru atau memperbarui tabel yang ada, Anda dapat memilih salah satu opsi *AWS KMS utama* berikut:
+ Kunci milik AWS — Ini adalah jenis enkripsi default. Kuncinya dimiliki oleh Amazon Keyspaces (tanpa biaya tambahan).
+ Kunci yang dikelola pelanggan — Kunci ini disimpan di akun Anda dan dibuat, dimiliki, dan dikelola oleh Anda. Anda memiliki kendali penuh atas kunci yang dikelola pelanggan (AWS KMS dikenakan biaya).

**AWS KMS kunci (kunci KMS)**  
Enkripsi saat istirahat melindungi semua data Amazon Keyspaces Anda dengan AWS KMS kunci. Secara default, Amazon Keyspaces menggunakan [Kunci milik AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk), kunci enkripsi multi-penyewa yang dibuat dan dikelola di akun layanan Amazon Keyspaces.   
Namun, Anda dapat mengenkripsi tabel Amazon Keyspaces menggunakan kunci [yang dikelola pelanggan di situs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) Anda. Akun AWS Anda dapat memilih tombol KMS yang berbeda untuk setiap tabel di ruang kunci. Kunci KMS yang Anda pilih untuk tabel juga digunakan untuk mengenkripsi semua metadata dan cadangan yang dapat dipulihkan.   
Anda memilih kunci KMS untuk tabel saat membuat atau memperbarui tabel. Anda dapat mengubah kunci KMS untuk tabel kapan saja, baik di konsol Amazon Keyspaces atau dengan menggunakan pernyataan [ALTER](cql.ddl.keyspace.md#cql.ddl.keyspace.alter) TABLE. Proses peralihan kunci KMS mulus, dan tidak memerlukan waktu henti atau menyebabkan degradasi layanan.

**Hirarki kunci**  
Amazon Keyspaces menggunakan hierarki kunci untuk mengenkripsi data. Dalam hierarki kunci ini, kunci KMS adalah kunci root. Ini digunakan untuk mengenkripsi dan mendekripsi kunci enkripsi tabel Amazon Keyspaces. Kunci enkripsi tabel digunakan untuk mengenkripsi kunci enkripsi yang digunakan secara internal oleh Amazon Keyspaces untuk mengenkripsi dan mendekripsi data saat melakukan operasi baca dan tulis.   
Dengan hierarki kunci enkripsi, Anda dapat membuat perubahan pada kunci KMS tanpa harus mengenkripsi ulang data atau memengaruhi aplikasi dan operasi data yang sedang berlangsung.   

![\[Hirarki kunci yang menunjukkan kunci root, kunci enkripsi tabel, dan kunci enkripsi data yang digunakan untuk enkripsi saat istirahat.\]](http://docs.aws.amazon.com/id_id/keyspaces/latest/devguide/images/keyspaces_encryption.png)


**Kunci tabel**  
Tombol tabel Amazon Keyspaces digunakan sebagai kunci enkripsi kunci. Amazon Keyspaces menggunakan tombol tabel untuk melindungi kunci enkripsi data internal yang digunakan untuk mengenkripsi data yang disimpan dalam tabel, file log, dan cadangan yang dapat dipulihkan. Amazon Keyspaces menghasilkan kunci enkripsi data unik untuk setiap struktur dasar dalam tabel. Namun, beberapa baris tabel mungkin dilindungi oleh kunci enkripsi data yang sama.  
Saat pertama kali mengatur kunci KMS ke kunci yang dikelola pelanggan, AWS KMS buat *kunci data*. Kunci AWS KMS data mengacu pada kunci tabel di Amazon Keyspaces.  
Saat Anda mengakses tabel terenkripsi, Amazon Keyspaces mengirimkan permintaan untuk menggunakan kunci KMS AWS KMS untuk mendekripsi kunci tabel. Kemudian, ia menggunakan kunci tabel plaintext untuk mendekripsi kunci enkripsi data Amazon Keyspaces, dan menggunakan kunci enkripsi data plaintext untuk mendekripsi data tabel.  
Amazon Keyspaces menggunakan dan menyimpan kunci tabel dan kunci enkripsi data di luar. AWS KMS Layanan ini melindungi semua kunci dengan enkripsi [Advanced Encryption Standard](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) (AES) dan kunci enkripsi 256-bit. Kemudian, ia menyimpan kunci terenkripsi dengan data terenkripsi sehingga tersedia untuk mendekripsi data tabel sesuai permintaan.

**Melakukan cache pada kunci tabel**  
Untuk menghindari panggilan AWS KMS untuk setiap operasi Amazon Keyspaces, Amazon Keyspaces menyimpan tombol tabel plaintext untuk setiap koneksi dalam memori. Jika Amazon Keyspaces mendapatkan permintaan untuk kunci tabel cache setelah lima menit tidak aktif, ia akan mengirimkan permintaan baru AWS KMS untuk mendekripsi kunci tabel. Panggilan ini menangkap setiap perubahan yang dibuat pada kebijakan akses kunci KMS di AWS KMS atau AWS Identity and Access Management (IAM) sejak permintaan terakhir untuk mendekripsi kunci tabel.

**Enkripsi amplop**  
Jika Anda mengubah kunci terkelola pelanggan untuk tabel Anda, Amazon Keyspaces akan menghasilkan kunci tabel baru. Kemudian, ia menggunakan kunci tabel baru untuk mengenkripsi ulang kunci enkripsi data. Ini juga menggunakan kunci tabel baru untuk mengenkripsi kunci tabel sebelumnya yang digunakan untuk melindungi cadangan yang dapat dipulihkan. Proses ini disebut enkripsi amplop. Ini memastikan bahwa Anda dapat mengakses cadangan yang dapat dipulihkan bahkan jika Anda memutar kunci yang dikelola pelanggan. Untuk informasi selengkapnya tentang enkripsi amplop, lihat [Enkripsi Amplop](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping) di Panduan *AWS Key Management Service Pengembang*.

**Topics**
+ [AWS kunci yang dimiliki](#keyspaces-owned)
+ [Kunci yang dikelola pelanggan](#customer-managed)
+ [Enkripsi saat istirahat catatan penggunaan](#encryption.usagenotes)

## AWS kunci yang dimiliki
<a name="keyspaces-owned"></a>

Kunci milik AWS tidak disimpan dalam Anda Akun AWS. Mereka adalah bagian dari kumpulan kunci KMS yang AWS memiliki dan mengelola untuk digunakan dalam beberapa. Akun AWS AWS Layanan dapat digunakan Kunci milik AWS untuk melindungi data Anda.

Anda tidak dapat melihat, mengelola, atau menggunakan Kunci milik AWS, atau mengaudit penggunaannya. Namun, Anda tidak perlu melakukan pekerjaan apa pun atau mengubah program apa pun untuk melindungi kunci yang mengenkripsi data Anda.

Anda tidak dikenakan biaya bulanan atau biaya penggunaan untuk penggunaan Kunci milik AWS, dan mereka tidak dihitung terhadap AWS KMS kuota untuk akun Anda.

## Kunci yang dikelola pelanggan
<a name="customer-managed"></a>

Kunci yang dikelola pelanggan adalah kunci Akun AWS yang Anda buat, miliki, dan kelola. Anda memiliki kontrol penuh atas kunci KMS ini. 

Gunakan kunci yang dikelola pelanggan untuk mendapatkan fitur berikut:
+ Anda membuat dan mengelola kunci yang dikelola pelanggan, termasuk menetapkan dan memelihara [kebijakan utama, kebijakan](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) [IAM](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html), dan [hibah](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) untuk mengontrol akses ke kunci yang dikelola pelanggan. Anda dapat [mengaktifkan dan menonaktifkan](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) kunci yang dikelola pelanggan, mengaktifkan dan menonaktifkan [rotasi kunci otomatis](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html), dan [menjadwalkan kunci terkelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) untuk dihapus saat tidak lagi digunakan. Anda dapat membuat tag dan alias untuk kunci terkelola pelanggan yang Anda kelola.
+ Anda dapat menggunakan kunci yang dikelola pelanggan dengan [material kunci yang diimpor](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) atau kunci yang dikelola pelanggan di [penyimpanan kunci kustom](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html) yang Anda miliki dan kelola. 
+ Anda dapat menggunakan AWS CloudTrail dan Amazon CloudWatch Logs untuk melacak permintaan yang dikirimkan Amazon Keyspaces AWS KMS atas nama Anda. Untuk informasi selengkapnya, lihat [Langkah 6: Konfigurasikan pemantauan dengan AWS CloudTrail](encryption.customermanaged.md#encryption-cmk-trail).

Kunci yang dikelola pelanggan [dikenakan biaya](https://aws.amazon.com/kms/pricing/) untuk setiap panggilan API, dan AWS KMS kuota berlaku untuk kunci KMS ini. Untuk informasi selengkapnya, lihat [AWS KMS sumber daya atau permintaan kuota](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html).

Saat Anda menentukan kunci yang dikelola pelanggan sebagai kunci enkripsi root untuk tabel, cadangan yang dapat dipulihkan dienkripsi dengan kunci enkripsi yang sama yang ditentukan untuk tabel pada saat cadangan dibuat. Jika kunci KMS untuk tabel diputar, pembungkus kunci memastikan bahwa kunci KMS terbaru memiliki akses ke semua cadangan yang dapat dipulihkan.

Amazon Keyspaces harus memiliki akses ke kunci yang dikelola pelanggan untuk memberi Anda akses ke data tabel Anda. Jika status kunci enkripsi disetel ke dinonaktifkan atau dijadwalkan untuk dihapus, Amazon Keyspaces tidak dapat mengenkripsi atau mendekripsi data. Akibatnya, Anda tidak dapat melakukan operasi baca dan tulis di atas meja. Segera setelah layanan mendeteksi bahwa kunci enkripsi Anda tidak dapat diakses, Amazon Keyspaces mengirimkan pemberitahuan email untuk mengingatkan Anda. 

Anda harus memulihkan akses ke kunci enkripsi Anda dalam waktu tujuh hari atau Amazon Keyspaces menghapus tabel Anda secara otomatis. Sebagai tindakan pencegahan, Amazon Keyspaces membuat cadangan data tabel yang dapat dipulihkan sebelum menghapus tabel. Amazon Keyspaces mempertahankan cadangan yang dapat dipulihkan selama 35 hari. Setelah 35 hari, Anda tidak dapat lagi memulihkan data tabel Anda. Anda tidak ditagih untuk cadangan yang dapat dipulihkan, tetapi biaya [pemulihan](https://aws.amazon.com/keyspaces/pricing) standar berlaku. 

Anda dapat menggunakan cadangan yang dapat dipulihkan ini untuk memulihkan data Anda ke tabel baru. Untuk memulai pemulihan, kunci terkelola pelanggan terakhir yang digunakan untuk tabel harus diaktifkan, dan Amazon Keyspaces harus memiliki akses ke sana.

**catatan**  
Saat Anda membuat tabel yang dienkripsi menggunakan kunci terkelola pelanggan yang tidak dapat diakses atau dijadwalkan untuk dihapus sebelum proses pembuatan selesai, terjadi kesalahan. Operasi buat tabel gagal, dan Anda akan dikirimi pemberitahuan email.

## Enkripsi saat istirahat catatan penggunaan
<a name="encryption.usagenotes"></a>

Pertimbangkan hal berikut saat Anda menggunakan enkripsi saat istirahat di Amazon Keyspaces.
+ Enkripsi sisi server saat istirahat diaktifkan di semua tabel Amazon Keyspaces dan tidak dapat dinonaktifkan. Seluruh tabel dienkripsi saat istirahat, Anda tidak dapat memilih kolom atau baris tertentu untuk enkripsi.
+ Secara default, Amazon Keyspaces menggunakan kunci default layanan tunggal (Kunci milik AWS) untuk mengenkripsi semua tabel Anda. Jika kunci ini tidak ada, itu dibuat untuk Anda. Kunci default layanan tidak dapat dinonaktifkan. 
+ Enkripsi saat istirahat hanya mengenkripsi data saat statis (saat istirahat) pada media penyimpanan persisten. Jika keamanan data menjadi perhatian data dalam perjalanan atau data yang digunakan, Anda harus mengambil langkah-langkah tambahan:
  + Data dalam perjalanan: Semua data Anda di Amazon Keyspaces dienkripsi saat transit. Secara default, komunikasi ke dan dari Amazon Keyspaces dilindungi dengan menggunakan enkripsi Secure Sockets Layer (SSL) /Transport Layer Security (TLS).
  + Data yang digunakan: Lindungi data Anda sebelum mengirimnya ke Amazon Keyspaces dengan menggunakan enkripsi sisi klien. 
  + Kunci terkelola pelanggan: Data saat istirahat di tabel Anda selalu dienkripsi menggunakan kunci yang dikelola pelanggan Anda. Namun operasi yang melakukan pembaruan atom dari beberapa baris mengenkripsi data sementara digunakan Kunci milik AWS selama pemrosesan. Ini termasuk operasi penghapusan jangkauan dan operasi yang secara bersamaan mengakses data statis dan non-statis.
+ Satu kunci yang dikelola pelanggan dapat memiliki hingga 50.000 [hibah.](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) Setiap tabel Amazon Keyspaces yang terkait dengan kunci terkelola pelanggan menggunakan 2 hibah. Satu hibah dirilis saat tabel dihapus. Hibah kedua digunakan untuk membuat snapshot otomatis tabel untuk melindungi dari kehilangan data jika Amazon Keyspaces kehilangan akses ke kunci yang dikelola pelanggan secara tidak sengaja. Hibah ini dirilis 42 hari setelah penghapusan tabel.

# 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"
}
```