Конфигурация JDBC

Материал из Документация Ключ-АСТРОМ

Источник данных SQL Ключ-АСТРОМ Расширения позволяет вам запрашивать любую базу данных, допускающую соединения с использованием драйвера JDBC поверх всех поставщиков баз данных, поддерживаемых по умолчанию. Для таких баз данных требуются некоторые дополнительные шаги.

Предустановка

Поддерживаются драйверы на базе JDBC 4.0+.

Загрузить драйвер JDBC в ActiveGate

Вам необходимо предоставить драйвер выбранного вами поставщика базы данных, чтобы ActiveGate, на котором запущено расширение, мог подключиться к базе данных.

Пример MariaDB

Для MariaDB вы можете получить драйвер на странице загрузки MariaDB.

Загрузите Java 8+, независимый от платформы коннектор, то есть файл mariadb-java-client-3.5.0.jar.


Загрузите драйвер JDBC на АктивныйШлюз, принадлежащий группе, назначенной для запуска вашего расширения:

Windows : C:\ProgramData\astromkey\remotepluginmodule\agent\conf\userdata\libs

Linux : /var/lib/astromkey/remotepluginmodule/agent/conf/userdata/libs/

Убедитесь, что у пользователя есть доступ на чтение драйвера dtuserag. Например, для Linux CHMOD установите 775.

Конфигурация мониторинга

После определения области действия вашей конфигурации вам необходимо определить следующее:

  • Базы данных, из которых собираются данные и их аутентификационные данные
  • АктивныйШлюз для выполнения расширения и подключения к вашим устройствам. Таким АктивнымШлюзам требуется загрузить соответствующий драйвер JDBC.

Пример полезной нагрузки для активации расширения JDBC:

[

  {

    "value": {

      "enabled": true,

      "description": "My JDBC extension",

      "version": "0.0.1",

      "featureSets": [

        "statements"

      ],

      "jdbcRemote": {

        "endpoints": [

          {

            "host": "193.36.194.170",

            "port": 3306,

            "connectionString": "jdbc:mariadb://193.36.194.170/mysql",

            "authentication": {

              "scheme": "basic",

              "useCredentialVault": false,

              "username": "user",

              "password": "password"

            }

          }

        ]

      }

    },

    "scope": "ag_group-someAgGroup"

  }

]


Обратите внимание, что вам необходимо указать как конечную точку (хост и порт), так и соответствующую строку подключения.

Контроль безопасности

Синтаксис строки подключения SQL по своей природе может раскрыть конфиденциальную информацию, такую ​​как учетные данные пользователя. Если возможно, избегайте включения любой секретной информации в строку подключения. Если ваша строка подключения содержит какую-либо конфиденциальную информацию:

  • Ограничьте доступ на чтение и запись к конфигурации мониторинга JDBC. Убедитесь, что только пользователи, которым разрешен доступ к секрету, имеют доступ на чтение и запись к конфигурациям.
  • В отличие от данных аутентификации, строка подключения не хешируется. Просматривайте и редактируйте конфигурацию только в безопасной среде, где ее не смогут увидеть неавторизованные пользователи.

Параметры

Включение

Если установлено значение true, конфигурация активируется, и Ключ-АСТРОМ немедленно начинает мониторинг.

Описание

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

Версия

Версия этой конфигурации мониторинга.

Наборы функций

Добавьте список наборов функций, которые вы хотите отслеживать.

"featureSets": [

  "cpu",

  "io"

  ]

Конечные точки

В одной конфигурации мониторинга в разделе можно определить до 20 000 конечных точек jdbcRemote.

"jdbcRemote": {

    "endpoints": [

      {

        "host": "jdbchost",

        "port": 3306,

        "connectionString": "jdbc:mariadb://193.36.194.170/mysql",

        "authentication": {

          "scheme": "basic",

          "useCredentialVault": false,

          "username": "admin",

          "password": "password"

        }

      }

    ]

  }


Чтобы определить сервер базы данных JDBS, добавьте в раздел следующие данные endpoints:

  • Хост
  • Порт
  • Строка подключения
  • Учетные данные аутентификации

Аутентификация

Данные аутентификации, передаваемые в API Ключ-АСТРОМ при активации конфигурации мониторинга, запутываются, и их невозможно получить.

Хранилище учетных данных

Тип аутентификации хранилища учетных данных обеспечивает более безопасный подход к использованию расширений путем безопасного хранения и управления учетными данными пользователя. Чтобы использовать это, вы должны быть владельцем учетных данных и иметь хранилище учетных данных, которое соответствует следующим критериям:

  • Тип учетных данных — Пользователь и пароль
  • Область действия учетных данных — включены синтетические (в случае использования внешнего хранилища) и области аутентификации расширения.
  • Доступ владельца разрешен только для владельцев учетных данных.
"authentication": {

   "scheme": "basic",

   "useCredentialVault": true,

   "credentialVaultId": "some-credential-vault-id"

}

SSL

АктивныйШлюз версии 1.295+

Включите SSL, чтобы источник данных проверял сертификат сервера и использовал шифрование SSL вместо собственного шифрования.

"ssl": true

Включить SSL без локального хранилища доверенных сертификатов

Когда SSL включен и цепочка сертификатов сервера публично проверяема (например, выпущена Azure или другими известными CA), нет необходимости вручную создавать truststore. Система автоматически будет доверять сертификату сервера на основе доверенных CA в среде.

Однако если вам необходимо использовать локальное хранилище доверенных сертификатов для сертификатов, не признанных во всем мире, или для дополнительных мер безопасности

  1. В директории АктивныхШлюзов userdata, где запущен источник данных SQL, вручную создайте доверенное хранилище PKCS12 с именем sqlds_truststore и паролем sqlds_truststore.
    Команда для создания хранилища доверенных сертификатов с помощью keytool: keytool -genkey -keystore sqlds_truststore -storepass sqlds_truststore -keyalg DSA
    • Расположение директории userdata:
      • Windows : %PROGRAMDATA%\astromkey\remotepluginmodule\agent\conf\userdata
      • Unix : /var/lib/astromkey/remotepluginmodule/agent/conf/userdata
  2. Добавьте к нему сертификат сервера.
    Команда для импорта сертификата с помощью keytool: keytool -import -keystore sqlds_truststore -file .\ora.crt -alias oracle

Проверка SSL-сертификатов

АктивныйШлюз версии 1.269+

Сертификат дополнительно проверяется по имени хоста, что означает, что домен из сертификата должен совпадать с доменом из конечной точки, переданной в конфигурации мониторинга.

Включите эту опцию при подключении к базам данных с использованием пользовательских сертификатов.

"validateCertificates": true

Применение

Обратите внимание, что каждому хосту АктивногоШлюза, на котором запущено ваше расширение, необходим корневой сертификат для проверки подлинности вашего расширения.

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

При определении группы АктивногоШлюза используйте следующий формат:

"scope": "ag_group-<ActiveGate-group-name>",

Замените <ActiveGate-group-name> фактическим именем.