Spec-Zone.ru › MySQL 8.4

25.6.14.1 Настройка и использование шифрования файловой системы NDB

Шифрование файловой системы: Для включения шифрования файловой системы, ранее не шифрованной, необходимо выполнить следующие шаги:

  1. Установите необходимые параметры узлов данных в разделе [ndbd default] файла config.ini, как показано ниже:

    [ndbd default]
    EncryptedFileSystem= 1
    

    Эти параметры должны быть установлены во всех узлах данных.

  2. Запустите сервер управления с помощью --initial или --reload, чтобы заставить его прочитать обновленный конфигурационный файл.

  3. Выполните поэтапный начальный запуск (или перезапуск) всех узлов данных (см. Раздел 25.6.5, «Выполнение поэтапного перезапуска кластера NDB»): Запустите каждый узел данных с помощью --initial; дополнительно укажите один из параметров --filesystem-password или --filesystem-password-from-stdin, а также пароль, для каждого процесса узла данных. При указании пароля в командной строке отображается предупреждение, подобное этому:

    > ndbmtd -c 127.0.0.1 --filesystem-password=ndbsecret
    ndbmtd: [Warning] Using a password on the command line interface can be insecure.
    2022-08-22 16:17:58 [ndbd] INFO     -- Angel connected to '127.0.0.1:1186'
    2022-08-22 16:17:58 [ndbd] INFO     -- Angel allocated nodeid: 5
    

    --filesystem-password может принять пароль из файла, tty, или stdin; --filesystem-password-from-stdin принимает пароль только из stdin. Последнее защищает пароль от раскрытия в командной строке процесса или в файловой системе и позволяет передать его из другого защищённого приложения.

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

    [ndbd]
    
    filesystem-password=ndbsecret
    

    Вы также можете попросить пользователя, запускающего процесс узла данных, указать пароль шифрования во время запуска, используя параметр --filesystem-password-from-stdin в файле my.cnf вместо него, как показано ниже:

    [ndbd]
    
    filesystem-password-from-stdin
    

    В этом случае пользователь будет запрошен на пароль при запуске процесса узла данных, как показано ниже:

    > ndbmtd -c 127.0.0.1
    Enter filesystem password: *********
    2022-08-22 16:36:00 [ndbd] INFO     -- Angel connected to '127.0.0.1:1186'
    2022-08-22 16:36:00 [ndbd] INFO     -- Angel allocated nodeid: 5
    >
    

    Независимо от используемого метода, формат пароля шифрования такой же, как и для паролей зашифрованных резервных копий (см. Раздел 25.6.8.2, «Использование клиента управления кластером NDB для создания резервной копии»); пароль должен быть предоставлен при запуске каждого процесса узла данных; в противном случае процесс узла данных не сможет запуститься. Об этом указывает следующее сообщение в журнале узла данных:

    > tail -n2 ndb_5_out.log
    2022-08-22 16:08:30 [ndbd] INFO     -- Data node configured to have encryption but password not provided
    2022-08-22 16:08:31 [ndbd] ALERT    -- Node 5: Forced node shutdown completed. Occurred during startphase 0.
    

    При перезапуске, как описано выше, каждый узел данных очищает своё состояние на диске и перестраивает его в зашифрованном виде.

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

Расшифровка файловой системы: Чтобы убрать шифрование из зашифрованной файловой системы, выполните следующие действия:

  1. В разделе [ndbd default] файла config.ini установите EncryptedFileSystem = OFF.

  2. Перезапустите сервер управления с помощью --initial или --reload.

  3. Выполните поэтапный начальный перезапуск узлов данных. Не используйте никаких параметров, связанных с паролем, при перезапуске бинарных файлов узла.

    При перезапуске каждый узел данных очищает своё состояние на диске и перестраивает его в незашифрованном виде.

Чтобы проверить, правильно ли настроено шифрование файловой системы, можно использовать запрос к таблицам ndbinfo config_values и config_params, подобный этому:

mysql> SELECT v.node_id AS Node, p.param_name AS Parameter, v.config_value AS Value
    ->    FROM ndbinfo.config_values v
    ->  JOIN ndbinfo.config_params p
    ->    ON v.config_param=p.param_number
    ->  WHERE p.param_name='EncryptedFileSystem';
+------+----------------------+-------+
| Node | Parameter            | Value |
+------+----------------------+-------+
|    5 | EncryptedFileSystem  | 1     |
|    6 | EncryptedFileSystem  | 1     |
|    7 | EncryptedFileSystem  | 1     |
|    8 | EncryptedFileSystem  | 1     |
+------+----------------------+-------+
4 rows in set (0.10 sec)

Здесь, EncryptedFileSystem равно 1 на всех узлах данных, что означает, что шифрование файловой системы включено для данного кластера.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/mysql-cluster-tde-setup.html

Spec-Zone.ru

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