Udostępnij za pośrednictwem


Przesyłanie strumieniowe danych z usługi Azure Stream Analytics do chmury confluent

W tym artykule opisano sposób łączenia zadania usługi Azure Stream Analytics bezpośrednio z platformą Kafka w chmurze confluent jako dane wyjściowe.

Wymagania wstępne

  • Masz klaster kafka chmury confluent.
  • Masz plik klucza interfejsu API dla klastra kafka, który zawiera klucz interfejsu API używany jako nazwa użytkownika, klucz tajny interfejsu API do użycia jako hasło oraz adres serwera Bootstrap.
  • Masz zadanie usługi Azure Stream Analytics. Zadanie usługi Azure Stream Analytics można utworzyć, postępując zgodnie z dokumentacją: Szybki start: Tworzenie zadania usługi Stream Analytics przy użyciu witryny Azure Portal
  • Klaster kafka chmury confluent musi być publicznie dostępny, a nie za zaporą lub zabezpieczony w sieci wirtualnej.
  • Powinien istnieć istniejący magazyn kluczy. Zasób magazynu kluczy można utworzyć, postępując zgodnie z dokumentacją Szybki start: tworzenie magazynu kluczy przy użyciu witryny Azure Portal

Konfigurowanie usługi Azure Stream Analytics do korzystania z 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. Kliknij 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.

Pobieranie certyfikatu z usługi LetsEncrypt

Dane wyjściowe platformy kafka usługi Stream Analytics są klientem opartym na librdkafka. Aby dane wyjściowe łączyły się z chmurą confluent, potrzebne są certyfikaty TLS używane przez chmurę confluent na potrzeby uwierzytelniania serwera. Chmura Confluent używa certyfikatów TLS z usługi Let's Encrypt, otwartego urzędu certyfikacji.

Pobierz certyfikat ISRG Root X1 w formacie PEM w witrynie aplikacji LetsEncrypt.

Zrzut ekranu przedstawiający certyfikat do pobrania z witryny internetowej funkcji umożliwia szyfrowanie.

Konfigurowanie magazynu kluczy z uprawnieniami

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. Aby użyć pobranego certyfikatu, musisz najpierw przekazać go do magazynu kluczy.

Aby przekazać certyfikaty, musisz mieć dostęp "Administrator usługi Key Vault" do magazynu kluczy. 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. W usłudze keyvault wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).

  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 usługi Key Vault jako wpisu tajnego za pośrednictwem 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 masz skonfigurowany i zainstalowany lokalnie interfejs wiersza polecenia platformy Azure 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>

Na przykład:

az account set --subscription mymicrosoftsubscription

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 pobranego certyfikatu. Możesz kliknąć prawym przyciskiem myszy certyfikat 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 confluentsecret --file C:\Users\Downloads\isrgrootx1.pem

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. W magazynie kluczy wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami)..

  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>

Konfigurowanie danych wyjściowych platformy Kafka w zadaniu usługi Stream Analytics

  1. W zadaniu usługi Stream Analytics wybierz pozycję Dane wyjściowe w obszarze Topologia zadania

  2. Wybierz pozycję Dodaj dane wyjściowe platformy Kafka, aby otworzyć blok Konfiguracji nowych danych wyjściowych> platformy Kafka.

  3. Użyj następującej konfiguracji:

Uwaga

W przypadku SASL_SSL i SASL_PLAINTEXT usługa Azure Stream Analytics obsługuje tylko mechanizm ZWYKŁY SASL.

Nazwa właściwości Opis
Alias danych wyjściowych Przyjazna nazwa używana w zapytaniach do odwołowania się do danych wejściowych
Adresy serwerów bootstrap Lista par hostów/portów w celu nawiązania połączenia z klastrem kafka chmury confluent. Przykład: pkc-56d1g.eastus.azure.confluent.cloud:9092
Temat platformy Kafka Nazwa tematu platformy Kafka w klastrze kafka w chmurze confluent.
Protokół zabezpieczeń Wybierz pozycję SASL_SSL. Obsługiwany mechanizm to PLAIN.
Format serializacji zdarzeń Format serializacji (JSON, CSV, Avro, Parquet, Protobuf) przychodzącego strumienia danych.
Klucz partycji Usługa Azure Stream Analytics przypisuje partycje przy użyciu partycjonowania okrężnego. Zachowaj wartość pustą, jeśli klucz nie partycjonuje danych wejściowych
Typ kompresji zdarzeń platformy Kafka Typ kompresji używany dla wychodzących strumieni danych, takich jak Gzip, Snappy, Lz4, Zstd lub None.

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 przy użyciu protokołu OAuth lub logowania jednokrotnego SAML. Możesz nawiązać połączenie z chmurą confluent przy użyciu klucza interfejsu API, który ma dostęp na poziomie tematu za pośrednictwem protokołu zabezpieczeń SASL_SSL. Aby uwierzytelnić się w chmurze confluent, należy użyć SASL_SSL i skonfigurować zadanie do uwierzytelniania w chmurze confluent przy użyciu klucza interfejsu API .

Użyj następującej konfiguracji:

Ustawienie Wartość
Username Klucz interfejsu API chmury confluent
Hasło Wpis tajny interfejsu API chmury confluent
Nazwa magazynu kluczy Nazwa magazynu kluczy platformy Azure z przekazanym certyfikatem
Certyfikaty magazynu zaufania nazwa wpisu tajnego magazynu kluczy, który zawiera certyfikat ISRG Root X1

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

Zapisywanie konfiguracji i testowanie połączenia

Zapisz konfigurację. Zadanie usługi Azure Stream Analytics sprawdza poprawność przy użyciu podanej konfiguracji. Pomyślne połączenie testowe jest wyświetlane w portalu, jeśli zadanie usługi Stream Analytics może nawiązać połączenie z klastrem kafka.

Zrzut ekranu przedstawiający pomyślne połączenie testowe z danymi wyjściowymi platformy Kafka confluent.

Ograniczenia

  • Certyfikat przekazywany do magazynu kluczy musi mieć format PEM.
  • Minimalna wersja platformy Kafka musi być kafka w wersji 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żyć za pośrednictwem protokołu SASL_SSL.
  • Aby przekazać certyfikat jako wpis tajny do magazynu kluczy, musisz użyć interfejsu wiersza polecenia platformy Azure. Nie można przekazywać certyfikatów z wielowierszowymi wpisami tajnymi do magazynu kluczy przy użyciu witryny Azure Portal.

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