Kafka'dan Azure Stream Analytics'e veri akışı

Apache Kafka, uygulamaların kayıt akışlarını yayınlamak ve abone olmak için kullandığı açık kaynaklı dağıtık bir yayın platformudur. Genellikle mesajlaşma, web sitesi aktivite takibi, metrikler, günlük toplama ve akış işleme için kullanılır.

Verileriniz Kafka kümelerinden geçerse, Azure Stream Analytics'i doğrudan bu kümelere bağlayarak özel bir tüketici oluşturmadan bu verileri alabilir ve işleyebilirsiniz. Kafka girdisi düşük kodlu, Microsoft tarafından tamamen iş uyum standartlarına uygun şekilde yönetilmektedir ve 0.10'dan itibaren istemci sürümleriyle geriye doğru uyumludur. Mevcut Kafka yapılandırma konvansiyonlarını kullanarak sanal bir ağ içinde veya genel bir uç noktada Kafka kümelerine bağlanabilirsiniz. Desteklenen sıkıştırma türleri None, Gzip, Snappy, LZ4 ve Zstd'dir.

Bu makale, bir Azure Stream Analytics işi için bir Kafka kümesini giriş kaynağı olarak nasıl yapılandırılacağını gösteriyor.

Kafka'yı bir giriş kaynağı olarak kur

Bu makalede, Kafka'nın Azure Stream Analytics için giriş kaynağı olarak nasıl ayarlanacağı gösterilmektedir. Aşağıdaki adımları kapsar:

  1. Azure Stream Analytics işi oluşturun.
  2. mTLS veya SASL_SSL güvenlik protokolleri kullanıyorsanız Azure Stream Analytics işinizi yönetilen kimliği kullanacak şekilde yapılandırın.
  3. MTLS veya SASL_SSL güvenlik protokolleri kullanıyorsanız Azure Key Vault yapılandırın.
  4. Sertifikaları gizli olarak Azure Key Vault'a yükleyin.
  5. Karşıya yüklenen sertifikaya erişmek için Azure Stream Analytics izinleri verin.
  6. Azure Stream Analytics işinizde Kafka girişini yapılandırın.

Not

Kafka kümenizin nasıl yapılandırıldığına ve kullandığınız Kafka küme türüne bağlı olarak, bu adımların bazıları size uygulanmayabilir. Örneğin, Confluent Cloud Kafka kullanıyorsanız, Kafka konnektörünü kullanmak için sertifika yüklemenize gerek yok. Kafka kümeniz sanal ağ (VNet) içinde veya bir güvenlik duvarının arkasındaysa, Azure Stream Analytics işinizi özel bağlantı veya özel ağ yapılandırması kullanarak Kafka konusuna erişmek için yapılandırmanız gerekebilir.

Kafka girişini yapılandırma

Kafka girdisini, Azure Stream Analytics işinizin Kafka kümenize bağlanıp bir konudan okuyabileceği şekilde yapılandırın.

Önemli

Kafka kümenizi giriş olarak yapılandırmak için giriş konusunun zaman damgası türü LogAppendTime olmalıdır. Azure Stream Analytics'in desteklediği tek zaman damgası türü LogAppendTime'dır. Azure Stream Analytics yalnızca sayısal ondalık biçimi destekler.

  1. Azure Stream Analytics işinizde bir Kafka girişi ekleyin.

  2. Her giriş özelliğini aşağıdaki tabloda açıklanan değerleri kullanarak ayarlayın:

    Özellik adı Açıklama
    Giriş/Çıkış Takma Adı Sorgularda girdiniz veya çıktınıza referans vermek için kullanılan dostane bir isim.
    Bootstrap sunucu adresleri Kafka kümesine bağlanacak host/port çiftlerinin listesi.
    Kafka konusu Mesajların yayınlanma-abone ve olay odaklı işlemesini destekleyen adlandırılmış, sıralanmış ve bölümlenmiş bir veri akışıdır.
    Güvenlik Protokolü Kafka kümenize nasıl bağlanmak istiyorsunuz? Azure Stream Analytics mTLS, SASL_SSL, SASL_PLAINTEXT veya None'yi destekler.
    Tüketici Grubu Kimliği Girişin parçası olması gereken Kafka tüketici grubunun adı. Bir tane belirtmezseniz, Azure Stream Analytics bunu otomatik olarak atar.
    Olay Serileştirme biçimi Gelen veri akışının serileştirme formatı (JSON, CSV, Avro, Parquet ve Protobuf).
  3. Giriş yapılandırmasını kaydet.

Kimlik doğrulama ve şifreleme kur

Azure Stream Analytics işiniz ile Kafka kümeniz arasındaki bağlantıyı güvence altına almak için kimlik doğrulama ve şifreleme kurun. Confluent Cloud Kafka'ya bağlanmaya yönelik adım adım bir öğretici için, giriş olarak Stream data from Confluent Cloud Kafka with Azure Stream Analytics ve çıkış olarak Stream data from Azure Stream Analytics into Confluent Cloud başlıklı makalelere bakın.

