HTTP API плагина базы данных InfluxDB
|
Этот движок может использовать внешние X.509 сертификаты в рамках TLS или проверки подписи. Проверка подписей по X.509 сертификатам, использующим SHA-1, устарела и больше не может использоваться без обходного пути. |
Плагин базы данных InfluxDB является одним из поддерживаемых плагинов для движка секретов базы данных. Этот плагин динамически генерирует учетные данные базы данных на основе настроенных ролей для базы данных InfluxDB.
1. Настроить соединение
В дополнение к параметрам, определенным в Движке секретов баз данных, этот плагин имеет несколько параметров для дальнейшей настройки соединения.
| Метод | Путь |
|---|---|
|
|
1.1. Параметры
-
host(string: <обязательный>)- указывает хост InfluxDB, к которому нужно подключиться. -
port(int: 8086)- указывает порт по умолчанию, который будет использоваться, если не указан в URI хоста. По умолчанию используется порт передачи InfluxDB по умолчанию - 8086. -
username(string: <обязательный>)- указывает имя пользователя для доступа с правами суперпользователя. -
password(string: <обязательный>)- указывает пароль, соответствующий данному имени пользователя. -
tls(bool: true)- указывает, следует ли использовать TLS при подключении к InfluxDB. -
insecure_tls(bool: false)- указывает, следует ли пропустить проверку сертификата сервера при использовании TLS. -
pem_bundle(string: "")- указывает объединенные PEM блоки, содержащие сертификат и закрытый ключ; сертификат, закрытый ключ и сертификат выдачи ЦА или только сертификат ЦА. -
pem_json(string: "")- указывает JSON, содержащий сертификат и закрытый ключ; сертификат, закрытый ключ и сертификат выдачи ЦА или только сертификат ЦА. Для удобства формат такой же, как и вывод командыissueиз движка секретов PKI. Читайте документацию PKI. -
connect_timeout(string: "5s")- указывает тайм-аут подключения. -
username_template(string)- шаблон, описывающий, как генерируются динамические имена пользователей.
TLS работает следующим образом:
-
Если
tlsустановлен в true, соединение будет использовать TLS; это происходит автоматически, если установленыpem_bundle,pem_jsonилиinsecure_tls. -
Если
insecure_tlsустановлен в true, соединение не будет выполнять проверку сертификата сервера; это также устанавливаетtlsв true. -
Если только
issuing_caустановлен вpem_json, или единственный сертификат вpem_bundleявляется сертификатом ЦА, предоставленный сертификат ЦА будет использоваться для проверки сертификата сервера; в противном случае будут использоваться системные сертификаты ЦА. -
Если
certificateиprivate_keyустановлены вpem_bundleилиpem_json, клиентская аутентификация будет включена для соединения.
|
|
{
"plugin_name": "influxdb-database-plugin",
"allowed_roles": "readonly",
"host": "influxdb1.local",
"username": "user",
"password": "pass"
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/influxdb/config/connection
2. Операторы
Операторы настраиваются во время создания роли и используются плагином для определения того, что отправляется в базу данных при создании, обновлении и отзыве пользователя. Для получения дополнительной информации о настройке ролей смотрите API ролей в документации по движку секретов баз данных.
2.1. Параметры
Следующие операторы используются этим плагином. Если они не упоминаются в этом списке, плагин не поддерживает этот тип оператора.
-
creation_statements(list: [])- указывает SQL операторы базы данных, выполняемые для создания и настройки пользователя. Должен быть строкой, разделенной точкой с запятой, строкой, закодированной в base64, строковым массивом JSON с сериализацией, или строкой JSON с сериализацией, закодированной в base64. Значения{{username}}и{{password}}будут подставлены. Если не указано, по умолчанию используется обычная программа создания пользователя, которая создает не суперпользователя. -
revocation_statements(list: [])- указывает SQL операторы базы данных, которые будут выполняться для отзыва пользователя. Должен быть строкой, разделенной точкой с запятой, строкой, закодированной в base64, строковым массивом JSON с сериализацией, или строкой JSON с сериализацией, закодированной в base64. Значение{{username}}будет подставлено. Если не указано, по умолчанию используется обычный оператор удаления пользователя. -
rollback_statements(list: [])- указывает SQL операторы базы данных, которые будут выполнены для отката операции создания в случае ошибки. Должен быть строкой, разделенной точкой с запятой, строкой, закодированной в base64, строковым массивом JSON с сериализацией или строкой JSON с сериализацией, закодированной в base64. Значение{{username}}будет подставлено. Если не указано, по умолчанию используется обычный оператор удаления пользователя.