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
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.
Prasyarat untuk menggunakan mTL untuk streaming konsumsi
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 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:
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 Managed Streaming for Apache Kafka.
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 di Panduan Pengembang Amazon Managed Streaming for Apache Kafka.
Menggunakan mTL untuk streaming konsumsi dengan AWS Certificate Manager
Prosedur berikut menunjukkan cara mengonfigurasi mTL untuk konsumsi streaming Redshift dengan AWS Certificate Manager menggunakan (ACM) untuk penyimpanan dan manajemen 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 AWS Certificate Manager Panduan Pengguna.
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 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 penggunaan Secrets Manager dengan mTLS untuk streaming konsumsi, lihat berikut. Menggunakan mTL untuk streaming konsumsi dengan AWS Secrets Manager
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 klaster MSK Amazon di Panduan Pengembang Amazon Managed Streaming for Apache Kafka.
Jalankan perintah SQL seperti contoh berikut untuk membuat skema eksternal yang memetakan cluster ke skema eksternal Redshift, menggunakan.
mtls
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';
Parameter penting:
IAM_ROLE — 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_ARN — 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.
Menggunakan mTL untuk streaming konsumsi dengan AWS Secrets Manager
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.
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 IssueCertificatedi Referensi AWS Private Certificate Authority 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 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 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 klaster Amazon Redshift atau grup kerja Amazon Redshift Tanpa Server. Izin ini
secretsmanager:GetSecretValue
. Untuk informasi selengkapnya, lihat Mengatur otentikasi. Untuk informasi selengkapnya tentang mengelola kebijakan IAM, lihat Mengedit kebijakan IAM. Tentukan peran IAM yang sama di langkah berikutnya untuk membuat skema eksternal.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 ManagerCREATE 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 streaming konsumsi.
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 yang akan digunakan untuk mTL.
Mengaktifkan otentikasi mTLS untuk skema eksternal yang ada
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';