Начало работы
Подключение
Тесты производительности
Развёртывание
Использование данных
Управление кластерами
Обновление
Глобальное обслуживание
Масштабирование
Мониторинг
Безопасность
Лучшие практики
Технические принципы
Типы данных
Хранилище
Исполняющий движок
Потоковая обработка (Domino)
MARS3 Индексы
Расширения
Расширенные функции
Расширенный запрос
Федеративные запросы
Grafana
Резервное копирование и восстановление
Аварийное восстановление
Графовая база данных
Введение
Предложения
Функции
Расширенные темы
Руководство
Настройка производительности
Устранение неполадок
Инструменты
Параметры конфигурации
SQL-команда
Часто задаваемые вопросы
В этом документе описана конфигурация защищённого подключения SSL при подключении MatrixGate к Kafka. Функции SSL-конфигурации, описанные в этом документе, применимы к MatrixGate v6.8.2 и выше.
SSL-подключение и существующая аутентификация SASL — два независимых параметра конфигурации; их можно включать раздельно или одновременно.
В настоящее время MatrixGate поддерживает односторонний TLS: подключение к Kafka шифруется, MatrixGate проверяет сертификат брокера Kafka.
После настройки SSL-ca-cert MatrixGate включает SSL-подключение.
Примечание!
SSL-ca-certдолжен быть путём к CA-сертификату, соответствующему сертификату брокера Kafka. Файл сертификата должен быть доступен для чтения на машине, где работает процесс MatrixGate.
Перед настройкой убедитесь, что:
версия MatrixGate — v6.8.2 или выше;
на брокере Kafka включён SSL-адрес прослушивания;
узел, на котором работает MatrixGate, имеет доступ к брокеру Kafka;
на узле MatrixGate сохранён файл CA-сертификата и есть права на его чтение.
В приведённых примерах показаны только ключевые параметры SSL и SASL в источнике данных Kafka. Измените адрес брокера, пути к сертификатам, данные аутентификации, topic, partition и job в соответствии с вашим окружением.
При включении только SSL необходимо настроить адрес брокера Kafka и путь к CA-сертификату.
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9094,broker2:9094"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"
При одновременном включении SSL и SASL/PLAIN необходимо настроить параметры SSL, имя пользователя и пароль SASL.
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9093,broker2:9093"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
# 是否启用 SASL 认证。
enable-SASL = true
# 是否启用 Kafka SASL handshake。标准 Kafka SASL 连接一般设置为 true。
enable-SASL-handshake = true
# SASL 认证机制,PLAIN 表示使用 SASL/PLAIN 用户名密码认证。
SASL-mechanism = "PLAIN"
# SASL/PLAIN 用户名。
SASL-user = "user"
# SASL/PLAIN 密码。
SASL-password = "password"
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"
При одновременном включении SSL и SASL/SCRAM необходимо настроить параметры SSL, имя пользователя и пароль SASL, а также алгоритм хеширования SCRAM.
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9093,broker2:9093"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
# 是否启用 SASL 认证。
enable-SASL = true
# 是否启用 Kafka SASL handshake。标准 Kafka SASL 连接一般设置为 true。
enable-SASL-handshake = true
# SASL 认证机制,SCRAM 表示使用 SASL/SCRAM 认证。
SASL-mechanism = "SCRAM"
# SASL/SCRAM 用户名。
SASL-user = "user"
# SASL/SCRAM 密码。
SASL-password = "password"
# SCRAM 哈希算法,支持 SHA-256 或 SHA-512。
SCRAM-algorithm = "SHA-512"
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"
При одновременном включении SSL и SASL/GSSAPI необходимо настроить параметры SSL и параметры SASL/GSSAPI.
Аутентификация GSSAPI по умолчанию использует быструю аутентификацию (PAFXFAST). Если подключение завершается ошибкой на этапе быстрой аутентификации, задайте в [source.kafka] параметр GSSAPI-disable-PAFXFAST = true, отключите быструю аутентификацию и повторите попытку.
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9093,broker2:9093"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
# 是否启用 SASL 认证。
enable-SASL = true
# 是否启用 Kafka SASL handshake。标准 Kafka SASL 连接一般设置为 true。
enable-SASL-handshake = true
# SASL 认证机制,GSSAPI 表示使用 Kerberos 认证。
SASL-mechanism = "GSSAPI"
# GSSAPI 认证方式,KEYTAB 表示使用 keytab 文件认证。
GSSAPI-auth-type = "KEYTAB"
# Kerberos 配置文件路径,通常是 krb5.conf。
GSSAPI-kerberos-config-path = "/etc/krb5.conf"
# keytab 文件路径,GSSAPI-auth-type = "KEYTAB" 时使用。
GSSAPI-keytab-path = "/etc/security/keytabs/kafka.service.keytab"
# GSSAPI 用户或 principal。
GSSAPI-user = "kafka/host.example.com"
# Kerberos realm。
GSSAPI-realm = "EXAMPLE.COM"
# Kafka broker 使用的 Kerberos service name,通常是 kafka。
GSSAPI-service-name = "kafka"
# 是否关闭 GSSAPI 快速认证(PAFXFAST)。默认 false;在快速认证阶段失败时设为 true。
GSSAPI-disable-PAFXFAST = false
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"
[source]
source = "kafka"
[source.kafka]
# Kafka broker 地址,多个 broker 用逗号分隔。
kafka-broker = "broker1:9093,broker2:9093"
# CA 证书路径,用于校验 Kafka broker 证书;配置该参数后启用 SSL 连接。
SSL-ca-cert = "/path/to/ca.pem"
# 是否启用 SASL 认证。
enable-SASL = true
# 是否启用 Kafka SASL handshake。标准 Kafka SASL 连接一般设置为 true。
enable-SASL-handshake = true
# SASL 认证机制,GSSAPI 表示使用 Kerberos 认证。
SASL-mechanism = "GSSAPI"
# GSSAPI 认证方式,USER 表示使用用户名密码认证。
GSSAPI-auth-type = "USER"
# Kerberos 配置文件路径,通常是 krb5.conf。
GSSAPI-kerberos-config-path = "/etc/krb5.conf"
# GSSAPI 用户。
GSSAPI-user = "user"
# GSSAPI 密码,GSSAPI-auth-type = "USER" 时使用。
GSSAPI-password = "password"
# Kerberos realm。
GSSAPI-realm = "EXAMPLE.COM"
# Kafka broker 使用的 Kerberos service name,通常是 kafka。
GSSAPI-service-name = "kafka"
# 是否关闭 GSSAPI 快速认证(PAFXFAST)。默认 false;在快速认证阶段失败时设为 true。
GSSAPI-disable-PAFXFAST = false
[[source.kafka.topic]]
topic = "topic_name"
partition = "*"
job = "job_name"