

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

# Perlindungan data di Amazon Managed Streaming for Apache Kafka
<a name="data-protection"></a>

[Model tanggung jawab AWS bersama model](https://aws.amazon.com/compliance/shared-responsibility-model/) berlaku untuk perlindungan data di Amazon Managed Streaming for Apache Kafka. Seperti yang dijelaskan dalam model AWS ini, bertanggung jawab untuk melindungi infrastruktur global yang menjalankan semua AWS Cloud. Anda bertanggung jawab untuk mempertahankan kendali atas konten yang di-host pada infrastruktur ini. Anda juga bertanggung jawab atas tugas-tugas konfigurasi dan manajemen keamanan untuk Layanan AWS yang Anda gunakan. Lihat informasi yang lebih lengkap tentang privasi data dalam [Pertanyaan Umum Privasi Data](https://aws.amazon.com/compliance/data-privacy-faq/). Lihat informasi tentang perlindungan data di Eropa di pos blog [Model Tanggung Jawab Bersama dan GDPR AWS](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) di *Blog Keamanan AWS *.

Untuk tujuan perlindungan data, kami menyarankan Anda melindungi Akun AWS kredensyal dan mengatur pengguna individu dengan AWS IAM Identity Center atau AWS Identity and Access Management (IAM). Dengan cara itu, setiap pengguna hanya diberi izin yang diperlukan untuk memenuhi tanggung jawab tugasnya. Kami juga menyarankan supaya Anda mengamankan data dengan cara-cara berikut:
+ Gunakan autentikasi multi-faktor (MFA) pada setiap akun.
+ Gunakan SSL/TLS untuk berkomunikasi dengan AWS sumber daya. Kami mensyaratkan TLS 1.2 dan menganjurkan TLS 1.3.
+ Siapkan API dan pencatatan aktivitas pengguna dengan AWS CloudTrail. Untuk informasi tentang penggunaan CloudTrail jejak untuk menangkap AWS aktivitas, lihat [Bekerja dengan CloudTrail jejak](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) di *AWS CloudTrail Panduan Pengguna*.
+ Gunakan solusi AWS enkripsi, bersama dengan semua kontrol keamanan default di dalamnya Layanan AWS.
+ Gunakan layanan keamanan terkelola tingkat lanjut seperti Amazon Macie, yang membantu menemukan dan mengamankan data sensitif yang disimpan di Amazon S3.
+ Jika Anda memerlukan modul kriptografi tervalidasi FIPS 140-3 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-3](https://aws.amazon.com/compliance/fips/).

Kami sangat merekomendasikan agar Anda tidak pernah memasukkan informasi identifikasi yang sensitif, seperti nomor rekening pelanggan Anda, ke dalam tanda atau bidang isian bebas seperti bidang **Nama**. Ini termasuk ketika Anda bekerja dengan Amazon MSK atau lainnya Layanan AWS menggunakan konsol, API AWS CLI, atau AWS SDKs. Data apa pun yang Anda masukkan ke dalam tanda atau bidang isian bebas yang digunakan untuk nama dapat digunakan untuk log penagihan atau log diagnostik. Saat Anda memberikan URL ke server eksternal, kami sangat menganjurkan supaya Anda tidak menyertakan informasi kredensial di dalam URL untuk memvalidasi permintaan Anda ke server itu.

**Topics**
+ [Enkripsi Amazon MSK](msk-encryption.md)
+ [Memulai enkripsi MSK Amazon](msk-working-with-encryption.md)
+ [Gunakan Amazon MSK APIs dengan Titik Akhir VPC Antarmuka](privatelink-vpc-endpoints.md)

# Enkripsi Amazon MSK
<a name="msk-encryption"></a>

Amazon MSK menyediakan opsi enkripsi data yang dapat Anda gunakan untuk memenuhi persyaratan manajemen data yang ketat. Sertifikat yang digunakan Amazon MSK untuk enkripsi harus diperbarui setiap 13 bulan. Amazon MSK secara otomatis memperbarui sertifikat ini untuk semua cluster. Cluster broker ekspres tetap dalam `ACTIVE` keadaan saat Amazon MSK memulai operasi pembaruan sertifikat. Untuk klaster pialang standar, Amazon MSK menetapkan status cluster `MAINTENANCE` saat memulai operasi pembaruan sertifikat. MSK menyetelnya kembali ke `ACTIVE` saat pembaruan selesai. Saat cluster berada dalam operasi pemutakhiran sertifikat, Anda dapat terus memproduksi dan mengkonsumsi data, tetapi Anda tidak dapat melakukan operasi pembaruan apa pun di dalamnya.

## Enkripsi MSK Amazon saat istirahat
<a name="msk-encryption-at-rest"></a>

Amazon MSK terintegrasi dengan [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/)(KMS) untuk menawarkan enkripsi sisi server yang transparan. Amazon MSK selalu mengenkripsi data Anda saat istirahat. Saat Anda membuat klaster MSK, Anda dapat menentukan AWS KMS key yang Anda ingin Amazon MSK gunakan untuk mengenkripsi data Anda saat istirahat. Jika Anda tidak menentukan kunci KMS, Amazon MSK membuat [Kunci yang dikelola AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)untuk Anda dan menggunakannya atas nama Anda. Untuk informasi selengkapnya tentang kunci KMS, lihat [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) di *Panduan Developer AWS Key Management Service *.

## Enkripsi MSK Amazon dalam perjalanan
<a name="msk-encryption-in-transit"></a>

Amazon MSK menggunakan TLS 1.2. Secara default, ini mengenkripsi data dalam perjalanan antara broker kluster MSK Anda. Anda dapat mengganti default ini pada saat Anda membuat cluster. 

Untuk komunikasi antara klien dan broker, Anda harus menentukan salah satu dari tiga pengaturan berikut:
+ Hanya izinkan data terenkripsi TLS. Ini adalah pengaturan default.
+ Izinkan plaintext, serta data terenkripsi TLS.
+ Hanya izinkan data plaintext.

Broker MSK Amazon menggunakan AWS Certificate Manager sertifikat publik. Oleh karena itu, setiap truststore yang mempercayai Amazon Trust Services juga mempercayai sertifikat broker MSK Amazon.

Meskipun kami sangat menyarankan untuk mengaktifkan enkripsi dalam transit, ini dapat menambahkan overhead CPU tambahan dan latensi beberapa milidetik. Namun, sebagian besar kasus penggunaan tidak sensitif terhadap perbedaan ini, dan besarnya dampaknya bergantung pada konfigurasi klaster, klien, dan profil penggunaan Anda. 

# Memulai enkripsi MSK Amazon
<a name="msk-working-with-encryption"></a>

Saat membuat cluster MSK, Anda dapat menentukan pengaturan enkripsi dalam format JSON. Berikut adalah contohnya.

```
{
   "EncryptionAtRest": {
       "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcdabcd-1234-abcd-1234-abcd123e8e8e"
    },
   "EncryptionInTransit": {
        "InCluster": true,
        "ClientBroker": "TLS"
    }
}
```

Untuk`DataVolumeKMSKeyId`, Anda dapat menentukan [kunci yang dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) atau MSK Kunci yang dikelola AWS untuk di akun Anda (`alias/aws/kafka`). Jika Anda tidak menentukan`EncryptionAtRest`, Amazon MSK masih mengenkripsi data Anda saat istirahat di bawah. Kunci yang dikelola AWS Untuk menentukan kunci mana yang digunakan klaster Anda, kirim `GET` permintaan atau panggil operasi `DescribeCluster` API. 

Untuk`EncryptionInTransit`, nilai default `InCluster` adalah true, tetapi Anda dapat mengaturnya ke false jika Anda tidak ingin Amazon MSK mengenkripsi data Anda saat melewati antara broker.

Untuk menentukan mode enkripsi untuk data dalam perjalanan antara klien dan broker, atur `ClientBroker` ke salah satu dari tiga nilai:`TLS`,`TLS_PLAINTEXT`, atau`PLAINTEXT`.

**Topics**
+ [Tentukan pengaturan enkripsi saat membuat cluster MSK Amazon](msk-working-with-encryption-cluster-create.md)
+ [Uji enkripsi Amazon MSK TLS](msk-working-with-encryption-test-tls.md)

# Tentukan pengaturan enkripsi saat membuat cluster MSK Amazon
<a name="msk-working-with-encryption-cluster-create"></a>

Proses ini menjelaskan cara menentukan pengaturan enkripsi saat membuat cluster MSK Amazon.

**Tentukan pengaturan enkripsi saat membuat cluster**

1. Simpan isi dari contoh sebelumnya dalam file dan berikan file nama apa pun yang Anda inginkan. Misalnya, sebut saja`encryption-settings.json`.

1. Jalankan `create-cluster` perintah dan gunakan `encryption-info` opsi untuk menunjuk ke file tempat Anda menyimpan konfigurasi JSON Anda. Berikut adalah contohnya. Ganti *\$1YOUR MSK VERSION\$1* dengan versi yang cocok dengan versi klien Apache Kafka. Untuk informasi tentang cara menemukan versi klaster MSK Anda, lihat[Menentukan versi klaster MSK Anda](create-topic.md#find-msk-cluster-version). Ketahuilah bahwa menggunakan versi klien Apache Kafka yang tidak sama dengan versi cluster MSK Anda dapat menyebabkan kerusakan, kehilangan, dan waktu henti data Apache Kafka.

   ```
   aws kafka create-cluster --cluster-name "ExampleClusterName" --broker-node-group-info file://brokernodegroupinfo.json --encryption-info file://encryptioninfo.json --kafka-version "{YOUR MSK VERSION}" --number-of-broker-nodes 3
   ```

   Berikut ini adalah contoh respons yang berhasil setelah menjalankan perintah ini.

   ```
   {
       "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/SecondTLSTest/abcdabcd-1234-abcd-1234-abcd123e8e8e",
       "ClusterName": "ExampleClusterName",
       "State": "CREATING"
   }
   ```

# Uji enkripsi Amazon MSK TLS
<a name="msk-working-with-encryption-test-tls"></a>

Proses ini menjelaskan cara menguji enkripsi TLS di Amazon MSK.

**Untuk menguji enkripsi TLS**

1. Buat mesin klien mengikuti panduan di[Langkah 3: Buat mesin klien](create-client-machine.md).

1. Instal Apache Kafka di mesin klien.

1. Dalam contoh ini kita menggunakan truststore JVM untuk berbicara dengan cluster MSK. Untuk melakukan ini, pertama buat folder bernama `/tmp` pada mesin klien. Kemudian, buka `bin` folder instalasi Apache Kafka, dan jalankan perintah berikut. (Jalur JVM Anda mungkin berbeda.)

   ```
   cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64/jre/lib/security/cacerts /tmp/kafka.client.truststore.jks
   ```

1. Saat masih dalam `bin` folder instalasi Apache Kafka di mesin klien, buat file teks bernama `client.properties` dengan konten berikut.

   ```
   security.protocol=SSL
   ssl.truststore.location=/tmp/kafka.client.truststore.jks
   ```

1. Jalankan perintah berikut pada mesin yang telah AWS CLI diinstal, ganti *clusterARN* dengan ARN cluster Anda.

   ```
   aws kafka get-bootstrap-brokers --cluster-arn clusterARN
   ```

   Hasil yang sukses terlihat seperti berikut ini. Simpan hasil ini karena Anda membutuhkannya untuk langkah selanjutnya.

   ```
   {
       "BootstrapBrokerStringTls": "a-1.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123,a-3.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123,a-2.example.g7oein.c2.kafka.us-east-1.amazonaws.com:0123"
   }
   ```

1. Jalankan perintah berikut, ganti *BootstrapBrokerStringTls* dengan salah satu titik akhir broker yang Anda peroleh pada langkah sebelumnya.

   ```
   <path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list BootstrapBrokerStringTls --producer.config client.properties --topic TLSTestTopic
   ```

1. Buka jendela perintah baru dan sambungkan ke mesin klien yang sama. Kemudian, jalankan perintah berikut untuk membuat konsumen konsol.

   ```
   <path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-server BootstrapBrokerStringTls --consumer.config client.properties --topic TLSTestTopic
   ```

1. Di jendela produser, ketik pesan teks diikuti dengan pengembalian, dan cari pesan yang sama di jendela konsumen. Amazon MSK mengenkripsi pesan ini dalam perjalanan.

[Untuk informasi selengkapnya tentang mengonfigurasi klien Apache Kafka agar bekerja dengan data terenkripsi, lihat Mengonfigurasi Klien Kafka.](https://kafka.apache.org/documentation/#security_configclients)

# Gunakan Amazon MSK APIs dengan Titik Akhir VPC Antarmuka
<a name="privatelink-vpc-endpoints"></a>

Anda dapat menggunakan Endpoint VPC Antarmuka, yang didukung oleh AWS PrivateLink, untuk mencegah lalu lintas antara VPC Amazon dan MSK APIs Amazon Anda meninggalkan jaringan Amazon. Titik Akhir VPC Antarmuka tidak memerlukan gateway internet, perangkat NAT, koneksi VPN, atau koneksi Direct AWS Connect. [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html)adalah AWS teknologi yang memungkinkan komunikasi pribadi antar AWS layanan menggunakan elastic network interface dengan private IPs di Amazon VPC Anda. Untuk informasi selengkapnya, lihat [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) dan [Interface VPC Endpoints](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint) ().AWS PrivateLink

Aplikasi Anda dapat terhubung dengan Amazon MSK Provisioned dan MSK Connect menggunakan. APIs AWS PrivateLink Untuk memulai, buat Endpoint VPC Antarmuka untuk API MSK Amazon Anda 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 Endpoint Antarmuka](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint).

Dengan menggunakan fitur ini, klien Apache Kafka Anda dapat secara dinamis mengambil string koneksi untuk terhubung dengan sumber daya MSK Provisioned atau MSK Connect tanpa melintasi internet untuk mengambil string koneksi.

Saat membuat Endpoint VPC Antarmuka, pilih salah satu titik akhir nama layanan berikut:

**Untuk MSK Disediakan:**
+ Titik akhir nama layanan berikut tidak lagi didukung untuk koneksi baru:
  + com.amazonaws.region.kafka
  + com.amazonaws.region.kafka-fips (diaktifkan FIPS)
+ Layanan endpoint dualstack yang mendukung keduanya IPv4 dan IPv6 lalu lintas adalah:
  + aws.api.region.kafka-api
  + aws.api.region. kafka-api-fips (FIPS-diaktifkan)

Untuk menyiapkan titik akhir dualstack, Anda harus mengikuti pedoman titik akhir [Dual-stack](https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html) dan FIPS.

Di mana wilayah adalah nama wilayah Anda. Pilih nama layanan ini untuk bekerja dengan MSK APIs Provisioned-compatible. Untuk informasi selengkapnya, lihat [Operasi](https://docs.aws.amazon.com/msk/1.0/apireference/operations.html) di *https://docs.aws.amazon.com/msk/1.0/apireference/*.

**Untuk MSK Connect:**
+ com.amazonaws.region.kafkaconnect

Di mana wilayah adalah nama wilayah Anda. Pilih nama layanan ini untuk bekerja dengan MSK APIs Connect-kompatibel. Untuk informasi selengkapnya, lihat [Tindakan](https://docs.aws.amazon.com/MSKC/latest/mskc/API_Operations.html) di *Referensi API Amazon MSK Connect*.

*Untuk informasi selengkapnya, termasuk step-by-step petunjuk untuk membuat titik akhir VPC antarmuka, lihat [Membuat titik akhir antarmuka](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint) di Panduan.AWS PrivateLink *

## Kontrol akses ke titik akhir VPC untuk Amazon MSK Provisioned atau MSK Connect APIs
<a name="vpc-endpoints-control-access"></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 contoh yang sesuai untuk menentukan izin akses untuk layanan MSK Provisioned atau MSK Connect.

Jika Anda tidak melampirkan kebijakan ketika membuat titik akhir, Amazon VPC melampirkan kebijakan default untuk Anda sehingga memungkinkan akses penuh ke layanan. Kebijakan endpoint tidak mengesampingkan atau mengganti kebijakan berbasis identitas IAM atau kebijakan khusus layanan. Ini adalah kebijakan terpisah untuk mengendalikan akses dari titik akhir ke layanan tertentu.

*Untuk informasi selengkapnya, lihat [Mengontrol Akses ke Layanan dengan Titik Akhir VPC di Panduan](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html).AWS PrivateLink *

------
#### [ MSK Provisioned — VPC policy example ]

**Akses hanya-baca**  
Kebijakan sampel ini dapat dilampirkan ke titik akhir VPC. (Untuk informasi selengkapnya, lihat Mengontrol Akses ke Sumber Daya VPC Amazon). Ini membatasi tindakan untuk hanya mencantumkan dan menjelaskan operasi melalui titik akhir VPC yang dilampirkan.

```
{
  "Statement": [
    {
      "Sid": "MSKReadOnly",
      "Principal": "*",
      "Action": [
        "kafka:List*",
        "kafka:Describe*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

**MSK Provisioned - Contoh kebijakan titik akhir VPC**  
Batasi akses ke kluster MSK tertentu

Kebijakan sampel ini dapat dilampirkan ke titik akhir VPC. Ini membatasi akses ke cluster Kafka tertentu melalui titik akhir VPC yang dilampirkan.

```
{
  "Statement": [
    {
      "Sid": "AccessToSpecificCluster",
      "Principal": "*",
      "Action": "kafka:*",
      "Effect": "Allow",
      "Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/MyCluster"
    }
  ]
}
```

------
#### [ MSK Connect — VPC endpoint policy example ]

**Daftar konektor dan buat konektor baru**  
Berikut ini adalah contoh kebijakan endpoint untuk MSK Connect. Kebijakan ini memungkinkan peran yang ditentukan untuk mencantumkan konektor dan membuat konektor baru.

```
{
    "Version": "2012-10-17", 		 	 	 		 	 	 
    "Statement": [
        {
            "Sid": "MSKConnectPermissions",
            "Effect": "Allow",
            "Action": [
                "kafkaconnect:ListConnectors",
                "kafkaconnect:CreateConnector"
            ],
            "Resource": "*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/MyMSKConnectExecutionRole"
                ]
            }
        }
    ]
}
```

**MSK Connect - Contoh kebijakan titik akhir VPC**  
Mengizinkan hanya permintaan dari alamat IP tertentu di VPC yang ditentukan

Contoh berikut menunjukkan kebijakan yang hanya memungkinkan permintaan yang berasal dari alamat IP tertentu di VPC tertentu untuk berhasil. Permintaan dari alamat IP lain akan gagal.

```
{
    "Statement": [
        {
            "Action": "kafkaconnect:*",
            "Effect": "Allow",
            "Principal": "*",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:VpcSourceIp": "192.0.2.123"
                },
        "StringEquals": {
                    "aws:SourceVpc": "vpc-555555555555"
                }
            }
        }
    ]
}
```

------