Mengalirkan data dari Kafka ke Azure Stream Analytics (Pratinjau)

Kafka adalah platform streaming terdistribusi yang digunakan untuk menerbitkan dan berlangganan aliran rekaman. Kafka dirancang untuk memungkinkan aplikasi Anda memproses rekaman saat terjadi. Ini adalah sistem sumber terbuka yang dikembangkan oleh Apache Software Foundation dan ditulis dalam Java dan Scala.

Berikut ini adalah kasus penggunaan utama:

  • Olahpesan
  • Pelacakan Aktivitas Situs Web
  • Metrik
  • Agregasi Log
  • Pemrosesan Aliran

Azure Stream Analytics memungkinkan Anda terhubung langsung ke kluster Kafka untuk menyerap data. Solusinya adalah kode rendah dan sepenuhnya dikelola oleh tim Azure Stream Analytics di Microsoft, memungkinkannya memenuhi standar kepatuhan bisnis. Input ASA Kafka kompatibel mundur dan mendukung semua versi dengan rilis klien terbaru mulai dari versi 0.10. Pengguna dapat terhubung ke kluster Kafka di dalam kluster VNET dan Kafka dengan titik akhir publik, tergantung pada konfigurasinya. Konfigurasi bergantung pada konvensi konfigurasi Kafka yang ada. Jenis kompresi yang didukung adalah None, Gzip, Snappy, LZ4, dan Zstd.

Langkah-langkah

Artikel ini memperlihatkan cara menyiapkan Kafka sebagai sumber input untuk Azure Stream Analytics. Ada enam langkah:

  1. Membuat pekerjaan Azure Stream Analytics.
  2. Konfigurasikan pekerjaan Azure Stream Analytics Anda untuk menggunakan identitas terkelola jika Anda menggunakan mTLS atau protokol keamanan SASL_SSL.
  3. Konfigurasikan Azure Key vault jika Anda menggunakan protokol keamanan mTLS atau SASL_SSL.
  4. Unggah sertifikat sebagai rahasia ke azure Key vault.
  5. Berikan izin Azure Stream Analytics untuk mengakses sertifikat yang diunggah.
  6. Konfigurasikan input Kafka dalam pekerjaan Azure Stream Analytics Anda.

Catatan

Tergantung pada bagaimana kluster Kafka Anda dikonfigurasi dan jenis kluster Kafka yang Anda gunakan, beberapa langkah di atas mungkin tidak berlaku untuk Anda. Contohnya adalah: jika Anda menggunakan Kafka cloud confluent, Anda tidak perlu mengunggah sertifikat untuk menggunakan konektor Kafka. Jika kluster Kafka Anda berada di dalam jaringan virtual (VNET) atau di belakang firewall, Anda mungkin harus mengonfigurasi pekerjaan Azure Stream Analytics untuk mengakses topik Kafka Anda menggunakan tautan privat atau konfigurasi jaringan khusus.

Konfigurasi

Tabel berikut mencantumkan nama properti dan deskripsinya untuk membuat Input Kafka:

Penting

Untuk mengonfigurasi kluster Kafka Anda sebagai input, jenis tanda waktu topik input harus LogAppendTime. Satu-satunya jenis tanda waktu yang didukung Azure Stream Analytics adalah LogAppendTime. Azure Stream Analytics hanya mendukung format desimal numerik.

Nama properti Deskripsi
Input/Output Alias Nama yang mudah diingat yang digunakan dalam kueri untuk mereferensikan input atau output Anda
Alamat server bootstrap Daftar pasangan host/port untuk membuat koneksi ke kluster Kafka.
Topik Kafka Aliran data bernama, diurutkan, dan dipartisi yang memungkinkan pemrosesan pesan terbitkan-berlangganan dan berbasis peristiwa.
Protokol Keamanan Bagaimana Anda ingin terhubung ke kluster Kafka Anda. Azure Stream Analytics mendukung mTLS, SASL_SSL, SASL_PLAINTEXT, atau Tidak Ada.
Id Grup Konsumen Nama grup konsumen Kafka yang harus menjadi bagian dari input. Ini akan secara otomatis ditetapkan jika tidak disediakan.
Format Serialisasi Peristiwa Format serialisasi (JSON, CSV, Avro, Parquet, Protobuf) dari aliran data masuk.

Cuplikan layar memperlihatkan cara mengonfigurasi input kafka untuk pekerjaan analisis aliran.

Autentikasi dan Enkripsi

Anda dapat menggunakan empat jenis protokol keamanan untuk menyambungkan ke kluster Kafka Anda:

Catatan

Untuk SASL_SSL dan SASL_PLAINTEXT, Azure Stream Analytics hanya mendukung mekanisme SASL PLAIN. Anda harus mengunggah sertifikat sebagai rahasia ke brankas kunci menggunakan Azure CLI.

Nama properti Deskripsi
mTLS Enkripsi dan autentikasi. Mendukung mekanisme keamanan PLAIN, SCRAM-SHA-256, dan SCRAM-SHA-512.
SASL_SSL Ini menggabungkan dua mekanisme keamanan yang berbeda - SASL (Autentikasi Sederhana dan Lapisan Keamanan) dan SSL (Secure Sockets Layer) - untuk memastikan autentikasi dan enkripsi tersedia untuk transmisi data. Protokol SASL_SSL mendukung mekanisme keamanan PLAIN, SCRAM-SHA-256, dan SCRAM-SHA-512.
SASL_PLAINTEXT autentikasi standar dengan nama pengguna dan kata sandi tanpa enkripsi
Tidak Tidak ada autentikasi dan enkripsi.

Penting

Confluent Cloud mendukung autentikasi menggunakan Kunci API, OAuth, atau akses menyeluruh (SSO) SAML. Azure Stream Analytics tidak mendukung autentikasi akses menyeluruh (SSO) OAuth atau SAML. Anda dapat terhubung ke cloud confluent menggunakan Kunci API dengan akses tingkat topik melalui protokol keamanan SASL_SSL.

Untuk tutorial langkah demi langkah tentang menyambungkan ke kakfa cloud confluent, kunjungi dokumentasi:

Integrasi brankas kunci

Catatan

Saat menggunakan sertifikat penyimpanan kepercayaan dengan mTLS atau protokol keamanan SASL_SSL, Anda harus memiliki Azure Key vault dan identitas terkelola yang dikonfigurasi untuk pekerjaan Azure Stream Analytics Anda. Periksa pengaturan jaringan brankas kunci Anda untuk memastikan Izinkan akses publik dari semua jaringan dipilih. Misalkan Brankas kunci Anda berada di VNET atau hanya mengizinkan akses dari jaringan tertentu. Dalam hal ini, Anda harus menyuntikkan pekerjaan ASA Anda ke VNET yang berisi brankas kunci atau menyuntikkan pekerjaan ASA Anda ke VNET, lalu menyambungkan brankas kunci Anda ke VNET yang berisi pekerjaan menggunakan titik akhir layanan.

Azure Stream Analytics terintegrasi dengan mulus dengan Azure Key vault untuk mengakses rahasia tersimpan yang diperlukan untuk autentikasi dan enkripsi saat menggunakan mTLS atau protokol keamanan SASL_SSL. Pekerjaan Azure Stream Analytics Anda terhubung ke azure Key vault Anda menggunakan identitas terkelola untuk memastikan koneksi yang aman dan menghindari eksfiltrasi rahasia. Sertifikat disimpan sebagai rahasia dalam brankas kunci dan harus dalam format PEM.

Mengonfigurasi Key vault dengan izin

Anda dapat membuat sumber daya brankas kunci dengan mengikuti dokumentasi Mulai Cepat: Membuat brankas kunci menggunakan portal Azure Anda harus memiliki akses "Administrator Key Vault" ke Brankas Kunci Anda untuk mengunggah sertifikat. Ikuti hal berikut untuk memberikan akses admin:

Catatan

Anda harus memiliki izin "Pemilik" untuk memberikan izin brankas kunci lainnya.

  1. Pilih Kontrol akses (IAM).

  2. Pilih Tambahkan>Tambahkan penetapan peran untuk membuka halaman Tambahkan penetapan peran.

  3. Tetapkan peran menggunakan konfigurasi berikut:

Pengaturan Nilai
Peran Administrator Key Vault
Tetapkan akses ke Pengguna, grup, atau perwakilan layanan
Anggota <Informasi akun atau email Anda>

Unggah Sertifikat ke Brankas kunci melalui Azure CLI

Penting

Anda harus memiliki akses izin "Administrator Key Vault" ke Brankas kunci agar perintah ini berfungsi dengan benar Anda harus mengunggah sertifikat sebagai rahasia. Anda harus menggunakan Azure CLI untuk mengunggah sertifikat sebagai rahasia ke brankas kunci Anda. Pekerjaan Azure Stream Analytics Anda akan gagal saat sertifikat yang digunakan untuk autentikasi kedaluwarsa. Untuk mengatasinya, Anda harus memperbarui/mengganti sertifikat di brankas kunci dan memulai ulang pekerjaan Azure Stream Analytics Anda.

