Udostępnij za pośrednictwem


Dane wyjściowe platformy Kafka z usługi Azure Stream Analytics

Usługa Azure Stream Analytics umożliwia bezpośrednie łączenie się z klastrami platformy Kafka jako producentem danych wyjściowych. Rozwiązanie to niski kod i całkowicie zarządzane przez zespół usługi Azure Stream Analytics w firmie Microsoft, co pozwala na spełnianie standardów zgodności biznesowej. Dane wyjściowe platformy Kafka są zgodne z poprzednimi wersjami i obsługują wszystkie wersje z najnowszą wersją klienta począwszy od wersji 0.10. Użytkownicy mogą łączyć się z klastrami platformy Kafka w sieci wirtualnej i klastrami Kafka z publicznym punktem końcowym w zależności od konfiguracji. Konfiguracja opiera się na istniejących konwencjach konfiguracji platformy Kafka. Obsługiwane typy kompresji to None, Gzip, Snappy, LZ4 i Zstd.

Kroki

W tym artykule pokazano, jak skonfigurować platformę Kafka jako dane wyjściowe z usługi Azure Stream Analytics. Istnieją sześć kroków:

  1. Utwórz zadanie usługi Azure Stream Analytics.
  2. Skonfiguruj zadanie usługi Azure Stream Analytics, aby używać tożsamości zarządzanej, jeśli używasz protokołów zabezpieczeń mTLS lub SASL_SSl.
  3. Skonfiguruj usługę Azure Key Vault, jeśli używasz protokołów zabezpieczeń mTLS lub SASL_SSl.
  4. Przekazywanie certyfikatów jako wpisów tajnych do usługi Azure Key Vault.
  5. Udziel uprawnień usługi Azure Stream Analytics, aby uzyskać dostęp do przekazanego certyfikatu.
  6. Skonfiguruj dane wyjściowe platformy Kafka w zadaniu usługi Azure Stream Analytics.

Uwaga

W zależności od sposobu konfigurowania klastra platformy Kafka i typu używanego klastra kafka niektóre z powyższych kroków mogą nie mieć zastosowania do Ciebie. Przykłady: jeśli używasz platformy Kafka w chmurze confluent, nie musisz przekazywać certyfikatu do korzystania z łącznika platformy Kafka. Jeśli klaster Platformy Kafka znajduje się w sieci wirtualnej lub za zaporą, może być konieczne skonfigurowanie zadania usługi Azure Stream Analytics w celu uzyskania dostępu do tematu platformy Kafka przy użyciu łącza prywatnego lub dedykowanej konfiguracji sieci.

Konfigurowanie

W poniższej tabeli wymieniono nazwy właściwości i ich opis tworzenia danych wyjściowych platformy Kafka:

Nazwa właściwości Opis
Alias danych wyjściowych Przyjazna nazwa używana w zapytaniach do odwołowania się do danych wyjściowych
Adresy serwerów bootstrap Lista par hostów/portów do nawiązania połączenia z klastrem Kafka.
Temat platformy Kafka Nazwany, uporządkowany i podzielony na partycje strumień danych, który umożliwia publikowanie-subskrybowanie i przetwarzanie komunikatów sterowane zdarzeniami.
Protokół zabezpieczeń Jak chcesz nawiązać połączenie z klastrem platformy Kafka. Usługa Azure Stream Analytics obsługuje biblioteki mTLS, SASL_SSL, SASL_PLAINTEXT lub None.
Format serializacji zdarzeń Format serializacji (JSON, CSV, Avro) wychodzącego strumienia danych.
Klucz partycji Usługa Azure Stream Analytics przypisuje partycje przy użyciu partycjonowania okrężnego.
Typ kompresji zdarzeń platformy Kafka Typ kompresji używany dla wychodzących strumieni danych, takich jak Gzip, Snappy, Lz4, Zstd lub None.

Zrzut ekranu przedstawiający sposób konfigurowania danych wyjściowych platformy Kafka dla zadania usługi Stream Analytics.

Uwierzytelnianie i szyfrowanie

Do nawiązania połączenia z klastrami platformy Kafka można użyć czterech typów protokołów zabezpieczeń:

Uwaga

W przypadku SASL_SSL i SASL_PLAINTEXT usługa Azure Stream Analytics obsługuje tylko mechanizm ZWYKŁY SASL. Certyfikaty należy przekazać jako wpisy tajne do magazynu kluczy przy użyciu interfejsu wiersza polecenia platformy Azure.

