Spec-Zone.ru › MySQL 9.2

25.5.28 ndb_sign_keys — Создание, Подпись и Управление ключами TLS и сертификатами для кластера NDB

Управление ключами TLS и сертификатами в кластере NDB реализовано в виде исполняемой утилиты ndb_sign_keys, которая обычно находится в каталоге MySQL bin. Утилита выполняет такие функции, как создание, подписание и отметка ключей и сертификатов как устаревших, и обычно работает следующим образом:

  1. ndb_sign_keys подключается к ndb_mgmd и получает конфигурацию кластера.

  2. Для каждого узла кластера, настроенного для работы на локальной машине, ndb_sign_keys находит закрытый ключ узла и подписывает его, создавая активный сертификат узла.

Некоторые дополнительные задачи, которые может выполнять ndb_sign_keys, перечислены здесь:

  • Получение информации о конфигурации из файла config.ini вместо работающего ndb_mgmd

  • Создание центра сертификации (CA) кластера, если он еще не существует

  • Создание закрытых ключей

  • Сохранение ключей и сертификатов как ожидающих, а не активных

  • Подписание ключа для отдельного узла, как указано с помощью параметров командной строки, описанных позже в этом разделе

  • Запрос подписи закрытого ключа у центра сертификации, расположенного на удалённом узле

