Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Otentikasi dengan MTL untuk penyerapan streaming Redshift dari sumber Apache Kafka
Mutual transport-layer security (MTL) menyediakan sarana bagi server untuk mengotentikasi klien yang dikirim informasinya, dan bagi klien untuk mengotentikasi server. Manfaat menggunakan MTL adalah untuk menyediakan otentikasi tepercaya untuk berbagai kasus penggunaan di beberapa aplikasi industri-vertikal. Ini termasuk kasus penggunaan di industri keuangan, ritel, pemerintah dan perawatan kesehatan. Dalam kasus penyerapan 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 Serverless.
Topik ini memberikan prosedur dan SQL-command contoh yang menunjukkan cara untuk membuat skema eksternal yang menggunakan MTL untuk mengotentikasi antara klien Redshift dan server Apache Kafka apa pun. Langkah-langkah dalam topik ini melengkapi rangkaian lengkap langkah untuk mengatur konsumsi streaming dari sumber Apache Kafka. Untuk informasi selengkapnya, lihat Memulai dengan konsumsi streaming dari sumber Apache Kafka.
Prasyarat untuk menggunakan MTL untuk konsumsi streaming
Bagian ini memberikan langkah-langkah prasyarat untuk menggunakan MTL untuk konsumsi streaming dengan salah satu AWS Certificate Manager atau AWS Secrets Manager.
Sebagai langkah awal, Anda harus memiliki atau membuat otoritas sertifikat pribadi (PCA), yang dapat Anda gunakan untuk mengeluarkan 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 di Panduan AWS Private Certificate Authority Pengguna. Setelah membuat CA Pribadi, ekspor sertifikat CA root dan simpan ke file dengan ekstensi.pem.
Untuk membuat cluster yang menggunakan sertifikat CA, lakukan hal berikut:
Menggunakan MTL untuk konsumsi streaming dengan AWS Certificate Manager
Prosedur berikut menunjukkan cara mengonfigurasi MTL untuk penyerapan streaming Redshift dengan menggunakan AWS Certificate Manager (ACM) untuk penyimpanan dan pengelolaan sertifikat:
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 di Panduan AWS Certificate Manager Pengguna.
Untuk peran IAM yang Anda gunakan untuk mengelola cluster Redshift atau grup kerja Amazon Redshift Serverless, lampirkan izin untuk mengekspor sertifikat, yaitu acm:. ExportCertificate Untuk informasi selengkapnya tentang menyiapkan sumber daya IAM yang diperlukan untuk penyerapan streaming, lihatMenyiapkan konsumsi streaming dari Kafka. Tentukan peran IAM yang sama pada langkah berikutnya untuk membuat skema eksternal.
catatan
Permintaan untuk AWS Certificate Manager memerlukan 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 MTL untuk konsumsi streaming, lihat Menggunakan MTL untuk konsumsi streaming dengan AWS Secrets Manager berikut ini.
Dapatkan URI broker bootstrap untuk cluster Amazon MSK, Apache Kafka, atau Confluent Cloud. Untuk informasi tentang mendapatkan URI broker bootstrap untuk Amazon MSK, lihat Mendapatkan broker bootstrap untuk cluster Amazon MSK di Panduan Pengembang Amazon Managed Streaming untuk Apache Kafka.
Jalankan perintah SQL seperti contoh berikut untuk membuat skema eksternal yang memetakan cluster ke skema eksternal Redshift, menggunakan
mtls.Parameter penting:
IAM_ROLE — Peran IAM yang terkait dengan cluster, untuk penyerapan streaming.
URI — URI broker bootstrap untuk cluster. Perhatikan bahwa untuk Amazon MSK, port 9094 ditentukan untuk berkomunikasi dengan broker untuk enkripsi TLS.
AUTHENTICATION_ARN — ARN dari sertifikat ACM. ARN tersedia di konsol ACM ketika Anda memilih sertifikat yang dikeluarkan.
Setelah melakukan langkah-langkah konfigurasi ini, Anda dapat membuat tampilan materialisasi 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.
Menggunakan MTL untuk konsumsi streaming dengan AWS Secrets Manager
Anda dapat mengonfigurasi MTL untuk penyerapan streaming Redshift dengan menggunakan AWS Secrets Manager untuk manajemen sertifikat jika Anda tidak ingin mereferensikan sertifikat di. AWS Certificate Manager Langkah-langkah berikut menjelaskan cara mengkonfigurasi MTL menggunakan Secrets Manager.
Buat permintaan penandatanganan sertifikat dan kunci pribadi dengan alat pilihan Anda. Kemudian Anda dapat menggunakan permintaan penandatanganan untuk menghasilkan sertifikat yang ditandatangani, menggunakan CA AWS Pribadi (PCA) yang sama yang Anda gunakan untuk menghasilkan sertifikat untuk cluster. Untuk informasi selengkapnya tentang menerbitkan sertifikat, lihat IssueCertificate di Refer AWS Private Certificate Authority ensi API.
Ekstrak sertifikat menggunakan AWS Private Certificate Authority. Untuk informasi selengkapnya, lihat Mengambil sertifikat pribadi di Panduan AWS Private Certificate Authority Pengguna.
Simpan sertifikat dan kunci pribadi yang dihasilkan pada langkah sebelumnya AWS Secrets Manager. Pilih
Other type of secretdan 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 di AWS Secrets Manager, lihat Membuat dan mengelola rahasia dengan AWS Secrets Manager 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-----"}Lampirkan kebijakan izin untuk mengambil rahasia ke peran IAM yang Anda gunakan untuk mengelola cluster Amazon Redshift atau grup kerja Amazon Redshift Serverless. Izin ini adalah
secretsmanager:GetSecretValue. Untuk informasi selengkapnya, lihat Siapkan otentikasi. Untuk informasi selengkapnya tentang mengelola kebijakan IAM, lihat Meng edit kebijakan IAM. Tentukan peran IAM yang sama pada langkah berikutnya untuk membuat skema eksternal.Di Redshift, jalankan perintah SQL untuk membuat skema eksternal. Anda menggunakan jenis OTENTIKASI
mtls. 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_ROLE — Peran IAM yang terkait dengan cluster, untuk penyerapan streaming.
URI — URI broker bootstrap untuk cluster. Perhatikan bahwa untuk Amazon MSK, port 9094 ditentukan untuk berkomunikasi dengan broker untuk enkripsi TLS.
SECRET_ARN — ARN rahasia dari Secrets Manager, berisi sertifikat untuk digunakan untuk MTL.
Mengaktifkan otentikasi MTL untuk skema eksternal yang ada
Jika Anda memiliki skema eksternal yang ada yang Anda gunakan untuk penyerapan streaming dan Anda ingin menerapkan TLS bersama untuk otentikasi, Anda dapat menjalankan perintah seperti berikut, yang menentukan otentikasi MTL 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 MTL, 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, lihatMENGUBAH SKEMA EKSTERNAL.