Nazwa właściwości Opis
mTLS Szyfrowanie i uwierzytelnianie. Obsługuje mechanizmy zabezpieczeń PLAIN, SCRAM-SHA-256 i SCRAM-SHA-512.
SASL_SSL Łączy dwa różne mechanizmy zabezpieczeń — SASL (Simple Authentication and Security Layer) i Secure Sockets Layer (SSL) — w celu zapewnienia uwierzytelniania i szyfrowania na potrzeby transmisji danych. Protokół SASL_SSL obsługuje mechanizmy zabezpieczeń PLAIN, SCRAM-SHA-256 i SCRAM-SHA-512.
SASL_PLAINTEXT Uwierzytelnianie standardowe z nazwą użytkownika i hasłem bez szyfrowania
Brak Brak uwierzytelniania i szyfrowania.

Ważne

Aplikacja Confluent Cloud obsługuje uwierzytelnianie przy użyciu kluczy interfejsu API, protokołu OAuth lub logowania jednokrotnego SAML. Usługa Azure Stream Analytics nie obsługuje uwierzytelniania OAuth ani logowania jednokrotnego SAML. Możesz nawiązać połączenie z chmurą confluent przy użyciu klucza interfejsu API z dostępem na poziomie tematu za pośrednictwem protokołu zabezpieczeń SASL_SSL.

Aby zapoznać się z samouczkiem krok po kroku dotyczącym nawiązywania połączenia z platformą Kafka w chmurze confluent, zapoznaj się z dokumentacją:

Integracja z usługą Key Vault

Uwaga

W przypadku korzystania z certyfikatów magazynu zaufania z protokołami zabezpieczeń mTLS lub SASL_SSL musisz mieć usługę Azure Key Vault i tożsamość zarządzaną skonfigurowaną dla zadania usługi Azure Stream Analytics. Sprawdź ustawienia sieciowe magazynu kluczy, aby upewnić się, że wybrano opcję Zezwalaj na dostęp publiczny ze wszystkich sieci . Załóżmy, że magazyn kluczy znajduje się w sieci wirtualnej lub zezwala na dostęp tylko z określonych sieci. W takim przypadku należy wstrzyknąć zadanie usługi ASA do sieci wirtualnej zawierającej magazyn kluczy lub wstrzyknąć zadanie usługi ASA do sieci wirtualnej, a następnie połączyć magazyn kluczy z siecią wirtualną zawierającą zadanie przy użyciu punktów końcowych usługi.

Usługa Azure Stream Analytics bezproblemowo integruje się z usługą Azure Key Vault, aby uzyskać dostęp do przechowywanych wpisów tajnych wymaganych do uwierzytelniania i szyfrowania podczas korzystania z protokołów zabezpieczeń mTLS lub SASL_SSL. Zadanie usługi Azure Stream Analytics łączy się z usługą Azure Key Vault przy użyciu tożsamości zarządzanej, aby zapewnić bezpieczne połączenie i uniknąć eksfiltracji wpisów tajnych. Certyfikaty są przechowywane jako wpisy tajne w magazynie kluczy i muszą być w formacie PEM.

Konfigurowanie magazynu kluczy z uprawnieniami

Zasób magazynu kluczy można utworzyć, postępując zgodnie z dokumentacją Szybki start: Tworzenie magazynu kluczy przy użyciu witryny Azure Portal Aby przekazać certyfikaty, musisz mieć dostęp do magazynu kluczy "Administrator usługi Key Vault". Postępuj zgodnie z poniższymi instrukcjami, aby udzielić dostępu administratora.

Uwaga

Aby przyznać inne uprawnienia magazynu kluczy, musisz mieć uprawnienia "Właściciel".

  1. Wybierz pozycję Kontrola dostępu (IAM).

  2. Wybierz pozycję Dodaj>przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.

  3. Przypisz rolę przy użyciu następującej konfiguracji:

Ustawienie Wartość
Rola Key Vault Administrator
Przypisz dostęp do Użytkownik, grupa lub jednostka usługi
Elementy członkowskie <Informacje o koncie lub adres e-mail>

Przekazywanie certyfikatu do magazynu kluczy za pomocą interfejsu wiersza polecenia platformy Azure

Ważne

Aby to polecenie działało prawidłowo, musisz mieć uprawnienia administratora usługi Key Vault. Aby można było prawidłowo przekazać certyfikat jako wpis tajny. Aby przekazać certyfikaty jako wpisy tajne do magazynu kluczy, musisz użyć interfejsu wiersza polecenia platformy Azure. Zadanie usługi Azure Stream Analytics zakończy się niepowodzeniem, gdy certyfikat używany do uwierzytelniania wygaśnie. Aby rozwiązać ten problem, musisz zaktualizować/zastąpić certyfikat w magazynie kluczy i ponownie uruchomić zadanie usługi Azure Stream Analytics.