Önemli

Confluent Cloud, API Anahtarları, OAuth veya SAML tek girişle (SSO) doğrulama desteğini destekler. Azure Stream Analytics, OAuth veya SAML çoklu oturum açma (SSO) kimlik doğrulamasını desteklemez. SASL_SSL güvenlik protokolü üzerinden konu düzeyinde erişime sahip bir API Anahtarı kullanarak Confluent Cloud'a bağlanabilirsiniz.

  1. Aşağıdaki tabloda açıklandığı gibi, Kafka kümenize uygun dört desteklenen güvenlik protokolünden birini seçin:

    Özellik adı Açıklama
    mTLS Şifreleme ve kimlik doğrulaması. PLAIN, SCRAM-SHA-256 ve SCRAM-SHA-512 güvenlik mekanizmalarını destekler.
    SASL_SSL Veri iletimi için hem kimlik doğrulama hem de şifrelemenin yerinde olmasını sağlamak amacıyla SASL (Basit Kimlik Doğrulama ve Güvenlik Katmanı) ve Güvenli Soket Katmanı (SSL) olmak üzere iki farklı güvenlik mekanizmasını birleştirir. SASL_SSL protokolü PLAIN, SCRAM-SHA-256 ve SCRAM-SHA-512 güvenlik mekanizmalarını destekler.
    SASL_PLAINTEXT Kullanıcı adı ile standart kimlik doğrulama ama şifreleme yok.
    Hiçbiri Kimlik doğrulaması ve şifreleme yok.
  2. Seçilen protokolün kimlik bilgilerini Azure Stream Analytics işinizde yapılandırın.

Azure Key Vault ile tümleştirme

Azure Stream Analytics, mTLS veya SASL_SSL güvenlik protokollerini kullandığınızda kimlik doğrulama ve şifreleme için gereken saklanan sırlara erişmek için Azure Key Vault ile entegre olur. Azure Stream Analytics işiniz, yönetilen kimlik kullanarak Azure Key Vault'unuza bağlanarak güvenli bir bağlantı sağlar ve sırların sızdırılmasını önler. Sertifikalar anahtar kasasında gizli dizi olarak depolanır ve PEM biçiminde olmalıdır. Azure Stream Analytics işinizi Azure Key Vault ile entegre etmek için, aşağıdaki görevleri tamamlayın ve aşağıdaki bölümlerde ayrıntılı olarak açıklanmıştır.

Not

mTLS veya SASL_SSL güvenlik protokolleriyle güven deposu sertifikalarını kullandığınızda, Azure Stream Analytics işiniz için Azure Key Vault ve yönetilen kimlik yapılandırılmış olmalıdır. Tüm ağlardan genel erişime izin ver seçeneğinin belirlendiğinden emin olmak için anahtar kasanızın ağ ayarlarını denetleyin. Anahtar kasanız bir VNet'te veya sadece belirli ağlardan erişim sağlıyorsa, Azure Stream Analytics işinizi anahtar kasayı içeren bir VNet'e enjekte etmelisiniz veya Azure Stream Analytics işini bir VNet'e enjekte edip anahtar kasanızı hizmet uçları kullanarak VNet içeren işe bağlamalısınız.

  1. Anahtar kasasını gerekli izinlerle yapılandırın.
  2. Sertifikanızı anahtar kasasına gizli olarak yükleyin.
  3. Azure Stream Analytics işiniz için yönetilen kimliği yapılandırın.
  4. Stream Analytics iş izninize anahtar kasadaki sertifikaya erişim izni verin.

Anahtar kasasını izinlerle yapılandırın

Anahtar kasası kaynağı oluşturmak için Hızlı Başlat: Azure portalı kullanarak anahtar kasası oluştur bölümünü inceleyebilirsiniz. Sertifikaları yüklemek için Key Vault Administrator'un Key vault'a erişimi gerekir. Yönetici erişimi vermek için şu adımları izleyin:

Not

Diğer key vault izinlerini vermek için Owner izinlerine ihtiyacınız var.

  1. Erişim denetimi (IAM) öğesini seçin.

  2. Seçenekleri açmak için Ekle ve ardından >'yi seçin, Rol ataması ekle sayfası açılır.

  3. Aşağıdaki yapılandırmayı kullanarak rolü atanabilirsiniz:

    Ayarlar Değer
    Rol Key Vault Yöneticisi
    Şu kişiye erişim ata: Kullanıcı, grup veya hizmet sorumlusu
    Üyeler <Hesap bilgileriniz veya e-postanız>

Sertifikayı anahtar kasasına yükleyin

