Кафка: включение нескольких методов аутентификации - PullRequest
0 голосов
/ 06 февраля 2019

В прошлом я работал над настройкой аутентификации для клиентов Kafka.Я уже упоминал:

  1. https://kafka.apache.org/documentation/#security
  2. https://docs.confluent.io/current/kafka/authentication_sasl/index.html#sasl-configuration-for-kafka-brokers

И другие ссылки.

Как уже упоминалосьв документах нам нужен файл конфигурации jaas для указания метода аутентификации, у меня был такой, как показано ниже:

KafkaClient {
    org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required
    LoginStringClaim_sub="admin";
};

, который в основном добавляет аутентификацию OAuth для клиентов kafka.

Вопрос в том, могу ли я включить несколько методов аутентификации на брокере kafka

Я имею в виду, могу ли я включить аутентификацию OAuthBearer и PLAIN на Kafka и позволить клиенту проходить аутентификацию любым изэти методы.

1 Ответ

0 голосов
/ 06 февраля 2019

ОК, я нашел, как мы можем это сделать.

Несколько механизмов SASL могут быть включены на брокере одновременно, в то время как каждый клиент должен выбрать один механизм.

В файле конфигурации JAAS мынеобходимо указать конфигурацию для нескольких модулей входа в систему, как показано ниже:

KafkaServer {
  org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required
  LoginStringClaim_sub="admin";

  org.apache.kafka.common.security.plain.PlainLoginModule required
  username="admin"
  password="admin-secret"
  user_admin="admin-secret"
  user_alice="alice-secret";
};

Затем мы должны включить механизмы SASL в server.properties:

# List of enabled mechanisms, can be more than one
sasl.enabled.mechanisms=OAUTHBEARER,PLAIN

И затем указать безопасность SASLпротокол и механизм межброкерской коммуникации в server.properties

# Configure SASL_SSL if SSL encryption is enabled, otherwise configure SASL_PLAINTEXT
security.inter.broker.protocol=SASL_SSL

# Configure the appropriate inter-broker protocol
sasl.mechanism.inter.broker.protocol=PLAIN

Кредит - https://docs.confluent.io/current/kafka/authentication_sasl/index.html#enabling-multiple-sasl-mechanisms

...