Upewnij się, że interfejs wiersza polecenia platformy Azure został skonfigurowany lokalnie za pomocą programu PowerShell. Możesz odwiedzić tę stronę, aby uzyskać wskazówki dotyczące konfigurowania interfejsu wiersza polecenia platformy Azure: rozpoczynanie pracy z interfejsem wiersza polecenia platformy Azure

Zaloguj się do interfejsu wiersza polecenia platformy Azure:

az login

Połącz się z subskrypcją zawierającą magazyn kluczy:

az account set --subscription <subscription name>

Następujące polecenie może przekazać certyfikat jako wpis tajny do magazynu kluczy:

To <your key vault> nazwa magazynu kluczy, do którego chcesz przekazać certyfikat. <name of the secret> to dowolna nazwa, którą chcesz nadać wpisowi tajnemu i jak jest ona wyświetlana w magazynie kluczy. <file path to certificate> to ścieżka do lokalizacji certyfikatu, w którym znajduje się certyfikat. Możesz kliknąć prawym przyciskiem myszy i skopiować ścieżkę do certyfikatu.

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

Na przykład:

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

Konfigurowanie tożsamości zarządzanej

Usługa Azure Stream Analytics wymaga skonfigurowania tożsamości zarządzanej w celu uzyskania dostępu do magazynu kluczy. Zadanie usługi ASA można skonfigurować do używania tożsamości zarządzanej, przechodząc do karty Tożsamość zarządzana po lewej stronie w obszarze Konfigurowanie.

Zrzut ekranu przedstawiający sposób konfigurowania tożsamości zarządzanej dla zadania usługi ASA.

  1. W menu po lewej stronie wybierz kartę Tożsamość zarządzana w obszarze Konfiguracja.
  2. Wybierz pozycję Przełącz tożsamość i wybierz tożsamość, która ma być używana z zadaniem: tożsamość przypisana przez system lub tożsamość przypisana przez użytkownika.
  3. W przypadku tożsamości przypisanej przez użytkownika wybierz subskrypcję, w której znajduje się tożsamość przypisana przez użytkownika, i wybierz nazwę tożsamości.
  4. Przejrzyj i zapisz.

Udzielanie uprawnień do zadania usługi Stream Analytics w celu uzyskania dostępu do certyfikatu w magazynie kluczy

Aby zadanie usługi Azure Stream Analytics odczytywało wpis tajny w magazynie kluczy, zadanie musi mieć uprawnienia dostępu do magazynu kluczy. Wykonaj następujące kroki, aby udzielić specjalnych uprawnień do zadania usługi Stream Analytics:

  1. Wybierz pozycję Kontrola dostępu (IAM).

  2. Wybierz pozycję Dodaj>przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.

  3. Przypisz rolę przy użyciu następującej konfiguracji:

Ustawienie Wartość
Rola Użytkownik wpisów tajnych usługi Key Vault
Tożsamość zarządzana Zadanie usługi Stream Analytics dla tożsamości zarządzanej przypisanej przez system lub tożsamości zarządzanej przypisanej przez użytkownika
Elementy członkowskie <Nazwa zadania> usługi Stream Analytics lub <nazwy tożsamości przypisanej przez użytkownika>

Integracja sieci wirtualnej

Jeśli platforma Kafka znajduje się w sieci wirtualnej lub za zaporą, musisz skonfigurować zadanie usługi Azure Stream Analytics, aby uzyskać dostęp do tematu platformy Kafka. Więcej informacji można znaleźć w dokumentacji Uruchamianie zadania usługi Azure Stream Analytics w usłudze Azure Virtual Network.

Ograniczenia

  • Podczas konfigurowania zadań usługi Azure Stream Analytics do korzystania z sieci wirtualnej/SWIFT zadanie musi być skonfigurowane z co najmniej sześcioma (6) jednostkami przesyłania strumieniowego lub jedną (1) jednostką przesyłania strumieniowego w wersji 2.
  • W przypadku korzystania z biblioteki mTLS lub SASL_SSL z usługą Azure Key Vault należy przekonwertować magazyn kluczy Java na format PEM.
  • Minimalna wersja platformy Kafka, którą można skonfigurować w usłudze Azure Stream Analytics w celu nawiązania połączenia z wersją 0.10.
  • Usługa Azure Stream Analytics nie obsługuje uwierzytelniania w chmurze confluent przy użyciu protokołu OAuth lub logowania jednokrotnego SAML. Klucz interfejsu API należy używać za pośrednictwem protokołu SASL_SSL

Uwaga

Aby uzyskać bezpośrednią pomoc dotyczącą korzystania z danych wyjściowych platformy Kafka usługi Azure Stream Analytics, skontaktuj się z usługą askasa@microsoft.com.

Następne kroki