Kafka Connect, пароль разъема JDB C в открытом тексте. Как избежать? - PullRequest
1 голос
/ 24 января 2020

У меня есть разъем источника jdb c, который я использую, и я использую Postman для тестирования и настройки этого. Пароль для соединения с БД находится в открытом тексте, и это нормально, если только я его вижу.

    "config": {
        "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
        "connection.url": "jdbc:db2://db2server.mycompany.com:4461/myDB",
        "connection.user: "dbUser",
        "connection.password": "DBPASSinClearText!",
        "dialect.name": "Db2DatabaseDialect",
        "mode": "timestamp",
        "query": "select fname, lname, custId, custRegion, lastUpdate from CustomerMaster",
        "timestamp.column.name": "lastUpdate",
        "table.types": "TABLE",
        "topic.prefix": "master.customer"
    }
}

В производстве команда развертывания - это те, кто устанавливает конфигурацию. Есть ли способ зашифровать это, поэтому мне не нужно делиться паролем открытого текста с этой командой?

Ответы [ 2 ]

4 голосов
/ 24 января 2020

Да, вы можете использовать внешние данные. Это было добавлено в Apache Kafka 2.0 до KIP-297 .

Вы можете использовать внешних провайдеров учетных данных (базовый c пример будет простым файлом), а затем вместо этого:

"connection.password": "DBPASSinClearText!",

у вас будет что-то вроде:

"connection.password": "${file:/data/foo_credentials.properties:FOO_PASSWORD}",

Вот пример того, как сделать это с помощью простого файла, и полностью узнать о функциональности в документации здесь

2 голосов
/ 24 января 2020

В моей компании мы создали API поверх kafka connect, где мы используем переменные в config и Hashicorp Vault для значений.

Но вы можете использовать ConfigProvider, как описано в документации на https://docs.confluent.io/current/connect/security.html#externalizing -secrets . Если сохранение секретов в конфигурационных файлах в виде простого текста в kafka не работает для вас, можно создать собственную реализацию ConfigProvider.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...