8.3.1 Настройка MySQL для использования защищённых соединений
Для указания использования защищённых соединений и задания соответствующих файлов сертификата и ключа доступны несколько параметров конфигурации. Этот раздел предоставляет общие рекомендации по настройке сервера и клиентов для защищённых соединений:
Защищённые соединения также могут использоваться в других контекстах, как обсуждается в дополнительных разделах:
Между серверами репликации источника и реплики. См. Раздел 19.3.1, «Настройка репликации для использования защищённых соединений».
Между серверами Group Replication. См. Раздел 20.6.2, «Защита соединений групповой коммуникации с помощью Secure Socket Layer (SSL)».
Программными клиентами, основанными на MySQL C API. См. .
Инструкции по созданию необходимых файлов сертификата и ключа доступны в Разделе 8.3.3, «Создание сертификатов SSL и RSA и ключей».
Настройка сервера при запуске для защищённых соединений
Чтобы потребовать от клиентов подключения с использованием защищённых соединений, включите переменную системы require_secure_transport. См. Настройка обязательного использования защищённых соединений.
Эти переменные системы на стороне сервера задают файлы сертификата и ключа, используемые сервером при разрешении клиентам устанавливать защищённые соединения:
ssl_ca: Путь к файлу сертификата центра сертификации (CA). (ssl_capathаналогичен, но задаёт путь к каталогу файлов сертификатов CA.)ssl_cert: Путь к файлу сертификата открытого ключа сервера. Этот сертификат может быть отправлен клиенту и проверен на основании сертификата CA, которым он владеет.ssl_key: Путь к файлу закрытого ключа сервера.
Например, чтобы включить поддержку защищённых соединений на сервере, запустите его с этими строками в файле my.cnf, изменив имена файлов при необходимости:
[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
Чтобы дополнительно указать, что клиенты должны использовать защищённые соединения, включите переменную системы require_secure_transport:
[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
Каждая переменная системы сертификата и ключа указывает на файл в формате PEM. Если вам необходимо создать необходимые файлы сертификата и ключа, см. Раздел 8.3.3, «Создание сертификатов SSL и RSA и ключей». Серверы MySQL, скомпилированные с использованием OpenSSL, могут автоматически генерировать отсутствующие файлы сертификата и ключа при запуске. См. Раздел 8.3.3.1, «Создание сертификатов SSL и RSA и ключей с использованием MySQL». В качестве альтернативы, если у вас есть дистрибутив MySQL, вы можете протестировать свою установку, используя демонстрационные файлы сертификата и ключа в каталоге mysql-test/std_data.
Сервер выполняет автоматическое обнаружение файлов сертификата и ключа. Если для настройки защищённых соединений не заданы явные параметры защищённых соединений, сервер пытается автоматически включить поддержку защищённых соединений при запуске:
Если сервер обнаруживает валидные файлы сертификата и ключа с именами
ca.pem,server-cert.pemиserver-key.pemв каталоге данных, он включает поддержку защищённых соединений для клиентов. (Файлы не обязательно должны быть сгенерированы автоматически; важно, чтобы у них были эти имена и они были валидными.)Если сервер не находит валидные файлы сертификата и ключа в каталоге данных, он продолжает выполнение, но без поддержки защищённых соединений.
Если сервер автоматически включает поддержку защищённых соединений, он записывает заметку в журнал ошибок. Если сервер обнаруживает, что сертификат CA самоподписанный, он записывает предупреждение в журнал ошибок. (Сертификат самоподписанный, если создан автоматически сервером.)
MySQL также предоставляет следующие переменные системы для управления защищёнными соединениями на стороне сервера:
ssl_cipher: Список разрешённых шифров для шифрования соединений.ssl_crl: Путь к файлу, содержащему списки отзыва сертификатов. (ssl_crlpathаналогичен, но задаёт путь к каталогу файлов списков отзыва сертификатов.)tls_version,tls_ciphersuites: Протоколы шифрования и наборы шифров, которые сервер разрешает для защищённых соединений; см. Раздел 8.3.2, «Протоколы и шифры TLS защищённых соединений». Например, вы можете настроитьtls_version, чтобы предотвратить использование клиентами менее защищённых протоколов.
Если сервер не может создать действительный контекст TLS из переменных системы для управления защищёнными соединениями на стороне сервера, сервер выполняется без поддержки защищённых соединений.
Конфигурация и мониторинг серверной стороны для шифрованных соединений во время выполнения
Переменные системы tls_ и xxxssl_ динамические и могут быть настроены во время выполнения, а не только при запуске. Если их изменить с помощью xxxSET
GLOBAL, новые значения будут применяться только до перезапуска сервера. Если их изменить с помощью SET
PERSIST, новые значения также сохранятся при последующих перезапусках сервера. См. Раздел 15.7.6.1, «Синтаксис SET для присвоения переменных». Однако изменения этих переменных во время выполнения немедленно не влияют на контекст TLS для новых соединений, как объяснено позже в этом разделе.
Вместе с изменением, которое позволяет изменять контекст TLS во время выполнения, сервер позволяет выполнять обновления фактического контекста TLS, используемого для новых соединений. Эта возможность может быть полезна, например, для того, чтобы избежать перезапуска сервера MySQL, который работал так долго, что его сертификат SSL истек.
Для создания начального контекста TLS сервер использует значения переменных системы, связанных с контекстом, при запуске. Для отображения значений контекста сервер также инициализирует набор соответствующих переменных состояния. В следующей таблице показаны переменные системы, определяющие контекст TLS сервера, и соответствующие переменные состояния, которые отображают текущие активные значения контекста.
Таблица 8.12 Переменные системы и состояния для контекста TLS интерфейса основного соединения сервера
| Имя переменной системы | Соответствующее имя переменной состояния |
|---|---|
ssl_ca | Current_tls_ca |
ssl_capath | Current_tls_capath |
ssl_cert | Current_tls_cert |
ssl_cipher | Current_tls_cipher |
ssl_crl | Current_tls_crl |
ssl_crlpath | Current_tls_crlpath |
ssl_key | Current_tls_key |
tls_ciphersuites | Current_tls_ciphersuites |
tls_version | Current_tls_version |
Эти активные значения контекста TLS также отображаются как свойства в таблице Performance Schema tls_channel_status, наряду со свойствами любых других активных контекстов TLS.
Для переконфигурации контекста TLS во время выполнения используйте эту процедуру:
Установите каждую переменную системы, связанную с контекстом TLS, которая должна быть изменена, на ее новое значение.
Выполните
ALTER INSTANCE RELOAD TLS. Эта команда переконфигурирует активный контекст TLS из текущих значений переменных системы, связанных с контекстом TLS. Она также устанавливает переменные состояния, связанные с контекстом, для отражения новых активных значений контекста. Для выполнения команды требуется привилегияCONNECTION_ADMIN.Новые соединения, установленные после выполнения
ALTER INSTANCE RELOAD TLS, используют новый контекст TLS. Существующие соединения остаются без изменений. Если существующие соединения необходимо завершить, используйте операторKILL.
Элементы каждой пары переменных системы и состояния могут временно иметь разные значения из-за того, как работает процедура переконфигурации:
Изменения переменных системы до
ALTER INSTANCE RELOAD TLSне изменяют контекст TLS. В этот момент эти изменения не влияют на новые соединения, и соответствующие переменные системы и состояния контекста могут иметь разные значения. Это позволяет вносить необходимые изменения в отдельные переменные системы, а затем атомарно обновлять активный контекст TLS с помощьюALTER INSTANCE RELOAD TLSпосле внесения всех изменений в переменные системы.После
ALTER INSTANCE RELOAD TLSсоответствующие переменные системы и состояния имеют одинаковые значения. Это остается истинным до следующего изменения переменных системы.
В некоторых случаях ALTER INSTANCE RELOAD
TLS само по себе может быть достаточно для переконфигурации контекста TLS без изменения каких-либо переменных системы. Предположим, что сертификат в файле, имя которого указано в ssl_cert, истек. Достаточно заменить содержимое существующего файла на неистекший сертификат и выполнить ALTER
INSTANCE RELOAD TLS, чтобы новое содержимое файла было прочитано и использовано для новых соединений.
Сервер реализует независимую конфигурацию шифрования соединений для интерфейса администрирования. См. Поддержка шифрованных соединений интерфейса администрирования. Кроме того, ALTER INSTANCE RELOAD
TLS расширен с помощью предложения FOR CHANNEL, которое позволяет указать канал (интерфейс), для которого необходимо перезагрузить контекст TLS. См. Раздел 15.1.5, «Оператор ALTER INSTANCE». Нет переменных состояния для отображения контекста TLS интерфейса администрирования, но таблица Performance Schema tls_channel_status отображает свойства TLS для основных и административных интерфейсов. См. Раздел 29.12.22.9, «Таблица tls_channel_status».
Обновление контекста TLS основного интерфейса имеет такие последствия:
Обновление изменяет контекст TLS, используемый для новых соединений на основном интерфейсе соединения.
Обновление также изменяет контекст TLS, используемый для новых соединений на административном интерфейсе, если для этого интерфейса не настроено какое-либо значение параметра TLS, отличное от значения по умолчанию.
-
Обновление не влияет на контекст TLS, используемый другими включенными плагинами или компонентами сервера, такими как Group Replication или X Plugin:
Чтобы применить переконфигурацию основного интерфейса к соединениям групповой коммуникации Group Replication, которые получают свои параметры из переменных системы сервера, связанных с контекстом TLS, необходимо выполнить
STOP GROUP_REPLICATION, а затемSTART GROUP_REPLICATION, чтобы остановить и перезапустить Group Replication.Плагин X инициализирует свой контекст TLS при инициализации плагина, как описано в Разделе 22.5.3, «Использование шифрованных соединений с плагином X». После этого контекст не изменяется.
По умолчанию действие RELOAD TLS отменяется с ошибкой и не имеет никакого эффекта, если значения конфигурации не допускают создания нового контекста TLS. Предыдущие значения контекста по-прежнему используются для новых соединений. Если указано необязательное предложение NO ROLLBACK ON ERROR и новый контекст не может быть создан, откат не выполняется. Вместо этого генерируется предупреждение, и шифрование отключается для новых соединений на интерфейсе, к которому относится оператор.
Параметры, которые включают или отключают шифрованные подключения на интерфейсе соединения, действуют только при запуске. Например, параметры --tls-version и --admin-tls-version влияют только при запуске на то, поддерживают ли основной и административный интерфейсы эти версии TLS. Такие параметры игнорируются и не влияют на работу ALTER INSTANCE RELOAD TLS во время выполнения. Например, вы можете установить tls_version='', чтобы запустить сервер с отключенными шифрованными подключениями на основном интерфейсе, а затем переконфигурировать TLS и выполнить ALTER INSTANCE RELOAD TLS, чтобы включить шифрованные подключения во время выполнения.
Настройка шифрованных подключений на стороне клиента
Полный список параметров клиента, связанных с установкой шифрованных подключений, см. в Параметрах командной строки для шифрованных подключений.
По умолчанию программы-клиенты MySQL пытаются установить шифрованное подключение, если сервер поддерживает шифрованные подключения, с дополнительным управлением через параметр --ssl-mode:
При отсутствии параметра
--ssl-mode, клиенты пытаются подключиться с шифрованием, переходя к нешифрованному подключению, если шифрованное подключение не может быть установлено. Это поведение также сохраняется при явном использовании параметра--ssl-mode=PREFERRED.С параметром
--ssl-mode=REQUIREDклиенты требуют шифрованного подключения и завершаются ошибкой, если оно не может быть установлено.С параметром
--ssl-mode=DISABLEDклиенты используют нешифрованное подключение.При использовании параметров
--ssl-mode=VERIFY_CAили--ssl-mode=VERIFY_IDENTITYклиенты требуют шифрованного подключения и также выполняют проверку по сертификату CA сервера и (сVERIFY_IDENTITY) по имени хоста сервера в его сертификате.
Значение по умолчанию, --ssl-mode=PREFERRED, создаёт шифрованное подключение, если другие параметры по умолчанию не изменены. Однако, чтобы предотвратить сложные атаки «человек посередине», важно, чтобы клиент проверял личность сервера. Параметры --ssl-mode=VERIFY_CA и --ssl-mode=VERIFY_IDENTITY являются лучшим выбором, чем значение по умолчанию, чтобы предотвратить этот тип атак. VERIFY_CA заставляет клиента проверять, является ли сертификат сервера действительным. VERIFY_IDENTITY заставляет клиента проверять, является ли сертификат сервера действительным, а также проверять, соответствует ли имя хоста, используемое клиентом, идентификатору в сертификате сервера. Для реализации одного из этих параметров необходимо предварительно убедиться, что сертификат CA сервера надёжно доступен всем клиентам, которые его используют в вашей среде, иначе возникнут проблемы с доступностью. По этой причине они не являются значениями по умолчанию.
Попытки установить нешифрованное подключение завершаются ошибкой, если системная переменная require_secure_transport включена на стороне сервера, чтобы сервер требовал шифрованных подключений. См. Настройку обязательного шифрованного подключения.
Следующие параметры на стороне клиента идентифицируют сертификаты и ключи, которые клиенты используют при установлении шифрованных подключений к серверу. Они похожи на системные переменные ssl_ca, ssl_cert и ssl_key, используемые на стороне сервера, но --ssl-cert и --ssl-key идентифицируют открытый и закрытый ключи клиента:
--ssl-ca: Путь к файлу сертификата Центра сертификации (CA). Если используется, этот параметр должен указывать тот же сертификат, что и сервер. (--ssl-capathаналогичен, но указывает путь к каталогу файлов сертификатов CA.)--ssl-cert: Путь к файлу сертификата открытого ключа клиента.--ssl-key: Путь к файлу закрытого ключа клиента.
Для дополнительной безопасности относительно стандартного шифрования клиенты могут предоставить сертификат CA, соответствующий сертификату сервера, и включить проверку имени хоста. Таким образом, сервер и клиент доверяют одному и тому же сертификату CA, а клиент проверяет, что хост, к которому он подключился, является тем, который ожидался:
Для указания сертификата CA используйте
--ssl-ca(или--ssl-capath), и укажите--ssl-mode=VERIFY_CA.Чтобы включить проверку имени хоста, используйте
--ssl-mode=VERIFY_IDENTITYвместо--ssl-mode=VERIFY_CA.
Проверка имени хоста с помощью VERIFY_IDENTITY не работает с самоподписанными сертификатами, которые создаются сервером автоматически (см. Раздел 8.3.3.1, «Создание сертификатов SSL и RSA с помощью MySQL»). Такие самоподписанные сертификаты не содержат имени сервера в качестве значения Common Name.
MySQL также предоставляет эти параметры для управления шифрованным подключением на стороне клиента:
--ssl-cipher: Список разрешённых шифров для шифрования подключения.--ssl-crl: Путь к файлу, содержащему списки отзыва сертификатов. (--ssl-crlpathаналогичен, но указывает путь к каталогу файлов списков отзыва сертификатов.)--tls-version,--tls-ciphersuites: Разрешенные протоколы шифрования и наборы шифров; см. Раздел 8.3.2, «Протоколы TLS и шифры шифрованного подключения».
В зависимости от требований шифрования учётной записи MySQL, используемой клиентом, может потребоваться указать определённые параметры для подключения с шифрованием к серверу MySQL.
Предположим, что вы хотите подключиться с учётной записью, у которой нет особых требований к шифрованию или которая была создана с помощью инструкции CREATE USER с включённой частью REQUIRE SSL. Предполагая, что сервер поддерживает шифрованные подключения, клиент может подключиться с шифрованием без параметра --ssl-mode или с явным параметром --ssl-mode=PREFERRED:
mysql
Или:
mysql --ssl-mode=PREFERRED
Для учётной записи, созданной с частью REQUIRE SSL, попытка подключения завершается ошибкой, если шифрованное подключение не может быть установлено. Для учётной записи без особых требований к шифрованию попытка возвращается к нешифрованному подключению, если шифрованное подключение не может быть установлено. Чтобы предотвратить возврат и завершиться ошибкой, если шифрованное подключение не может быть получено, подключитесь так:
mysql --ssl-mode=REQUIRED
Если учётная запись имеет более строгие требования к безопасности, для установления шифрованного подключения необходимо указать другие параметры:
-
Для учётных записей, созданных с частью
REQUIRE X509, клиенты должны указать как минимум--ssl-certи--ssl-key. Кроме того, рекомендуется использовать--ssl-ca(или--ssl-capath), чтобы проверить предоставленный сервером открытый сертификат. Например (введите команду в одну строку):mysql --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem Для учётных записей, созданных с частью
REQUIRE ISSUERилиREQUIRE SUBJECT, требования к шифрованию такие же, как дляREQUIRE X509, но сертификат должен соответствовать выпущенному или предмету, указанному в определении учётной записи.
Дополнительную информацию о части REQUIRE см. в Разделе 15.7.1.3, «CREATE USER Statement».
Серверы MySQL могут генерировать файлы сертификатов и ключей клиента, которые клиенты могут использовать для подключения к экземплярам сервера MySQL. См. Раздел 8.3.3, «Создание сертификатов SSL и RSA».
Если клиент, подключающийся к экземпляру сервера MySQL, использует сертификат SSL с расширением extendedKeyUsage (расширение X.509 v3), то расширенное использование ключа должно включать аутентификацию клиента (clientAuth). Если сертификат SSL указан только для аутентификации сервера (serverAuth) и других целей, не связанных с сертификатами клиента, проверка сертификата завершается неудачей, и подключение клиента к экземпляру сервера MySQL прерывается. В сертификатах SSL, сгенерированных сервером MySQL (как описано в Разделе 8.3.3.1, «Создание сертификатов SSL и RSA и ключей с помощью MySQL»), нет расширения extendedKeyUsage, а сертификаты SSL, созданные с помощью команды openssl в соответствии с инструкциями в Разделе 8.3.3.2, «Создание сертификатов SSL и ключей с помощью openssl», также не содержат его. Если вы используете собственный сертификат клиента, созданный другим способом, убедитесь, что любое расширение extendedKeyUsage включает аутентификацию клиента.
Чтобы предотвратить использование шифрования и переопределить другие --ssl- параметры, вызовите клиентскую программу с xxx--ssl-mode=DISABLED:
mysql --ssl-mode=DISABLED
Чтобы определить, использует ли текущее подключение к серверу шифрование, проверьте значение сессии переменной состояния Ssl_cipher. Если значение пустое, подключение не зашифровано. В противном случае подключение зашифровано, а значение указывает на используемый шифр шифрования. Например:
mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value |
+---------------+---------------------------+
| Ssl_cipher | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
Для клиента mysql альтернативой является использование команды STATUS или \s и проверка строки SSL:
mysql> \s
...
SSL: Not in use
...
Или:
mysql> \s
...
SSL: Cipher in use is DHE-RSA-AES128-GCM-SHA256
...
Настройка принудительной проверки сертификатов
Параметр --tls-certificates-enforced-validation позволяет выполнять проверку файла сертификата открытого ключа сервера, файлов сертификатов центров сертификации (ЦС) и файлов списков отзыва сертификатов при запуске сервера:
mysqld --tls-certificates-enforced-validation
Если значение установлено в ON, сервер прекращает выполнение процесса запуска в случае недействительных сертификатов. Сервер информирует администраторов базы данных, предоставляя соответствующие сообщения отладки, сообщения об ошибках или то и другое, в зависимости от состояния сертификатов. Эта функция может быть полезной, например, для предотвращения перезапуска сервера MySQL, который работал так долго, что его сертификат SSL истек.
Аналогично, при выполнении инструкции ALTER
INSTANCE RELOAD TLS для изменения контекста TLS во время выполнения новые файлы сертификатов сервера и ЦС не используются, если проверка завершается неудачей. В этом случае сервер продолжает использовать старые сертификаты. Дополнительную информацию об изменении контекста TLS динамически см. в Разделе «Настройка и мониторинг конфигурации сервера для зашифрованных подключений во время выполнения».
Проверка сертификатов ЦС
Для подключения, использующего основной интерфейс сервера:
Если указан
--ssl_ca, сервер проверяет соответствующий сертификат ЦС и предоставляет администратору базы данных соответствующее сообщение предупреждения.Если указан
--ssl_capath, сервер проверяет все сертификаты ЦС в соответствующей папке и предоставляет администратору базы данных соответствующее сообщение предупреждения.Если параметры SSL не указаны, по умолчанию сервер проверяет сертификат ЦС, находящийся в каталоге данных, и предоставляет администратору базы данных соответствующее сообщение предупреждения.
Для подключения, использующего административный интерфейс сервера:
Если указан
--admin_ssl_ca, сервер проверяет соответствующий сертификат ЦС и предоставляет администратору базы данных соответствующее сообщение предупреждения.Если указан
--admin_ssl_capath, сервер проверяет все сертификаты ЦС в соответствующей папке и предоставляет администратору базы данных соответствующее сообщение предупреждения.Если административные параметры SSL не указаны, по умолчанию сервер проверяет сертификат ЦС, находящийся в каталоге данных, и предоставляет администратору базы данных соответствующее сообщение предупреждения.
Проверка сертификата сервера
Для подключения, использующего основной интерфейс сервера:
Если
--ssl_certне указан, сервер проверяет сертификат сервера в стандартном каталоге данных.Если указан
--ssl_cert, сервер проверяет сертификат сервера, учитывая--ssl_crl, если он указан.Если администратор установил опцию командной строки для проверки сертификатов, сервер останавливается в случае недействительных сертификатов и соответствующее сообщение об ошибке отображается администратору. В противном случае сервер выводит предупреждения администратору, и сервер запускается.
Для подключения, использующего административный интерфейс сервера:
Если
--admin_ssl_certне указан, сервер проверяет сертификат сервера в стандартном каталоге данных.Если указан
--admin_ssl_cert, сервер проверяет сертификат сервера, учитывая--admin_ssl_crl, если он указан.Если администратор установил опцию командной строки для проверки сертификатов, сервер останавливается в случае недействительных сертификатов и соответствующее сообщение об ошибке отображается администратору. В противном случае сервер выводит предупреждения администратору, и сервер запускается.
Настройка обязательного использования шифрованных подключений
В некоторых развертываниях MySQL может быть не только желательно, но и обязательно использовать зашифрованные подключения (например, для соблюдения нормативных требований). В данном разделе рассматриваются параметры конфигурации, позволяющие это сделать. Доступны следующие уровни управления:
Вы можете настроить сервер таким образом, чтобы клиенты должны подключаться с использованием шифрованных подключений.
Вы можете вызвать отдельные клиентские программы для требования шифрованного подключения, даже если сервер допускает, но не требует шифрование.
Вы можете настроить отдельные учетные записи MySQL так, чтобы они могли использоваться только через зашифрованные подключения.
Чтобы потребовать от клиентов подключение с использованием зашифрованных соединений, включите системную переменную require_secure_transport. Например, добавьте эти строки в файл сервера my.cnf:
[mysqld]
require_secure_transport=ON
В качестве альтернативы, для установки и сохранения значения во время выполнения, используйте это утверждение:
SET PERSIST require_secure_transport=ON;
SET
PERSIST устанавливает значение для работающего экземпляра MySQL. Также он сохраняет значение, заставляя его использоваться при последующих перезапусках сервера. См. Раздел 15.7.6.1, «Синтаксис SET для присваивания переменных».
При включенном require_secure_transport клиентские подключения к серверу обязаны использовать какой-либо вид защищенного транспорта, и сервер допускает только подключения TCP/IP, использующие SSL, или подключения, использующие файл сокета (в Unix) или общую память (в Windows). Сервер отклоняет попытки подключения без шифрования, которые завершаются ошибкой.
Чтобы вызвать клиентскую программу таким образом, чтобы она требовала зашифрованное подключение независимо от того, требует ли сервер шифрование, используйте значение параметра --ssl-mode REQUIRED, VERIFY_CA или VERIFY_IDENTITY. Например:
mysql --ssl-mode=REQUIRED
mysqldump --ssl-mode=VERIFY_CA
mysqladmin --ssl-mode=VERIFY_IDENTITY
Чтобы настроить учетную запись MySQL так, чтобы она могла использоваться только через зашифрованные подключения, включите клаузу REQUIRE в инструкции CREATE USER для создания учетной записи, указав в этой клаузе необходимые характеристики шифрования. Например, чтобы потребовать шифрованное подключение и использование действительного сертификата X.509, используйте REQUIRE X509:
CREATE USER 'jeffrey'@'localhost' REQUIRE X509;
Дополнительную информацию о клаузе REQUIRE см. в Разделе 15.7.1.3, «Инструкция CREATE USER».
Для изменения существующих учетных записей, не имеющих требований к шифрованию, используйте инструкцию ALTER USER.
© 2025 Oracle
Licensed under the GPLv2 License.