Потоковая передача данных из Azure Stream Analytics в облако confluent
В этой статье описывается, как подключить задание Azure Stream Analytics непосредственно к слиянию облачного kafka в качестве выходных данных.
Необходимые компоненты
- У вас есть кластер confluent cloud kafka.
- У вас есть файл ключа API для кластера kafka, который содержит ключ API для использования в качестве имени пользователя, секрет API для использования в качестве пароля и адрес сервера начальной загрузки.
- У вас есть задание Azure Stream Analytics. Задание Azure Stream Analytics можно создать, следуя документации. Краткое руководство. Создание задания Stream Analytics с помощью портал Azure
- Кластер confluent cloud kafka должен быть общедоступным, а не за брандмауэром или защищенным в виртуальной сети.
- У вас должно быть существующее хранилище ключей. Вы можете создать ресурс хранилища ключей, выполнив краткое руководство по созданию хранилища ключей с помощью портал Azure
Настройка Azure Stream Analytics для использования управляемого удостоверения
Azure Stream Analytics требует настройки управляемого удостоверения для доступа к хранилищу ключей. Задание ASA можно настроить для использования управляемого удостоверения, перейдя на вкладку "Управляемое удостоверение " слева в разделе "Настройка".
- Перейдите на вкладку Управляемое удостоверение в разделе Настройка.
- Выберите параметр "Переключить удостоверение " и выберите удостоверение, используемое с заданием: назначаемое системой удостоверение или удостоверение, назначаемое пользователем.
- Для удостоверения, назначаемого пользователем, выберите подписку, в которой находится удостоверение, назначаемое пользователем, и выберите имя удостоверения.
- Проверьте и сохраните.
Скачивание сертификата из LetsEncrypt
Выходные данные kafka stream analytics — это клиент на основе librdkafka. Чтобы выходные данные подключались к облаку, вам потребуются сертификаты TLS, которые объединяют облачные ресурсы для проверки подлинности сервера. Confluent cloud использует сертификаты TLS из Let's Encrypt, открытый центр сертификации (ЦС).
Скачайте сертификат ISRG Root X1 в формате PEM на сайте LetsEncrypt.
Настройка хранилища ключей с разрешениями
Azure Stream Analytics легко интегрируется с хранилищем ключей Azure для доступа к сохраненным секретам, необходимым для проверки подлинности и шифрования при использовании MTLS или протоколов безопасности SASL_SSL. Задание Azure Stream Analytics подключается к хранилищу ключей Azure с помощью управляемого удостоверения, чтобы обеспечить безопасное подключение и избежать кражи секретов. Чтобы использовать скачанный сертификат, сначала необходимо передать его в хранилище ключей.
Для отправки сертификатов необходимо иметь доступ "Администратор Key Vault" к хранилищу ключей. Выполните следующие действия, чтобы предоставить администратору доступ:
Примечание.
У вас должны быть разрешения "Владелец" для предоставления других разрешений хранилища ключей.
В области ключей выберите элемент управления доступом (IAM).
Выберите Добавить>Добавить назначение ролей, чтобы открыть страницу Добавление назначения ролей.
Назначьте роль с помощью следующей конфигурации:
Параметр | Значение |
---|---|
Роль | Администратор хранилища ключей |
Назначить доступ для | Пользователь, группа или субъект-служба |
Участники | <Сведения о вашей учетной записи или электронная почта> |
Отправка сертификата в хранилище ключей в качестве секрета с помощью Azure CLI
Внимание
Для правильной работы этой команды необходимо иметь разрешение "Администратор Key Vault" для правильной передачи сертификата в виде секрета. Для отправки сертификатов в хранилище ключей необходимо использовать Azure CLI. Задание Azure Stream Analytics завершится ошибкой, когда срок действия сертификата, используемого для проверки подлинности. Чтобы устранить эту проблему, необходимо обновить или заменить сертификат в хранилище ключей и перезапустить задание Azure Stream Analytics.
Убедитесь, что вы настроили и установили Azure CLI локально с помощью PowerShell. Вы можете посетить эту страницу, чтобы получить рекомендации по настройке Azure CLI: начало работы с Azure CLI
Войдите в Azure CLI:
az login
Подключитесь к подписке, содержащей хранилище ключей:
az account set --subscription <subscription name>
Например:
az account set --subscription mymicrosoftsubscription
Следующая команда может отправить сертификат в качестве секрета в хранилище ключей:
Имя <your key vault>
хранилища ключей, в которое нужно отправить сертификат. <name of the secret>
— любое имя, которое вы хотите дать секрету и как оно отображается в хранилище ключей. <file path to certificate>
— это путь к расположению скачаемого сертификата. Вы можете щелкнуть сертификат правой кнопкой мыши и скопировать путь к сертификату.
az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>
Например:
az keyvault secret set --vault-name mykeyvault --name confluentsecret --file C:\Users\Downloads\isrgrootx1.pem
Предоставление разрешений на задание Stream Analytics для доступа к сертификату в хранилище ключей
Чтобы задание Azure Stream Analytics читало секрет в хранилище ключей, задание должно иметь разрешение на доступ к хранилищу ключей. Чтобы предоставить специальные разрешения заданию Stream Analytics, выполните следующие действия.
В хранилище ключей выберите элемент управления доступом (IAM).
Выберите Добавить>Добавить назначение ролей, чтобы открыть страницу Добавление назначения ролей.
Назначьте роль с помощью следующей конфигурации:
Параметр | Значение |
---|---|
Роль | Пользователь секретов хранилища ключей |
Управляемое удостоверение | Задание Stream Analytics для управляемого удостоверения, назначаемого системой, или управляемого удостоверения, назначаемого пользователем |
Участники | <Имя задания> Stream Analytics или <имя назначаемого пользователем удостоверения> |
Настройка выходных данных kafka в задании Stream Analytics
В задании Stream Analytics выберите выходные данные в разделе "Топология заданий"
Выберите "Добавить выходной>Kafka", чтобы открыть колонку "Новая конфигурация вывода Kafka".
Используйте следующую конфигурацию:
Примечание.
Для SASL_SSL и SASL_PLAINTEXT Azure Stream Analytics поддерживает только механизм PLAIN SASL.
Имя свойства | Description |
---|---|
Псевдоним вывода | Понятное имя, используемое в запросах для ссылки на входные данные |
Адреса сервера начальной загрузки | Список пар узлов и портов для установления подключения к кластеру confluent cloud kafka. Пример: pkc-56d1g.eastus.azure.confluent.cloud:9092 |
Раздел Kafka | Имя раздела kafka в кластере confluent cloud kafka. |
Протокол безопасности | Выберите SASL_SSL. Поддерживаемый механизм — PLAIN. |
Формат сериализации событий | Формат сериализации (JSON, CSV, Avro, Parquet, Protobuf) входящего потока данных. |
Ключ раздела | Azure Stream Analytics назначает секции с помощью циклического секционирования. Сохраните пустое значение, если ключ не секционирование входных данных |
Тип сжатия событий Kafka | Тип сжатия, используемый для исходящих потоков данных, таких как Gzip, Snappy, Lz4, Zstd или None. |
Внимание
Confluent Cloud поддерживает проверку подлинности с помощью ключей API, OAuth или единого входа SAML. Azure Stream Analytics не поддерживает проверку подлинности с помощью OAuth или единого входа SAML. Вы можете подключиться к облаку confluent с помощью ключа API, имеющего доступ на уровне раздела с помощью протокола безопасности SASL_SSL. Чтобы выполнить проверку подлинности в облаке confluent cloud, необходимо использовать SASL_SSL и настроить задание для проверки подлинности в облаке с помощью ключа API.
Используйте следующую конфигурацию:
Параметр | Значение |
---|---|
Username | Ключ облачного API confluent |
Пароль | Секрет облачного API confluent |
Имя хранилища ключей | Имя хранилища ключей Azure с отправленным сертификатом |
Сертификаты Truststore | имя секрета хранилища ключей, в котором хранится сертификат ISRG Root X1 |
Сохранение конфигурации и тестового подключения
Сохраните конфигурацию. Задание Azure Stream Analytics проверяется с помощью предоставленной конфигурации. Успешное тестовое подключение отображается на портале, если задание Stream Analytics может подключиться к кластеру kafka.
Ограничения
- Сертификат, который вы отправляете в хранилище ключей, должен быть в формате PEM.
- Минимальная версия kafka должна быть kafka версии 0.10.
- Azure Stream Analytics не поддерживает проверку подлинности для слияния облака с помощью OAuth или единого входа SAML. Ключ API необходимо использовать через протокол SASL_SSL.
- Для отправки сертификата в хранилище ключей необходимо использовать Azure CLI. Вы не можете отправлять сертификаты с несколькими строками секретов в хранилище ключей с помощью портал Azure.
Примечание.
Чтобы получить прямую справку по использованию выходных данных Azure Stream Analytics Kafka, обратитесь к askasa@microsoft.com.