

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# Otentikasi dengan mTL untuk konsumsi streaming Redshift dari sumber Apache Kafka
<a name="materialized-view-streaming-ingestion-mtls"></a>

Mutual transport-layer security (mTLS) menyediakan sarana bagi server untuk mengotentikasi klien yang mengirim informasi ke, dan bagi klien untuk mengautentikasi server. Manfaat menggunakan mTL adalah menyediakan otentikasi tepercaya untuk berbagai kasus penggunaan di beberapa aplikasi vertikal industri. Ini termasuk kasus penggunaan di industri keuangan, ritel, pemerintah dan perawatan kesehatan. Dalam kasus konsumsi streaming ke Redshift, otentikasi terjadi antara server, yang dapat berupa Amazon MSK, Apache Kafka, atau Confluent Cloud, dan cluster yang disediakan Amazon Redshift atau grup kerja Amazon Redshift Tanpa Server.

Topik ini menyediakan prosedur dan contoh perintah SQL yang menunjukkan cara untuk membuat skema eksternal yang menggunakan mTLS untuk mengautentikasi antara klien Redshift dan server Apache Kafka apa pun. Langkah-langkah dalam topik ini melengkapi serangkaian langkah lengkap untuk mengatur konsumsi streaming dari sumber Apache Kafka. Untuk informasi selengkapnya, lihat [Memulai dengan konsumsi streaming dari sumber Apache Kafka](materialized-view-streaming-ingestion-getting-started-MSK.md).

## Prasyarat untuk menggunakan mTL untuk streaming konsumsi
<a name="materialized-view-streaming-ingestion-mtls-prerequisites"></a>

Bagian ini memberikan langkah-langkah prasyarat untuk menggunakan mTL untuk streaming konsumsi dengan salah satu atau. AWS Certificate Manager AWS Secrets Manager

