Выходные данные Kafka из Azure Stream Analytics (предварительная версия)
Azure Stream Analytics позволяет подключаться непосредственно к кластерам Kafka в качестве производителя для вывода данных. Решение является низким кодом и полностью управляется командой Azure Stream Analytics в Корпорации Майкрософт, что позволяет ему соответствовать стандартам соответствия бизнес-требованиям. Выходные данные ASA Kafka являются обратно совместимыми и поддерживают все версии с последней версией клиента, начиная с версии 0.10. Пользователи могут подключаться к кластерам Kafka в виртуальной сети и кластерах Kafka с общедоступной конечной точкой в зависимости от конфигураций. Конфигурация зависит от существующих соглашений о конфигурации Kafka. Поддерживаемые типы сжатия: None, Gzip, Snappy, LZ4 и Zstd.
Шаги
В этой статье показано, как настроить Kafka в качестве выходных данных из Azure Stream Analytics. Существует шесть шагов:
- Создайте задание Azure Stream Analytics.
- Настройте задание Azure Stream Analytics для использования управляемого удостоверения, если используется mTLS или протоколы безопасности SASL_SSl.
- Настройте хранилище ключей Azure, если используется mTLS или SASL_SSl протоколы безопасности.
- Отправка сертификатов в качестве секретов в хранилище ключей Azure.
- Предоставьте Azure Stream Analytics разрешения для доступа к отправленном сертификату.
- Настройте выходные данные Kafka в задании Azure Stream Analytics.
Примечание.
В зависимости от того, как настроен кластер Kafka и тип используемого кластера Kafka, некоторые из описанных выше шагов могут не применяться к вам. Примеры: если вы используете confluent cloud Kafka, вам не потребуется отправить сертификат для использования соединителя Kafka. Если кластер Kafka находится в виртуальной сети или за брандмауэром, возможно, потребуется настроить задание Azure Stream Analytics для доступа к разделу Kafka с помощью приватного канала или выделенной конфигурации сети.
Настройка
В следующей таблице перечислены имена свойств и их описание для создания выходных данных Kafka:
Имя свойства | Description |
---|---|
Псевдоним вывода | Понятное имя, используемое в запросах для ссылки на выходные данные |
Адреса сервера начальной загрузки | Список пар узлов и портов для установления подключения к кластеру Kafka. |
Раздел Kafka | Именованный, упорядоченный и секционированные потоки данных, которые позволяют обрабатывать сообщения на основе публикации и подписки на события. |
Протокол безопасности | Как подключиться к кластеру Kafka. Azure Stream Analytics поддерживает MTLS, SASL_SSL, SASL_PLAINTEXT или Нет. |
Формат сериализации событий | Формат сериализации (JSON, CSV, Avro) исходящего потока данных. |
Ключ раздела | Azure Stream Analytics назначает секции с помощью циклического секционирования. |
Тип сжатия событий Kafka | Тип сжатия, используемый для исходящих потоков данных, таких как Gzip, Snappy, Lz4, Zstd или None. |
Проверка подлинности и шифрование
Для подключения к кластерам Kafka можно использовать четыре типа протоколов безопасности:
Примечание.
Для SASL_SSL и SASL_PLAINTEXT Azure Stream Analytics поддерживает только механизм PLAIN SASL. Вы должны отправлять сертификаты в качестве секретов в хранилище ключей с помощью Azure CLI.
Имя свойства | Description |
---|---|
mTLS | Шифрование и проверка подлинности. Поддерживает механизмы безопасности PLAIN, SCRAM-SHA-256 и SCRAM-SHA-512. |
SASL_SSL | Он объединяет два разных механизма безопасности — SASL (простой уровень проверки подлинности и безопасности) и SSL (уровень безопасных сокетов) для обеспечения проверки подлинности и шифрования для передачи данных. Протокол SASL_SSL поддерживает механизмы безопасности PLAIN, SCRAM-SHA-256 и SCRAM-SHA-512. |
SASL_PLAINTEXT | стандартная проверка подлинности с использованием имени пользователя и пароля без шифрования |
нет | Проверка подлинности и шифрование отсутствует. |
Внимание
Confluent Cloud поддерживает проверку подлинности с помощью ключей API, OAuth или единого входа SAML. Azure Stream Analytics не поддерживает проверку подлинности единого входа OAuth или SAML. Вы можете подключиться к облаку confluent с помощью ключа API с доступом на уровне раздела через протокол безопасности SASL_SSL.
Пошаговое руководство по подключению к cloud kakfa confluent см. в документации.
- Confluent cloud kafka input: Stream data from confluent cloud Kafka with Azure Stream Analytics
- Выходные данные cloud kafka confluent: потоковая передача данных из Azure Stream Analytics в облако confluent
Интеграция хранилища ключей
Примечание.
При использовании сертификатов хранилища доверия с протоколами безопасности mTLS или SASL_SSL необходимо иметь хранилище ключей Azure и управляемое удостоверение, настроенное для задания Azure Stream Analytics. Проверьте параметры сети хранилища ключей, чтобы убедиться, что выбрано разрешение общедоступного доступа из всех сетей . Предположим, что хранилище ключей находится в виртуальной сети или разрешает доступ только из определенных сетей. В этом случае необходимо внедрить задание ASA в виртуальную сеть, содержащую хранилище ключей, или внедрить задание ASA в виртуальную сеть, а затем подключить хранилище ключей к виртуальной сети, содержащей задание с помощью конечных точек службы.
Azure Stream Analytics легко интегрируется с хранилищем ключей Azure для доступа к сохраненным секретам, необходимым для проверки подлинности и шифрования при использовании MTLS или протоколов безопасности SASL_SSL. Задание Azure Stream Analytics подключается к хранилищу ключей Azure с помощью управляемого удостоверения, чтобы обеспечить безопасное подключение и избежать кражи секретов. Сертификаты хранятся в виде секретов в хранилище ключей и должны находиться в формате PEM.
Настройка хранилища ключей с разрешениями
Вы можете создать ресурс хранилища ключей, выполнив краткое руководство по созданию хранилища ключей с помощью портал 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>
Следующая команда может отправить сертификат в качестве секрета в хранилище ключей:
Имя <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 kafkasecret --file C:\Users\Downloads\certificatefile.pem
Настройка управляемого удостоверения
Azure Stream Analytics требует настройки управляемого удостоверения для доступа к хранилищу ключей. Задание ASA можно настроить для использования управляемого удостоверения, перейдя на вкладку "Управляемое удостоверение " слева в разделе "Настройка".
- Перейдите на вкладку Управляемое удостоверение в разделе Настройка.
- Выберите переключатель удостоверения и выберите удостоверение, используемое с заданием: назначаемое системой удостоверение или удостоверение, назначаемое пользователем.
- Для удостоверения, назначаемого пользователем, выберите подписку, в которой находится удостоверение, назначаемое пользователем, и выберите имя удостоверения.
- Проверьте и сохраните.
Предоставление разрешений на задание Stream Analytics для доступа к сертификату в хранилище ключей
Чтобы задание Azure Stream Analytics читало секрет в хранилище ключей, задание должно иметь разрешение на доступ к хранилищу ключей. Чтобы предоставить специальные разрешения заданию Stream Analytics, выполните следующие действия.
Выберите Управление доступом (IAM) .
Выберите Добавить>Добавить назначение ролей, чтобы открыть страницу Добавление назначения ролей.
Назначьте роль с помощью следующей конфигурации:
Параметр | Значение |
---|---|
Роль | Пользователь секретов хранилища ключей |
Управляемое удостоверение | Задание Stream Analytics для управляемого удостоверения, назначаемого системой, или управляемого удостоверения, назначаемого пользователем |
Участники | <Имя задания> Stream Analytics или <имя назначаемого пользователем удостоверения> |
Интеграция с виртуальной сетью
Если Kafka находится в виртуальной сети или за брандмауэром, необходимо настроить задание Azure Stream Analytics для доступа к разделу Kafka. Дополнительные сведения см. в статье "Запуск задания Azure Stream Analytics" в документации по Azure виртуальная сеть.
Ограничения
- При настройке заданий Azure Stream Analytics для использования виртуальной сети или SWIFT задание должно быть настроено как минимум с шестью (6) единицами потоковой передачи или одной единицей потоковой передачи версии 2 (1).
- При использовании mTLS или SASL_SSL с хранилищем ключей Azure необходимо преобразовать хранилище ключей Java в формат PEM.
- Минимальная версия Kafka, к которому можно подключиться, можно настроить Azure Stream Analytics, версия 0.10.
- Azure Stream Analytics не поддерживает проверку подлинности для слияния облака с помощью OAuth или единого входа SAML. Ключ API необходимо использовать с помощью протокола SASL_SSL
Примечание.
Чтобы получить прямую справку по использованию выходных данных Azure Stream Analytics Kafka, обратитесь к askasa@microsoft.com.