Pastikan Anda memiliki Azure CLI yang dikonfigurasi secara lokal dengan PowerShell. Anda dapat mengunjungi halaman ini untuk mendapatkan panduan tentang menyiapkan Azure CLI: Mulai menggunakan Azure CLI

Masuk ke Azure CLI:

az login

Koneksi ke langganan Anda yang berisi brankas kunci Anda:

az account set --subscription <subscription name>

Perintah berikut dapat mengunggah sertifikat sebagai rahasia ke brankas kunci Anda:

<your key vault> adalah nama brankas kunci yang ingin Anda unggah sertifikatnya. <name of the secret> adalah nama apa pun yang ingin Anda berikan ke rahasia Anda dan bagaimana muncul di brankas kunci. <file path to certificate> adalah jalur ke tempat sertifikat sertifikat Anda berada. Anda dapat mengklik kanan dan menyalin jalur ke sertifikat.

az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>

Contohnya:

az keyvault secret set --vault-name mykeyvault --name kafkasecret --file C:\Users\Downloads\certificatefile.pem

Mengonfigurasi identitas Terkelola

Azure Stream Analytics mengharuskan Anda mengonfigurasi identitas terkelola untuk mengakses brankas kunci. Anda dapat mengonfigurasi pekerjaan ASA untuk menggunakan identitas terkelola dengan menavigasi ke tab Identitas Terkelola di sisi kiri di bawah Konfigurasikan.

Cuplikan layar memperlihatkan cara mengonfigurasi identitas terkelola untuk pekerjaan ASA.

  1. Klik tab identitas terkelola di bawah konfigurasi.
  2. Pilih Beralih Identitas dan pilih identitas yang akan digunakan dengan pekerjaan: identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna.
  3. Untuk identitas yang ditetapkan pengguna, pilih langganan tempat identitas yang ditetapkan pengguna Anda berada dan pilih nama identitas Anda.
  4. Tinjau dan simpan.

Berikan izin pekerjaan Azure Stream Analytics untuk mengakses sertifikat di brankas kunci

Agar pekerjaan Azure Stream Analytics Anda membaca rahasia di brankas kunci Anda, pekerjaan harus memiliki izin untuk mengakses brankas kunci. Gunakan langkah-langkah berikut untuk memberikan izin khusus ke pekerjaan analisis aliran Anda:

  1. Pilih Kontrol akses (IAM).

  2. Pilih Tambahkan>Tambahkan penetapan peran untuk membuka halaman Tambahkan penetapan peran.

  3. Tetapkan peran menggunakan konfigurasi berikut:

Pengaturan Nilai
Peran Pengguna rahasia brankas kunci
Identitas terkelola Pekerjaan Azure Stream Analytics untuk identitas terkelola yang ditetapkan sistem atau Identitas terkelola yang ditetapkan pengguna
Anggota <Nama pekerjaan> Azure Stream Analytics atau <nama identitas yang ditetapkan pengguna>

Integrasi VNET

Jika kluster Kafka Anda berada di dalam jaringan virtual (VNET) atau di belakang firewall, Anda mungkin harus mengonfigurasi pekerjaan Azure Stream Analytics untuk mengakses topik Kafka Anda menggunakan tautan privat atau konfigurasi jaringan khusus. Kunjungi dokumentasi Jalankan pekerjaan Azure Stream Analytics Anda di Azure Virtual Network untuk informasi selengkapnya.

Batasan

  • Saat mengonfigurasi pekerjaan Azure Stream Analytics Anda untuk menggunakan VNET/SWIFT, pekerjaan Anda harus dikonfigurasi dengan setidaknya enam (6) unit streaming atau satu (1) unit streaming V2.
  • Saat menggunakan mTLS atau SASL_SSL dengan Azure Key vault, Anda harus mengonversi Java Key Store ke format PEM.
  • Versi minimum Kafka yang dapat Anda konfigurasikan Azure Stream Analytics untuk disambungkan adalah versi 0.10.
  • Azure Stream Analytics tidak mendukung autentikasi ke cloud confluent menggunakan akses menyeluruh (SSO) OAuth atau SAML. Anda harus menggunakan Kunci API melalui protokol SASL_SSL

Catatan

Untuk bantuan langsung dengan menggunakan input Azure Stream Analytics Kafka, silakan hubungi askasa@microsoft.com.

Langkah berikutnya