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.
- Kliknij kartę Tożsamość zarządzana w obszarze konfiguracja.
- 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.
- 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.
- 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.
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".
W usłudze keyvault wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).
Wybierz pozycję Dodaj>przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.
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:
W magazynie kluczy wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami)..
Wybierz pozycję Dodaj>przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.
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
W zadaniu usługi Stream Analytics wybierz pozycję Dane wyjściowe w obszarze Topologia zadania
Wybierz pozycję Dodaj dane wyjściowe platformy Kafka, aby otworzyć blok Konfiguracji nowych danych wyjściowych> platformy Kafka.
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 |
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.
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.