

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

# Perlindungan data di Amazon Kinesis Data Streams
<a name="server-side-encryption"></a>

Enkripsi sisi server menggunakan kunci AWS Key Management Service (AWS KMS) memudahkan Anda memenuhi persyaratan manajemen data yang ketat dengan mengenkripsi data Anda saat istirahat dalam Amazon Kinesis Data Streams.

**catatan**  
Jika Anda memerlukan modul kriptografi tervalidasi FIPS 140-2 saat mengakses AWS melalui antarmuka baris perintah atau API, gunakan titik akhir FIPS. Lihat informasi selengkapnya tentang titik akhir FIPS yang tersedia di [Standar Pemrosesan Informasi Federal (FIPS) 140-2](https://aws.amazon.com/compliance/fips/).

**Topics**
+ [Apa itu enkripsi sisi server untuk Kinesis Data Streams?](what-is-sse.md)
+ [Biaya, Wilayah, dan pertimbangan kinerja](costs-performance.md)
+ [Bagaimana cara memulai dengan enkripsi sisi server?](getting-started-with-sse.md)
+ [Membuat dan menggunakan kunci KMS buatan pengguna](creating-using-sse-master-keys.md)
+ [Izin untuk menggunakan kunci KMS buatan pengguna](permissions-user-key-KMS.md)
+ [Verifikasi dan Memecahkan Masalah izin kunci KMS](sse-troubleshooting.md)
+ [Gunakan Amazon Kinesis Data Streams dengan titik akhir VPC antarmuka](vpc.md)

# Apa itu enkripsi sisi server untuk Kinesis Data Streams?
<a name="what-is-sse"></a>

Enkripsi sisi server adalah fitur di Amazon Kinesis Data Streams yang secara otomatis mengenkripsi data sebelum diam dengan AWS KMS menggunakan kunci master pelanggan (CMK) yang Anda tentukan. Data dienkripsi sebelum ditulis ke lapisan penyimpanan aliran Kinesis, dan didekripsi setelah diambil dari penyimpanan. Akibatnya, data Anda dienkripsi saat istirahat dalam layanan Kinesis Data Streams. Ini memungkinkan Anda untuk memenuhi persyaratan peraturan yang ketat dan meningkatkan keamanan data Anda.

Dengan enkripsi sisi server, produsen dan konsumen Kinesis stream Anda tidak perlu mengelola kunci utama atau operasi kriptografi. Data Anda secara otomatis dienkripsi saat masuk dan meninggalkan layanan Kinesis Data Streams, sehingga data Anda saat istirahat dienkripsi. AWS KMS menyediakan semua kunci master yang digunakan oleh fitur enkripsi sisi server. AWS KMS memudahkan penggunaan CMK untuk Kinesis yang dikelola AWS oleh, CMK yang AWS KMS ditentukan pengguna, atau kunci master yang diimpor ke layanan. AWS KMS 

**catatan**  
Enkripsi sisi server mengenkripsi data yang masuk hanya setelah enkripsi diaktifkan. Data yang sudah ada sebelumnya dalam aliran yang tidak terenkripsi tidak dienkripsi setelah enkripsi sisi server diaktifkan. 

Saat mengenkripsi aliran data dan berbagi akses ke prinsipal lain, Anda harus memberikan izin baik dalam kebijakan kunci untuk AWS KMS kunci dan kebijakan IAM di akun eksternal. Untuk informasi selengkapnya, lihat [Mengizinkan pengguna di akun lain untuk menggunakan kunci KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html). 

Jika Anda telah mengaktifkan enkripsi sisi server untuk aliran data dengan kunci KMS AWS terkelola dan ingin berbagi akses melalui kebijakan sumber daya, Anda harus beralih menggunakan kunci yang dikelola pelanggan (CMK), seperti yang ditunjukkan berikut: 

![\[Encryption settings interface with options for server-side encryption and customer-managed CMK.\]](http://docs.aws.amazon.com/id_id/streams/latest/dev/images/cmk2.png)


Selain itu, Anda harus mengizinkan entitas utama berbagi Anda untuk memiliki akses ke CMK Anda, menggunakan kemampuan berbagi lintas akun KMS. Pastikan juga untuk membuat perubahan dalam kebijakan IAM untuk entitas utama berbagi. Untuk informasi selengkapnya, lihat [Mengizinkan pengguna di akun lain untuk menggunakan kunci KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).

# Biaya, Wilayah, dan pertimbangan kinerja
<a name="costs-performance"></a>

Saat Anda menerapkan enkripsi sisi server, Anda tunduk pada penggunaan AWS KMS API dan biaya utama. Tidak seperti kunci master KMS khusus, kunci master `(Default) aws/kinesis` pelanggan (CMK) ditawarkan secara gratis. Namun, Anda tetap harus membayar biaya penggunaan API yang dikeluarkan Amazon Kinesis Data Streams atas nama Anda.

Biaya penggunaan API berlaku untuk setiap CMK, termasuk yang khusus. Kinesis Data AWS KMS Streams memanggil kira-kira setiap lima menit ketika memutar kunci data. Dalam 30 hari, total biaya panggilan AWS KMS API yang diprakarsai oleh aliran Kinesis harus kurang dari beberapa dolar. Biaya ini disesuaikan dengan jumlah kredensil pengguna yang Anda gunakan pada produsen data dan konsumen Anda karena setiap kredensi pengguna memerlukan panggilan API yang unik. AWS KMS Bila Anda menggunakan peran IAM untuk autentikasi, masing-masing menganggap panggilan peran menghasilkan kredensi pengguna yang unik. Untuk menghemat biaya KMS, Anda mungkin ingin menyimpan kredenal pengguna cache yang dikembalikan oleh panggilan peran asumsi. 

Berikut ini menjelaskan biaya berdasarkan sumber daya:

**Kunci**
+ CMK untuk Kinesis yang dikelola AWS oleh (alias `aws/kinesis` =) gratis.
+ Kunci KMS buatan pengguna dikenakan biaya utama KMS. Untuk informasi selengkapnya, lihat [Harga Layanan Manajemen AWS Utama](https://aws.amazon.com/kms/pricing/#Keys).

Biaya penggunaan API berlaku untuk setiap CMK, termasuk yang khusus. Kinesis Data Streams memanggil KMS kira-kira setiap 5 menit ketika memutar kunci data. Dalam bulan 30 hari, total biaya panggilan API KMS yang diprakarsai oleh aliran data Kinesis harus kurang dari beberapa dolar. Harap dicatat bahwa biaya ini disesuaikan dengan jumlah kredensional pengguna yang Anda gunakan pada produsen data dan konsumen Anda karena setiap kredensi pengguna memerlukan panggilan API unik ke KMS. AWS Bila Anda menggunakan peran IAM untuk otentikasi, masing-masing assume-role-call akan menghasilkan kredensi pengguna yang unik dan Anda mungkin ingin menyimpan kredensi pengguna cache yang dikembalikan oleh untuk menghemat biaya KMS. assume-role-call

## Penggunaan API KMS
<a name="api-usage"></a>

Untuk setiap aliran terenkripsi, ketika membaca dari TIP dan menggunakan kunci account/user akses IAM tunggal di seluruh pembaca dan penulis, layanan Kinesis memanggil AWS KMS layanan sekitar 12 kali setiap 5 menit. Tidak membaca dari TIP dapat menyebabkan panggilan yang lebih tinggi ke AWS KMS layanan. Permintaan API untuk menghasilkan kunci enkripsi data baru dikenakan biaya AWS KMS penggunaan. Untuk informasi selengkapnya, lihat [Harga Layanan Manajemen AWS Utama: Penggunaan](https://aws.amazon.com/kms/pricing/#Usage).

## Ketersediaan enkripsi sisi server menurut Wilayah
<a name="sse-regions"></a>

Saat ini, enkripsi sisi server dari aliran Kinesis tersedia di semua Wilayah yang didukung untuk Kinesis Data Streams, termasuk (AS-Barat), dan Wilayah Tiongkok. AWS GovCloud Untuk informasi selengkapnya tentang Wilayah yang didukung untuk Kinesis Data [https://docs.aws.amazon.com/general/latest/gr/akStreams](https://docs.aws.amazon.com/general/latest/gr/ak.html), lihat .html.

## Pertimbangan Kinerja
<a name="performance-considerations"></a>

Karena overhead layanan penerapan enkripsi, menerapkan enkripsi sisi server meningkatkan latensi tipikal`PutRecord`,`PutRecords`, dan `GetRecords` kurang dari 100μs.

# Bagaimana cara memulai dengan enkripsi sisi server?
<a name="getting-started-with-sse"></a>

Cara termudah untuk memulai dengan enkripsi sisi server adalah dengan menggunakan Konsol Manajemen AWS dan Kunci Layanan Amazon Kinesis KMS,. `aws/kinesis`

Prosedur berikut menunjukkan cara mengaktifkan enkripsi sisi server untuk aliran Kinesis.

**Untuk mengaktifkan enkripsi sisi server untuk aliran Kinesis**

1. Masuk ke Konsol Manajemen AWS dan buka konsol [Amazon Kinesis Data Streams](https://console.aws.amazon.com/kinesis/home?region=us-east-1#/streams/list).

1. Buat atau pilih aliran Kinesis di file. Konsol Manajemen AWS

1. Pilih tab **detail**.

1. **Di **enkripsi sisi server**, pilih edit.**

1. Kecuali Anda ingin menggunakan kunci master KMS buatan pengguna, pastikan kunci master KMS **aws/kinesis (Default)** dipilih. Ini adalah kunci master KMS yang dihasilkan oleh layanan Kinesis. Pilih **Diaktifkan**, lalu pilih **Simpan**. 
**catatan**  
Kunci master layanan Kinesis default gratis, namun panggilan API yang dilakukan oleh Kinesis ke AWS KMS layanan dikenakan biaya penggunaan KMS. 

1. Aliran transisi melalui status **tertunda**. Setelah aliran kembali ke status **aktif** dengan enkripsi diaktifkan, semua data masuk yang ditulis ke aliran dienkripsi menggunakan kunci master KMS yang Anda pilih.

1. **Untuk menonaktifkan enkripsi sisi server, pilih **Dinonaktifkan** di **enkripsi sisi server** di, lalu pilih Simpan. Konsol Manajemen AWS**

# Membuat dan menggunakan kunci KMS buatan pengguna
<a name="creating-using-sse-master-keys"></a>

Bagian ini menjelaskan cara membuat dan menggunakan kunci KMS Anda sendiri, alih-alih menggunakan kunci master yang dikelola oleh Amazon Kinesis.

## Buat kunci KMS buatan pengguna
<a name="creating-sse-master-keys"></a>

Untuk petunjuk cara membuat kunci Anda sendiri, lihat [Membuat Kunci](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) di *Panduan AWS Key Management Service Pengembang*. Setelah Anda membuat kunci untuk akun Anda, layanan Kinesis Data Streams mengembalikan kunci ini **dalam daftar kunci master KMS**.

## Gunakan kunci KMS buatan pengguna
<a name="using-sse-master-keys"></a>

Setelah izin yang benar diterapkan ke konsumen, produsen, dan administrator Anda, Anda dapat menggunakan kunci KMS khusus di akun Anda sendiri atau AWS akun lain. AWS Semua kunci master KMS di akun Anda muncul di daftar **Kunci Master KMS** di dalam. Konsol Manajemen AWS

Untuk menggunakan kunci master KMS khusus yang terletak di akun lain, Anda memerlukan izin untuk menggunakan kunci tersebut. Anda juga harus menentukan ARN dari kunci master KMS di kotak input ARN di. Konsol Manajemen AWS

# Izin untuk menggunakan kunci KMS buatan pengguna
<a name="permissions-user-key-KMS"></a>

Sebelum Anda dapat menggunakan enkripsi sisi server dengan kunci KMS buatan pengguna, Anda harus mengonfigurasi kebijakan AWS KMS kunci untuk mengizinkan enkripsi aliran dan enkripsi dan dekripsi catatan aliran. Untuk contoh dan informasi selengkapnya tentang AWS KMS izin, lihat Izin [API AWS KMS: Referensi Tindakan dan Sumber Daya](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html). 

**catatan**  
Penggunaan kunci layanan default untuk enkripsi tidak memerlukan penerapan izin IAM khusus.

Sebelum Anda menggunakan kunci master KMS buatan pengguna, pastikan bahwa produsen dan konsumen Kinesis stream Anda (prinsip IAM) adalah pengguna dalam kebijakan kunci utama KMS. Jika tidak, menulis dan membaca dari aliran akan gagal, yang pada akhirnya dapat mengakibatkan hilangnya data, pemrosesan tertunda, atau aplikasi yang macet. Anda dapat mengelola izin untuk kunci KMS menggunakan kebijakan IAM. Untuk informasi selengkapnya, lihat [Menggunakan Kebijakan IAM dengan AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html).

## Konteks enkripsi Kinesis Data Streams
<a name="sse-kms-encryption-context"></a>

Ketika Amazon Kinesis Data AWS KMS Streams memanggil atas nama Anda, itu meneruskan AWS KMS konteks enkripsi yang dapat digunakan sebagai syarat untuk otorisasi dalam kebijakan dan hibah utama. Kinesis Data Streams menggunakan arus ARN sebagai konteks enkripsi dalam semua panggilan. AWS KMS 

```
"encryptionContext": {
    "aws:kinesis:arn": "arn:aws:kinesis:region:account-id:stream/stream-name"
}
```

Anda dapat menggunakan konteks enkripsi untuk mengidentifikasi penggunaan kunci KMS Anda dalam catatan audit dan log. Itu juga muncul dalam teks biasa di log, seperti. AWS CloudTrail

Untuk membatasi penggunaan kunci KMS Anda ke permintaan dari Kinesis Data Streams untuk aliran tertentu, gunakan `kms:EncryptionContext:aws:kinesis:arn` kunci kondisi dalam kebijakan kunci KMS atau kebijakan IAM.

## Contoh izin produsen
<a name="example-producer-permissions"></a>

Produsen aliran Kinesis Anda harus memiliki izin. `kms:GenerateDataKey`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "kms:GenerateDataKey"
        ],
        "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }, 
    {
        "Effect": "Allow",
        "Action": [
            "kinesis:PutRecord",
            "kinesis:PutRecords"
        ],
        "Resource": "arn:aws:kinesis:*:123456789012:MyStream"
    }
  ]
}
```

------

## Contoh izin konsumen
<a name="example-consumer-permissions"></a>

Konsumen Kinesis stream Anda harus memiliki izin. `kms:Decrypt`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }, 
    {
        "Effect": "Allow",
        "Action": [
            "kinesis:GetRecords",
            "kinesis:DescribeStream"
        ],
        "Resource": "arn:aws:kinesis:*:123456789012:MyStream"
    }
  ]
}
```

------

Amazon Managed Service untuk Apache Flink dan AWS Lambda menggunakan peran untuk menggunakan aliran Kinesis. Pastikan untuk menambahkan `kms:Decrypt` izin ke peran yang digunakan konsumen ini.

## Izin administrator streaming
<a name="stream-administrator-permissions"></a>

Administrator aliran Kinesis harus memiliki otorisasi untuk menelepon dan. `kms:List*` `` `kms:DescribeKey*`

# Verifikasi dan Memecahkan Masalah izin kunci KMS
<a name="sse-troubleshooting"></a>

Setelah mengaktifkan enkripsi pada aliran Kinesis, sebaiknya Anda memantau keberhasilan`putRecords`, `getRecords` dan panggilan menggunakan metrik Amazon CloudWatch berikut: `putRecord`
+  `PutRecord.Success` 
+  `PutRecords.Success` 
+  `GetRecords.Success` 

Untuk informasi selengkapnya, lihat [Pantau Kinesis Data Streams](monitoring.md)

# Gunakan Amazon Kinesis Data Streams dengan titik akhir VPC antarmuka
<a name="vpc"></a>

Anda dapat menggunakan titik akhir VPC antarmuka untuk mencegah lalu lintas antara Amazon VPC dan Kinesis Data Streams Anda meninggalkan jaringan Amazon. Endpoint VPC antarmuka tidak memerlukan gateway internet, perangkat NAT, koneksi VPN, atau koneksi. Direct Connect Endpoint VPC antarmuka didukung oleh AWS PrivateLink, sebuah AWS teknologi yang memungkinkan komunikasi pribadi antar AWS layanan menggunakan antarmuka elastic network dengan private di Amazon VPC IPs Anda. Untuk informasi selengkapnya, lihat [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) dan [Interface VPC Endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) ().AWS PrivateLink 

**Topics**
+ [Gunakan titik akhir VPC antarmuka untuk Kinesis Data Streams](#using-interface-vpc-endpoints)
+ [Kontrol akses ke titik akhir VPC untuk Kinesis Data Streams](#interface-vpc-endpoints-policies)
+ [Ketersediaan kebijakan endpoint VPC untuk Kinesis Data Streams](#availability)

## Gunakan titik akhir VPC antarmuka untuk Kinesis Data Streams
<a name="using-interface-vpc-endpoints"></a>

Untuk memulai, Anda tidak perlu mengubah pengaturan untuk aliran, produsen, atau konsumen Anda. Buat titik akhir VPC antarmuka untuk Kinesis Data Streams untuk memulai lalu lintas yang mengalir dari dan ke sumber daya VPC Amazon Anda melalui titik akhir VPC antarmuka. Titik akhir VPC antarmuka berkemampuan FIPS tersedia untuk Wilayah AS. Untuk informasi selengkapnya, lihat [Membuat Titik Akhir Antarmuka](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint).

Layanan panggilan Amazon Kinesis Producer Library (KPL) dan Kinesis Consumer Library (KCL) seperti AWS Amazon dan Amazon CloudWatch DynamoDB menggunakan titik akhir publik atau titik akhir VPC antarmuka pribadi, mana saja yang digunakan. Misalnya, jika aplikasi KCL Anda berjalan di VPC dengan antarmuka DynamoDB dengan titik akhir VPC diaktifkan, panggilan antara DynamoDB dan aplikasi KCL Anda mengalir melalui titik akhir VPC antarmuka.

## Kontrol akses ke titik akhir VPC untuk Kinesis Data Streams
<a name="interface-vpc-endpoints-policies"></a>

Kebijakan titik akhir VPC memungkinkan Anda mengontrol akses dengan melampirkan kebijakan ke titik akhir VPC atau dengan menggunakan bidang tambahan dalam kebijakan yang dilampirkan ke pengguna, grup, atau peran IAM untuk membatasi akses agar hanya terjadi melalui titik akhir VPC yang ditentukan. Gunakan kebijakan ini untuk membatasi akses ke aliran tertentu ke titik akhir VPC tertentu saat menggunakannya bersama dengan kebijakan IAM untuk hanya memberikan akses ke tindakan aliran data Kinesis melalui titik akhir VPC yang ditentukan.

Berikut ini adalah contoh kebijakan endpoint untuk mengakses aliran data Kinesis.
+ **Contoh kebijakan VPC: akses hanya-baca** - kebijakan sampel ini dapat dilampirkan ke titik akhir VPC. (Untuk informasi selengkapnya, lihat [Mengontrol Akses ke Sumber Daya VPC Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_IAM.html)). Ini membatasi tindakan untuk hanya mencantumkan dan menggambarkan aliran data Kinesis melalui titik akhir VPC yang dilampirkan.

  ```
  {
    "Statement": [
      {
        "Sid": "ReadOnly",
        "Principal": "*",
        "Action": [
          "kinesis:List*",
          "kinesis:Describe*"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```
+ **Contoh kebijakan VPC: batasi akses ke aliran data Kinesis tertentu** - kebijakan sampel ini dapat dilampirkan ke titik akhir VPC. Ini membatasi akses ke aliran data tertentu melalui titik akhir VPC yang dilampirkan.

  ```
  {
    "Statement": [
      {
        "Sid": "AccessToSpecificDataStream",
        "Principal": "*",
        "Action": "kinesis:*",
        "Effect": "Allow",
        "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/MyStream"
      }
    ]
  }
  ```
+ **Contoh kebijakan IAM: batasi akses ke aliran tertentu dari titik akhir VPC tertentu saja** - kebijakan sampel ini dapat dilampirkan ke pengguna, peran, atau grup IAM. Ini membatasi akses ke aliran data Kinesis tertentu hanya terjadi dari titik akhir VPC tertentu.

------
#### [ JSON ]

****  

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
        {
           "Sid": "AccessFromSpecificEndpoint",
           "Action": "kinesis:*",
           "Effect": "Deny",
           "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/MyStream",
           "Condition": { "StringNotEquals" : { "aws:sourceVpce": "vpce-11aa22bb" } }
        }
     ]
  }
  ```

------

## Ketersediaan kebijakan endpoint VPC untuk Kinesis Data Streams
<a name="availability"></a>

Titik akhir VPC antarmuka Kinesis Data Streams dengan kebijakan didukung di Wilayah berikut: 
+ Eropa (Paris)
+ Eropa (Irlandia)
+ AS Timur (Virginia Utara)
+ Eropa (Stockholm)
+ AS Timur (Ohio)
+ Eropa (Frankfurt)
+ Amerika Selatan (Sao Paulo)
+ Eropa (London)
+ Asia Pasifik (Tokyo)
+ AS Barat (California Utara)
+ Asia Pasifik (Singapura)
+ Asia Pasifik (Sydney)
+ China (Beijing)
+ China (Ningxia)
+ Asia Pasifik (Hong Kong)
+ Middle East (Bahrain) (Middle East (Bahrain))
+ Middle East (UAE)
+ Europe (Milan)
+ Africa (Cape Town)
+ Asia Pasifik (Mumbai)
+ Asia Pasifik (Seoul)
+ Kanada (Pusat)
+ AS Barat (Oregon) kecuali usw2-az4
+ AWS GovCloud (AS-Timur)
+ AWS GovCloud (AS-Barat)
+ Asia Pasifik (Osaka)
+ Europe (Zurich)
+ Asia Pasifik (Hyderabad)