Опции, которые могут быть использованы с ndb_sign_keys, показаны в следующей таблице. Дополнительные описания следуют за таблицей.

  • --bind-host

    Формат командной строки --bind-host=host
    Тип String
    Значение по умолчанию mgmd, api

    Создать сертификат, привязанный к списку имен узлов типов узлов, которые должны иметь привязки имен узлов сертификата, из множества (mgmd,db,api).

  • --bound-hostname

    Формат командной строки --bound-hostname=hostname
    Тип String
    Значение по умолчанию [none]

    Создать сертификат, привязанный к имени узла, переданному этому параметру.

  • --CA-cert

    Формат командной строки --CA-cert=name
    Тип Имя файла
    Значение по умолчанию NDB-Cluster-cert

    Использовать имя, переданное этому параметру, для файла сертификата CA.

  • --CA-key

    Формат командной строки --CA-key=name
    Тип Имя файла
    Значение по умолчанию NDB-Cluster-private-key

    Использовать имя, переданное этому параметру, для файла закрытого ключа CA.

  • --CA-ordinal

    Формат командной строки --CA-ordinal=name
    Тип String
    Значение по умолчанию [none]
    Допустимые значения

    First

    Second

    Установить порядковое имя CA; по умолчанию используется First для --create-CA и Second для --rotate-CA. Общее имя в сертификате CA — “MySQL NDB Cluster ordinal Certificate”, где ordinal — это порядковое имя, переданное этому параметру.

  • --CA-search-path

    Формат командной строки --CA-search-path=name
    Тип Имя файла
    Значение по умолчанию [none]

    Указать список каталогов для поиска файла CA. На платформах Unix имена каталогов разделяются двоеточиями (:); на системах Windows в качестве разделителя используется символ точки с запятой (;). Ссылка на каталог может быть относительной или абсолютной; она может содержать одну или несколько переменных среды, каждая из которых обозначается предшествующим знаком доллара ($) и раскрывается перед использованием.

    Поиск начинается с самого левого указанного каталога и продолжается слева направо, пока не будет найден файл. Пустая строка обозначает пустой путь поиска, что приводит к сбою всех поисков. Строка, состоящая из одной точки (.), указывает, что путь поиска ограничен текущим рабочим каталогом.

    Если путь поиска не указан, используется встроенное значение по умолчанию. Это значение зависит от используемой платформы: в Windows это $HOMEPATH\ndb-tls; на других платформах (включая Linux) это $HOME/ndb-tls. Это значение по умолчанию может быть переопределено путем компиляции NDB Cluster с использованием -DWITH_NDB_TLS_SEARCH_PATH.

  • --CA-tool

    Формат командной строки --CA-tool=name
    Тип Имя файла
    Значение по умолчанию [none]

    Указать вспомогательный исполняемый инструмент, включая путь.

  • --check

    Формат командной строки --check

    Проверить даты истечения срока действия сертификата.

  • --config-file

    Формат командной строки --config-file=file
    Отключено no-config
    Тип Имя файла
    Значение по умолчанию [none]

    Указать путь к файлу конфигурации кластера (обычно config.ini).

  • --connect-retries

    Формат командной строки --connect-retries=#
    Тип Целое число
    Значение по умолчанию 12
    Минимальное значение -1
    Максимальное значение 12

    Установить количество попыток подключения ndb_sign_keys к кластеру. Если используется -1, программа продолжает пытаться подключиться, пока не произойдет успешное подключение или пока не будет принудительно остановлена.

  • --connect-retry-delay

    Формат командной строки --connect-retry-delay=#
    Тип Целое число
    Значение по умолчанию 5
    Минимальное значение 0
    Максимальное значение 5

    Установить количество секунд, которое ndb_sign_keys ожидает после неудачной попытки подключения, прежде чем снова попытаться подключиться, до количества попыток, определенного параметром --connect-retries.

  • --create-CA

    Формат командной строки --create-CA

    Создать ключ и сертификат CA.

  • --CA-days

    Формат командной строки --CA-days=#
    Тип Целое число
    Значение по умолчанию 1461
    Минимальное значение -1
    Максимальное значение 2147483647

    Установить срок действия сертификата в указанное количество дней. Значение по умолчанию эквивалентно 4 годам плюс 1 день. -1 означает, что сертификат никогда не истекает.

    Этот параметр был добавлен в NDB 8.4.1.

  • --create-key

    Формат командной строки --create-key

    Создать или заменить закрытые ключи.

  • --curve

    Формат командной строки --curve=name
    Тип String
    Значение по умолчанию P-256

    Использовать указанную кривую для шифрования ключей узла.

  • --defaults-extra-file

    Формат командной строки --defaults-extra-file=path
    Тип String
    Значение по умолчанию [none]

    Прочитать этот файл опций после того, как будут прочитаны глобальные файлы.

  • --defaults-file

    Формат командной строки --defaults-file=path
    Тип String
    Значение по умолчанию [none]

    Прочитать только этот файл опций.

  • --defaults-group-suffix

    Формат командной строки --defaults-group-suffix=string
    Тип String
    Значение по умолчанию [none]

    Прочитать не только обычные группы опций, но и группы с обычными именами и суффиксом string.

  • --duration

    Формат командной строки --duration=#
    Тип Integer
    Значение по умолчанию 0
    Минимальное значение -500000
    Максимальное значение 0
    Единица измерения seconds

    Установить срок действия сертификатов или запросов на подпись в секундах.

  • --help

    Формат командной строки --help

    Вывести справку и завершить работу.

  • --keys-to-dir

    Формат командной строки --keys-to-dir=dirname
    Тип Directory name
    Значение по умолчанию [none]

    Указать выходной каталог для закрытых ключей (только); для этой цели он переопределяет любое значение, установленное для --to-dir.

  • --login-path

    Формат командной строки --login-path=path
    Тип String
    Значение по умолчанию [none]

    Прочитать этот путь из файла входа.

  • --ndb-connectstring

    Формат командной строки --ndb-connectstring=connection_string
    Тип String
    Значение по умолчанию [none]

    Установить строку соединения для подключения к ndb_mgmd, используя синтаксис [nodeid=id;][host=]hostname[:port]. Если этот параметр установлен, он переопределяет значение, установленное для NDB_CONNECTSTRING (если таковое имеется), а также любое значение, установленное в файле my.cnf.

  • --ndb-mgm-tls

    Формат командной строки --ndb-mgm-tls=level
    Тип Enumeration
    Значение по умолчанию relaxed
    Допустимые значения

    relaxed

    strict

    Устанавливает уровень поддержки TLS, необходимый для клиента ndb_mgm; одно из relaxed или strict. relaxed (по умолчанию) означает, что попытка установить TLS-соединение будет предпринята, но успех не является обязательным; strict означает, что для подключения требуется TLS.

  • --ndb-tls-search-path

    Формат командной строки --ndb-tls-search-path=list
    Тип Path name
    Значение по умолчанию (Unix) $HOME/ndb-tls
    Значение по умолчанию (Windows) $HOMEDIR/ndb-tls

    Указать список каталогов, содержащих ключи и сертификаты TLS.

    Для синтаксиса см. описание параметра --CA-search-path.

  • --no-config

    Формат командной строки --no-config

    Не получать конфигурацию кластера; создать один сертификат на основе предоставленных параметров (включая параметры по умолчанию для тех, которые не указаны).

  • --no-defaults

    Формат командной строки --no-defaults

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

  • --no-login-paths

    Формат командной строки --no-login-paths

    Не читать пути входа из файла путей входа.

  • --passphrase

    Формат командной строки --passphrase=phrase
    Тип String
    Значение по умолчанию [none]

    Указать кодовую фразу ключа CA.

  • --node-id

    Формат командной строки --node-id=#
    Тип Integer
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение 255

    Создать или подписать ключ для узла с указанным ID узла.

  • --node-type

    Формат командной строки --node-type=set
    Тип Set
    Значение по умолчанию mgmd,db,api

    Создать или подписать ключи для указанного типа или типов из множества (mgmd,db,api).

  • --pending

    Формат командной строки --pending

    Сохранить ключи и сертификаты как ожидающие, а не активные.

  • --print-defaults

    Формат командной строки --print-defaults

    Вывести список аргументов программы, а затем завершить работу.

  • --promote

    Формат командной строки --promote

    Переместить ожидающие файлы в активное состояние и выйти.

  • --remote-CA-host

    Формат командной строки --remote-CA-host=hostname
    Тип Строка
    Значение по умолчанию [none]

    Указать адрес или имя хоста удаленного CA-узла.

  • --remote-exec-path

    Формат командной строки --remote-exec-path
    Тип Имя пути
    Значение по умолчанию [none]

    Указать полный путь к исполняемому файлу на удалённом CA-узле, указанном параметром --remote-CA-host.

  • --remote-openssl

    Формат командной строки --remote-openssl

    Использовать OpenSSL для подписи ключей на удалённом CA-узле, указанном параметром --remote-CA-host.

  • --replace-by

    Формат командной строки --replace-by=#
    Тип Целое число
    Значение по умолчанию -10
    Минимальное значение -128
    Максимальное значение 127

    Предложить дату замены сертификата для периодической проверки, в виде количества дней после даты истечения срока действия CA. Использовать отрицательное число для указания количества дней до истечения срока действия.

  • --rotate-CA

    Формат командной строки --rotate-CA

    Заменить более старый CA на более новый. Новый CA можно создать с помощью OpenSSL или разрешить ndb_sign_keys создать новый, в этом случае новый CA создается со средним сертификатом CA, подписанным старым CA.

  • --schedule

    Формат командной строки --schedule=list
    Тип Строка
    Значение по умолчанию 120,10,130,10,150,0

    Назначить расписание дат истечения срока действия сертификатов. Расписание определяется как список из шести целых чисел, разделенных запятыми, в формате, показанном здесь:

    api_valid,api_extra,dn_valid,dn_extra,mgm_valid,mgm_extra
    

    Эти значения определяются следующим образом:

    • api_valid: Фиксированное количество дней действия клиентских сертификатов.

      api_extra: Количество дополнительных дней для клиентских сертификатов.

      dn_valid: Фиксированное количество дней действия клиентских сертификатов для сертификатов узлов данных.

      dn_extra: Количество дополнительных дней для сертификатов узлов данных.

      mgm_valid: Фиксированное количество дней действия сертификатов сервера управления.

      mgm_extra: Количество дополнительных дней для сертификатов сервера управления.

    Другими словами, для каждого типа узла (узел API, узел данных, узел управления) сертификаты создаются со сроком действия, равным целому числу фиксированных дней, плюс случайное количество времени, меньшее или равное количеству дополнительных дней. Расписание по умолчанию показано здесь:

    --schedule=120,10,130,10,150,0
    

    В соответствии с расписанием по умолчанию, клиентские сертификаты начинают истекать на 120-й день и истекают через случайные интервалы в течение следующих 10 дней; сертификаты узлов данных истекают в случайные моменты между 130-м и 140-м днями; сертификаты узлов управления истекают на 150-й день (без последующего случайного интервала).

  • --sign

    Формат командной строки --sign
    Отключено skip-sign

    Создать подписанные сертификаты; включено по умолчанию. Используйте --skip-sign, чтобы создать запросы на подпись сертификатов вместо этого.

  • --skip-sign

    Формат командной строки --skip-sign

    Создать запросы на подпись сертификатов вместо подписанных сертификатов.

  • --stdio

    Формат командной строки --stdio

    Считывать запросы на подпись сертификатов из stdin и записывать X.509 в stdout.

  • --to-dir

    Формат командной строки --to-dir=dirname
    Тип Имя каталога
    Значение по умолчанию [none]

    Указать каталог вывода созданных файлов. Для файлов с закрытыми ключами это можно переопределить с помощью --keys-to-dir.

  • --usage

    Формат командной строки --usage

    Вывести текст справки и выйти (псевдоним для --help).

  • --version

    Формат командной строки --version

    Вывести информацию о версии и выйти.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/mysql-cluster-programs-ndb-sign-keys.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API