Azure CLI'yı PowerShell ile yerel olarak yapılandırdığınızdan emin olun. Azure CLI'ı kurma konusunda rehberlik için Azure CLI ile başla sayfasına bakabilirsiniz.

Aşağıdaki adımlar sertifikayı anahtar kasanıza gizli olarak yükleyin.

Önemli

Bu komutun düzgün çalışması için anahtar kasanız üzerinde Key Vault Yöneticisi izinlerine sahip olmanız gerekir. Sertifikayı gizli olarak yüklemelisin. Anahtar kasanıza sertifikaları gizli anahtarlar olarak yüklemek için Azure CLI kullanmalısınız. Azure Stream Analytics işiniz, kimlik doğrulama için kullanılan sertifikanın süresi dolduğunda başarısız olur. Bu sorunu çözmek için, anahtar kasanızdaki sertifikayı güncelleyin veya değiştirin ve Azure Stream Analytics işinizi yeniden başlatın.

  1. Azure CLI'da oturum açın.

    az login
    
  2. Anahtar kasanızı içeren aboneliğe bağlanın.

    az account set --subscription <subscription name>
    
  3. Sertifikayı gizli olarak yükleyin. Anahtar kasasının adı, <name of the secret> sırrı vermek istediğiniz herhangi bir isimle ve <file path to certificate> sertifika dosyanıza giden yolu ile değiştirin<your key vault>. Sağ tıklayıp yolu sertifikaya kopyalayabilirsiniz.

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

    Örneğin:

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

Yönetilen kimliği yapılandırın

Azure Stream Analytics, anahtar vault'a erişmek için yönetilen kimlik gerektirir. Azure Stream Analytics işinizi yönetilen kimlik kullanacak şekilde yapılandırmak için Conconfigure altındaki Managed Identity sekmesine gidin.

Yönetilen kimliği yapılandırmak için şu adımları izleyin:

  1. Conconfigure altındaki Managed Identity sekmesini seçin.

    Azure Stream Analytics işi için yönetilen kimliğin nasıl yapılandırılacağını gösteren ekran görüntüsü.

  2. Switch Identity'yi seçin ve görevle kullanılacak kimliği seçin: sistem tarafından atanan kimlik veya kullanıcı tarafından atanan kimlik.

  3. Kullanıcı tarafından atanan kimlik için, kullanıcı tarafından atanan kimliğinizin bulunduğu aboneliği seçin ve kimliğinizin adını seçin.

  4. Gözden geçirin ve Kaydet'i seçin.

Stream Analytics'e sertifikaya erişmek için iş izinleri verin

Azure Stream Analytics görevinizin anahtar kasasındaki bir gizliyi okuması için, görevin anahtar kasasına erişim iznine sahip olması gerekir.

Stream Analytics işinize izin vermek için şu adımları izleyin:

  1. Erişim denetimi (IAM) öğesini seçin.

  2. Seçenekleri açmak için Ekle ve ardından >'yi seçin, Rol ataması ekle sayfası açılır.

  3. Aşağıdaki yapılandırmayı kullanarak rolü atanabilirsiniz:

    Ayarlar Değer
    Rol Key Vault Sırlar Kullanıcısı
    Yönetilen kimlik Sistem tarafından atanan yönetilen kimlik veya Kullanıcı tarafından atanan yönetilen kimlik için Stream Analytics görevi
    Üyeler <Stream Analytics işinizin> adı veya <kullanıcı tarafından atanan kimliğin adı>

Kafka giriş sınırlamaları ve dikkate alınanlar

Kafka kümeniz sanal bir ağ içinde veya bir güvenlik duvarının arkasındaysa, Azure Stream Analytics işinizi özel bağlantı veya özel ağ yapılandırması kullanarak Kafka konusunuza erişecek şekilde yapılandırın. Daha fazla bilgi için Run your Azure Stream Analytics job in an Azure Sanal Ağ bölümüne bakınız.

Kafka'yı giriş kaynağı olarak kullanırken aşağıdaki sınırlamaları göz önünde bulundurun:

  1. Azure Stream Analytics işinizi Sanal Ağ/SWIFT kullanacak şekilde yapılandırdığınızda, işi en az altı akış birimi veya bir V2 akış birimi ile yapılandırın.
  2. Azure Key Vault ile mTLS veya SASL_SSL kullandığınızda, Java Key Store'unuzu PEM formatına dönüştürmelisiniz.
  3. Azure Stream Analytics'in bağlanabileceği minimum Kafka sürümü 0.10 sürümüdür.
  4. Azure Stream Analytics, OAuth veya SAML tek girişi (SSO) kullanarak Confluent Cloud'a kimlik doğrulamayı desteklemiyor. SASL_SSL protokolü üzerinden bir API Anahtarı kullanmalısınız.

Azure Stream Analytics Kafka girişiyle ilgili doğrudan yardım almak için askasa@microsoft.com ile iletişime geçin.