Sebagai langkah awal, Anda harus memiliki atau membuat otoritas sertifikat pribadi (PCA), yang dapat Anda gunakan untuk menerbitkan sertifikat yang, di antara fungsi-fungsi lainnya, memungkinkan komunikasi yang aman melalui saluran komunikasi yang aman. AWS Private Certificate Authority (Private CA) adalah layanan yang tersedia yang melakukan fungsi ini. Untuk informasi selengkapnya, lihat [Membuat CA pribadi](https://docs.aws.amazon.com/privateca/latest/userguide/create-CA.html) di *Panduan AWS Private Certificate Authority Pengguna*. Setelah membuat Private CA, ekspor sertifikat CA root dan simpan ke file dengan ekstensi.pem. 

Untuk membuat cluster yang menggunakan sertifikat CA, lakukan hal berikut:

------
#### [ Amazon MSK ]

1. Buat kluster MSK Amazon yang mendukung otentikasi klien mtls. Untuk informasi selengkapnya tentang mengonfigurasi klaster MSK Amazon, lihat [Autentikasi klien Mutual TLS untuk Amazon MSK di Panduan Pengembang Amazon](https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html#msk-authentication-cluster) *Managed Streaming for Apache Kafka*.

1. Edit pengaturan keamanan untuk kluster MSK Amazon, aktifkan otentikasi klien TLS menggunakan AWS Certificate Manager (ACM) dan memilih AWS Private CA (PCA) yang Anda buat sebelumnya. Untuk informasi selengkapnya, lihat [Memperbarui setelan keamanan klaster](https://docs.aws.amazon.com/msk/latest/developerguide/msk-update-security.html) di Panduan Pengembang *Amazon Managed Streaming for Apache Kafka*.

------
#### [ Confluent Cloud ]

1. Buat cluster Confluent Cloud khusus, sebaiknya Wilayah AWS sama dengan cluster Amazon Redshift Anda. Untuk informasi tentang membuat cluster Confluent Cloud, lihat [Membuat klaster Kafka di](https://docs.confluent.io/cloud/current/get-started/index.html#step-1-create-a-ak-cluster-in-ccloud) Confluent Cloud.

1. Unggah file pem sertifikat CA AWS Private CA root yang diekspor yang Anda buat sebelumnya. Untuk informasi selengkapnya, lihat [Mengelola otoritas sertifikat untuk autentikasi mTLS untuk Confluent](https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/mtls/certificate-authority.html) Cloud. Confluent Cloud menggunakan sertifikat ini untuk memverifikasi sertifikat klien Amazon Redshift. 

------

## Menggunakan mTL untuk streaming konsumsi dengan AWS Certificate Manager
<a name="materialized-view-streaming-ingestion-mtls-acm"></a>

Prosedur berikut menunjukkan cara mengonfigurasi mTL untuk konsumsi streaming Redshift dengan AWS Certificate Manager menggunakan (ACM) untuk penyimpanan dan manajemen sertifikat:

1. Minta sertifikat pribadi melalui ACM. Ketika Anda melakukan ini, pilih PCA yang Anda buat di bagian Prasyarat sebagai otoritas sertifikat. ACM menyimpan sertifikat yang ditandatangani dan kunci pribadi terlampir untuk komunikasi yang aman. Untuk informasi selengkapnya tentang mengelola sertifikat dengan ACM, lihat [Menerbitkan dan mengelola sertifikat](https://docs.aws.amazon.com/acm/latest/userguide/gs.html) di *AWS Certificate Manager Panduan Pengguna*.

1. **Untuk peran IAM yang Anda gunakan untuk mengelola klaster Redshift atau workgroup Amazon Redshift Tanpa Server, lampirkan izin untuk mengekspor sertifikat, yaitu acm:. ExportCertificate** Untuk informasi lebih lanjut tentang menyiapkan sumber daya IAM yang diperlukan untuk streaming konsumsi, lihat. [Menyiapkan konsumsi streaming dari Kafka](materialized-view-streaming-ingestion-getting-started-MSK.md#materialized-view-streaming-ingestion-getting-started-MSK-setup) Tentukan peran IAM yang sama di langkah berikutnya untuk membuat skema eksternal.
**catatan**  
Permintaan untuk AWS Certificate Manager meminta gateway Internet (IGW) atau gateway NAT (NGW) di VPC Anda. Jika VPC Anda tidak memiliki IGW atau NGW, lakukan hal berikut:  
Gunakan Secrets Manager alih-alih ACM untuk menyimpan sertifikat Anda.
Lampirkan titik akhir VPC Secrets Manager ke VPC Anda.
Untuk informasi tentang menggunakan Secrets Manager dengan mTLS untuk streaming konsumsi, lihat berikut. [Menggunakan mTL untuk streaming konsumsi dengan AWS Secrets Manager](#materialized-view-streaming-ingestion-mtls-secrets-manager)

1. Dapatkan URI broker bootstrap untuk Amazon MSK, Apache Kafka, atau cluster Confluent Cloud. Untuk informasi tentang mendapatkan URI broker bootstrap untuk Amazon MSK, lihat [Mendapatkan broker bootstrap untuk cluster MSK Amazon](https://docs.aws.amazon.com/msk/latest/developerguide/msk-get-bootstrap-brokers.html) di Panduan Pengembang *Amazon Managed Streaming for Apache* Kafka.

1.  Jalankan perintah SQL seperti contoh berikut untuk membuat skema eksternal yang memetakan cluster ke skema eksternal Redshift, menggunakan. `mtls`

------
#### [ Amazon MSK ]

   ```
   CREATE EXTERNAL SCHEMA my_schema
   FROM KAFKA
   IAM_ROLE 'arn:aws:iam::012345678901:role/my_role'
   AUTHENTICATION mtls
   URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094,b-2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094'
   AUTHENTICATION_ARN 'arn:aws:acm:Region:444455556666:certificate/certificate_ID';
   ```

------
#### [ Apache Kafka or Confluent Cloud ]

   ```
   CREATE EXTERNAL SCHEMA my_schema
   FROM KAFKA
   IAM_ROLE 'arn:aws:iam::012345678901:role/my_role'
   AUTHENTICATION mtls
   URI 'lkc-2v531.domz6wj0p.us-west-1.aws.confluent.cloud:9092'
   AUTHENTICATION_ARN 'arn:aws:acm:region:444455556666:certificate/certificate_ID';
   ```

------

   Parameter penting:
   + IAM\$1ROLE — Peran IAM yang terkait dengan cluster, untuk streaming konsumsi.
   + URI — URI broker bootstrap untuk cluster. Perhatikan bahwa untuk Amazon MSK, port 9094 ditentukan untuk berkomunikasi dengan broker untuk enkripsi TLS.
   + AUTHENTICATION\$1ARN — ARN dari sertifikat ACM. ARN tersedia di konsol ACM saat Anda memilih sertifikat yang dikeluarkan.

Setelah melakukan langkah-langkah konfigurasi ini, Anda dapat membuat tampilan terwujud Redshift yang mereferensikan skema yang ditentukan dalam sampel dan kemudian menggunakan REFRESH MATERIALIZED VIEW untuk mengalirkan data. Untuk informasi selengkapnya, lihat [Memulai dengan konsumsi streaming dari sumber Apache Kafka](materialized-view-streaming-ingestion-getting-started-MSK.md).

## Menggunakan mTL untuk streaming konsumsi dengan AWS Secrets Manager
<a name="materialized-view-streaming-ingestion-mtls-secrets-manager"></a>

Anda dapat mengonfigurasi mTL untuk konsumsi streaming Redshift dengan AWS Secrets Manager menggunakan untuk manajemen sertifikat jika Anda tidak ingin mereferensikan sertifikat. AWS Certificate Manager Langkah-langkah berikut menjelaskan cara mengkonfigurasi mTL menggunakan Secrets Manager.

1. Buat permintaan penandatanganan sertifikat dan kunci pribadi dengan alat pilihan Anda. Kemudian Anda dapat menggunakan permintaan penandatanganan untuk menghasilkan sertifikat yang ditandatangani, menggunakan AWS Private CA (PCA) yang sama yang Anda gunakan untuk menghasilkan sertifikat untuk klaster. Untuk informasi selengkapnya tentang menerbitkan sertifikat, lihat [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html)di *Referensi AWS Private Certificate Authority API*.

1. Ekstrak sertifikat menggunakan AWS Private Certificate Authority. Untuk informasi selengkapnya, lihat [Mengambil sertifikat pribadi](https://docs.aws.amazon.com/privateca/latest/userguide/PcaGetCert.html) di *Panduan AWS Private Certificate Authority Pengguna*.

1. Simpan sertifikat dan kunci pribadi yang dihasilkan pada langkah sebelumnya di AWS Secrets Manager. Pilih `Other type of secret` dan gunakan format plaintext. Pasangan kunci-nilai harus dalam format`{"certificate":"<cert value>","privateKey":"<pkey value>"}`, seperti pada contoh berikut. Untuk informasi selengkapnya tentang membuat dan mengelola rahasia AWS Secrets Manager, lihat [Membuat dan mengelola rahasia dengan AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) di *Panduan AWS Secrets Manager Pengguna*.

   ```
   {"certificate":"-----BEGIN CERTIFICATE-----
   klhdslkfjahksgdfkgioeuyihbflahabhbdslv6akybeoiwv1hoaiusdhbahsbdi 
   H4hAX8/eE96qCcjkpfT84EdvHzp6fC+/WwM0oXlwUEWlvfMCXNaG5D8SqRq3qA==
   -----END CERTIFICATE-----
   -----BEGIN CERTIFICATE-----
   klhdslkfjahksgdfkgioeuyihbflahabhbdslv6akybeoiwv1hoaiusdhbahsbdi 
   wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   -----END CERTIFICATE-----",
   "privateKey":"-----BEGIN PRIVATE KEY-----
   klhdslkfjahksgdfkgioeuyihbflahabhbdslv6akybeoiwv1hoaiusdhbahsbdi
   7OD4m1dBEs3Fj++hDMH9rYRp99RqtCOf0EWOUe139KOilOsW+cyhAoc9Ci2+Jo/k
   17u2N1iGILMQEZuCRtnJOkFYkw==
   -----END PRIVATE KEY-----"}
   ```

1. Lampirkan kebijakan izin untuk mengambil rahasia ke peran IAM yang Anda gunakan untuk mengelola klaster Amazon Redshift atau grup kerja Amazon Redshift Tanpa Server. Izin ini`secretsmanager:GetSecretValue`. Untuk informasi selengkapnya, lihat [Mengatur otentikasi](materialized-view-streaming-ingestion-getting-started-MSK.md#materialized-view-streaming-ingestion-getting-started-MSK-setup-auth). Untuk informasi selengkapnya tentang mengelola kebijakan IAM, lihat [Mengedit kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html). Tentukan peran IAM yang sama di langkah berikutnya untuk membuat skema eksternal.

1. Di Redshift, jalankan perintah SQL untuk membuat skema eksternal. Anda menggunakan jenis `mtls` OTENTIKASI. Anda juga menentukan URI cluster dan ARN rahasia di. AWS Secrets Manager

   ```
   CREATE EXTERNAL SCHEMA my_schema
   FROM KAFKA
   IAM_ROLE 'arn:aws:iam::012345678901:role/my_role'
   AUTHENTICATION mtls
   URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094,b-2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094'
   SECRET_ARN 'arn:aws:secretsmanager:us-east-1:012345678910:secret:myMTLSSecret';
   ```

Parameter penting:
+ IAM\$1ROLE — Peran IAM yang terkait dengan cluster, untuk streaming konsumsi.
+ URI — URI broker bootstrap untuk cluster. Perhatikan bahwa untuk Amazon MSK, port 9094 ditentukan untuk berkomunikasi dengan broker untuk enkripsi TLS.
+ SECRET\$1ARN — ARN rahasia dari Secrets Manager, berisi sertifikat yang akan digunakan untuk mTL.

## Mengaktifkan otentikasi mTLS untuk skema eksternal yang ada
<a name="materialized-view-streaming-ingestion-mtls-alter"></a>

Jika Anda memiliki skema eksternal yang ada yang Anda gunakan untuk streaming konsumsi dan Anda ingin menerapkan TLS timbal balik untuk otentikasi, Anda dapat menjalankan perintah seperti berikut ini, yang menentukan otentikasi mTLS dan sertifikat ACM ARN di ACM.

```
ALTER EXTERNAL SCHEMA schema_name 
AUTHENTICATION mtls
AUTHENTICATION_ARN 'arn:aws:acm:Region:444455556666:certificate/certificate_ID';
```

Atau Anda dapat menentukan otentikasi mTLS, dengan mengacu pada ARN rahasia di. AWS Secrets Manager

```
ALTER EXTERNAL SCHEMA schema_name 
AUTHENTICATION mtls
SECRET_ARN 'arn:aws:secretsmanager:us-east-1:012345678910:secret:myMTLSSecret';
```

Untuk informasi tentang perintah ALTER EXTERNAL SCHEMA, lihat. [MENGUBAH SKEMA EKSTERNAL](r_ALTER_EXTERNAL_SCHEMA.md)