Spec-Zone.ru › MySQL 8.4

8.4.1.13 Переменные подключаемой системы аутентификации

Эти переменные недоступны, если соответствующий плагин на стороне сервера не установлен:

  • authentication_ldap_sasl для переменных системы с именами в форме authentication_ldap_sasl_xxx

  • authentication_ldap_simple для переменных системы с именами в форме authentication_ldap_simple_xxx

Таблица 8.28 Краткое описание переменных системы плагина аутентификации

Таблица 8.28 Краткое описание переменных системы плагина аутентификации
Name Cmd-Line Option File System Var Status Var Var Scope Dynamic
authentication_kerberos_service_key_tab Yes Yes Yes Global No
authentication_kerberos_service_principal Yes Yes Yes Global Yes
authentication_ldap_sasl_auth_method_name Yes Yes Yes Global Yes
authentication_ldap_sasl_bind_base_dn Yes Yes Yes Global Yes
authentication_ldap_sasl_bind_root_dn Yes Yes Yes Global Yes
authentication_ldap_sasl_bind_root_pwd Yes Yes Yes Global Yes
authentication_ldap_sasl_ca_path Yes Yes Yes Global Yes
authentication_ldap_sasl_connect_timeout Yes Yes Yes Global Yes
authentication_ldap_sasl_group_search_attr Yes Yes Yes Global Yes
authentication_ldap_sasl_group_search_filter Yes Yes Yes Global Yes
authentication_ldap_sasl_init_pool_size Yes Yes Yes Global Yes
authentication_ldap_sasl_log_status Yes Yes Yes Global Yes
authentication_ldap_sasl_max_pool_size Yes Yes Yes Global Yes
authentication_ldap_sasl_referral Yes Yes Yes Global Yes
authentication_ldap_sasl_response_timeout Yes Yes Yes Global Yes
authentication_ldap_sasl_server_host Yes Yes Yes Global Yes
authentication_ldap_sasl_server_port Yes Yes Yes Global Yes
authentication_ldap_sasl_tls Yes Yes Yes Global Yes
authentication_ldap_sasl_user_search_attr Yes Yes Yes Global Yes
authentication_ldap_simple_auth_method_name Yes Yes Yes Global Yes
authentication_ldap_simple_bind_base_dn Yes Yes Yes Global Yes
authentication_ldap_simple_bind_root_dn Yes Yes Yes Global Yes
authentication_ldap_simple_bind_root_pwd Yes Yes Yes Global Yes
authentication_ldap_simple_ca_path Yes Yes Yes Global Yes
authentication_ldap_simple_connect_timeout Yes Yes Yes Global Yes
authentication_ldap_simple_group_search_attr Yes Yes Yes Global Yes
authentication_ldap_simple_group_search_filter Yes Yes Yes Global Yes
authentication_ldap_simple_init_pool_size Yes Yes Yes Global Yes
authentication_ldap_simple_log_status Yes Yes Yes Global Yes
authentication_ldap_simple_max_pool_size Yes Yes Yes Global Yes
authentication_ldap_simple_referral Yes Yes Yes Global Yes
authentication_ldap_simple_response_timeout Yes Yes Yes Global Yes
authentication_ldap_simple_server_host Yes Yes Yes Global Yes
authentication_ldap_simple_server_port Yes Yes Yes Global Yes
authentication_ldap_simple_tls Yes Yes Yes Global Yes
authentication_ldap_simple_user_search_attr Yes Yes Yes Global Yes
authentication_policy Yes Yes Yes Global Yes
authentication_webauthn_rp_id Yes Yes Yes Global Yes
authentication_windows_log_level Yes Yes Yes Global No
authentication_windows_use_principal_name Yes Yes Yes Global No

  • authentication_kerberos_service_key_tab

    Формат командной строки --authentication-kerberos-service-key-tab=file_name
    Системная переменная authentication_kerberos_service_key_tab
    Область действия Глобальная
    Динамическая Нет
    SET_VAR Подсказка применяется Нет
    Тип Имя файла
    Значение по умолчанию datadir/mysql.keytab

    Имя файла таблицы ключей на стороне сервера (“keytab”), содержащего ключи службы Kerberos для аутентификации билетов службы MySQL, полученных от клиентов. Имя файла должно быть указано как абсолютный путь. Если эта переменная не задана, значение по умолчанию — mysql.keytab в каталоге данных.

    Файл должен существовать и содержать допустимый ключ для имени субъекта службы (SPN), иначе аутентификация клиентов будет невозможна. (SPN и тот же ключ также должны быть созданы на сервере Kerberos.) Файл может содержать несколько имен субъектов службы и их соответствующие комбинации ключей.

    Файл должен быть сгенерирован администратором сервера Kerberos и скопирован в место, доступное серверу MySQL. Файл можно проверить, чтобы убедиться, что он правильный и был скопирован правильно, используя эту команду:

    klist -k file_name
    

    Для получения информации о файлах keytab см. https://web.mit.edu/kerberos/krb5-latest/doc/basic/keytab_def.html.

  • authentication_kerberos_service_principal

    Формат командной строки --authentication-kerberos-service-principal=name
    Системная переменная authentication_kerberos_service_principal
    Область действия Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка
    Значение по умолчанию mysql/host_name@realm_name

    Имя субъекта службы Kerberos (SPN), которое сервер MySQL отправляет клиентам.

    Значение состоит из имени службы (mysql), имени узла и имени области. Значение по умолчанию — mysql/host_name@realm_name. Область в имени субъекта службы позволяет извлекать точный ключ службы.

    Чтобы использовать значение, отличное от значения по умолчанию, установите значение, используя тот же формат. Например, чтобы использовать имя узла krbauth.example.com и область MYSQL.LOCAL, установите authentication_kerberos_service_principal в mysql/krbauth.example.com@MYSQL.LOCAL.

    Имя субъекта службы и ключ службы уже должны присутствовать в базе данных, управляемой сервером KDC.

    Могут существовать имена субъектов службы, которые различаются только именем области.

  • authentication_ldap_sasl_auth_method_name

    Формат командной строки --authentication-ldap-sasl-auth-method-name=value
    Системная переменная authentication_ldap_sasl_auth_method_name
    Область действия Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка
    Значение по умолчанию SCRAM-SHA-1
    Допустимые значения

    SCRAM-SHA-1

    SCRAM-SHA-256

    GSSAPI

    Для SASL LDAP-аутентификации, имя метода аутентификации. Связь между плагином аутентификации и LDAP-сервером происходит в соответствии с этим методом аутентификации для обеспечения безопасности пароля.

    Допускаются следующие значения метода аутентификации:

    • SCRAM-SHA-1: Использовать механизм SASL challenge-response.

      Плагин authentication_ldap_sasl_client на стороне клиента взаимодействует с SASL-сервером, используя пароль для создания вызова и получения буфера запроса SASL, а затем передает этот буфер плагину authentication_ldap_sasl на стороне сервера. Клиентские и серверные SASL LDAP-плагины используют сообщения SASL для безопасной передачи учетных данных в протоколе LDAP, чтобы избежать отправки пароля в открытом тексте между клиентом и сервером MySQL.

    • SCRAM-SHA-256: Использовать механизм SASL challenge-response.

      Этот метод аналогичен SCRAM-SHA-1, но более безопасен. Требуется сервер OpenLDAP, собранный с использованием Cyrus SASL 2.1.27 или выше.

    • GSSAPI: Использовать Kerberos, протокол без пароля на основе билетов.

      GSSAPI/Kerberos поддерживается в качестве метода аутентификации для клиентов и серверов MySQL только в Linux. Он полезен в средах Linux, где приложения обращаются к LDAP с использованием Microsoft Active Directory, в котором Kerberos включен по умолчанию.

      Плагин authentication_ldap_sasl_client на стороне клиента получает билет службы, используя билет предоставления билетов (TGT) от Kerberos, но не использует службы LDAP напрямую. Серверный плагин authentication_ldap_sasl маршрутизирует сообщения Kerberos между клиентским плагином и LDAP-сервером. Используя полученные таким образом учетные данные, серверный плагин затем взаимодействует с LDAP-сервером для интерпретации сообщений LDAP-аутентификации и извлечения групп LDAP.

  • authentication_ldap_sasl_bind_base_dn

    Формат командной строки --authentication-ldap-sasl-bind-base-dn=value
    Системная переменная authentication_ldap_sasl_bind_base_dn
    Область действия Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка
    Значение по умолчанию NULL

    Для SASL LDAP-аутентификации, базовое различающееся имя (DN). Эта переменная может использоваться для ограничения области поиска путем их привязки в определенном месте (“base”) в дереве поиска.

    Предположим, что члены одного набора записей пользователей LDAP имеют следующий формат:

    uid=user_name,ou=People,dc=example,dc=com
    

    И что члены другого набора записей пользователей LDAP имеют следующий формат:

    uid=user_name,ou=Admin,dc=example,dc=com
    

    Тогда поиск работает следующим образом для разных значений базового DN:

    • Если базовое DN — ou=People,dc=example,dc=com: Поиск находит записи пользователей только в первом наборе.

    • Если базовое DN — ou=Admin,dc=example,dc=com: Поиск находит записи пользователей только во втором наборе.

    • Если базовое DN — ou=dc=example,dc=com: Поиск находит записи пользователей в первом или втором наборе.

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

  • authentication_ldap_sasl_bind_root_dn

    Формат командной строки --authentication-ldap-sasl-bind-root-dn=value
    Системная переменная authentication_ldap_sasl_bind_root_dn
    Область действия Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка
    Значение по умолчанию NULL

    Для SASL LDAP-аутентификации, корневое различающееся имя (DN). Эта переменная используется вместе с authentication_ldap_sasl_bind_root_pwd в качестве учетных данных для аутентификации на LDAP-сервере с целью выполнения поиска. Аутентификация использует одну или две операции привязки LDAP в зависимости от того, указывают ли имена учетных записей MySQL на DN пользователя LDAP:

    • Если учетная запись не указывает на DN пользователя: authentication_ldap_sasl выполняет начальную привязку LDAP, используя authentication_ldap_sasl_bind_root_dn и authentication_ldap_sasl_bind_root_pwd. (Они оба пусты по умолчанию, поэтому, если они не установлены, LDAP-сервер должен разрешать анонимные подключения.) Полученная дескриптор привязки LDAP используется для поиска DN пользователя на основе имени пользователя клиента. authentication_ldap_sasl выполняет вторую привязку, используя DN пользователя и предоставленный клиентом пароль.

    • Если учетная запись указывает на DN пользователя: Первая операция привязки в этом случае не нужна. authentication_ldap_sasl выполняет одну привязку, используя DN пользователя и предоставленный клиентом пароль. Это быстрее, чем если учетная запись MySQL не указывает DN пользователя LDAP.

  • authentication_ldap_sasl_bind_root_pwd

    Формат командной строки --authentication-ldap-sasl-bind-root-pwd=value
    Системная переменная authentication_ldap_sasl_bind_root_pwd
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка
    Значение по умолчанию NULL

    Для SASL LDAP-аутентификации, пароль для корневого distinguished name. Эта переменная используется вместе с authentication_ldap_sasl_bind_root_dn. См. описание этой переменной.

  • authentication_ldap_sasl_ca_path

    Формат командной строки --authentication-ldap-sasl-ca-path=value
    Системная переменная authentication_ldap_sasl_ca_path
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка
    Значение по умолчанию NULL

    Для SASL LDAP-аутентификации, абсолютный путь к файлу сертификата центра сертификации. Укажите этот файл, если необходимо, чтобы плагин аутентификации выполнял проверку сертификата сервера LDAP.

    Примечание

    В дополнение к установке переменной authentication_ldap_sasl_ca_path в имя файла, необходимо добавить соответствующие сертификаты центра сертификации в файл и включить системную переменную authentication_ldap_sasl_tls. Эти переменные могут быть установлены для переопределения конфигурации OpenLDAP TLS по умолчанию; см. LDAP Pluggable Authentication and ldap.conf

  • authentication_ldap_sasl_connect_timeout

    Формат командной строки --authentication-ldap-sasl-connect-timeout=#
    Системная переменная authentication_ldap_sasl_connect_timeout
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Целое число
    Значение по умолчанию 30
    Минимальное значение 0
    Максимальное значение 31536000
    Единица измерения секунды

    Указывает время (в секундах), которое сервер MySQL ожидает подключения к серверу LDAP с использованием TCP.

    Когда учетная запись MySQL выполняет аутентификацию с использованием LDAP, сервер MySQL пытается установить TCP-соединение с сервером LDAP, которое он использует для отправки запроса LDAP bind по соединению. Если сервер LDAP не отвечает на TCP-handshake после настроенного времени, MySQL отменяет попытку TCP-handshake и выдает сообщение об ошибке. Если параметр тайм-аута равен нулю, сервер MySQL игнорирует настройку этой системной переменной. Для получения дополнительной информации см. Setting Timeouts for LDAP Pluggable Authentication.

    Примечание

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

  • authentication_ldap_sasl_group_search_attr

    Формат командной строки --authentication-ldap-sasl-group-search-attr=value
    Системная переменная authentication_ldap_sasl_group_search_attr
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка
    Значение по умолчанию cn

    Для SASL LDAP-аутентификации, имя атрибута, который указывает имена групп в записях каталога LDAP. Если authentication_ldap_sasl_group_search_attr имеет значение по умолчанию cn, поиск возвращает значение cn в качестве имени группы. Например, если запись LDAP со значением uid равным user1 имеет атрибут cn равный mygroup, поиск user1 возвращает mygroup в качестве имени группы.

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

    Если атрибут поиска группы является isMemberOf, LDAP-аутентификация напрямую извлекает значение атрибута пользователя isMemberOf и назначает его в качестве информации о группе. Если атрибут поиска группы не является isMemberOf, LDAP-аутентификация ищет все группы, членами которых является пользователь. (Последнее является поведением по умолчанию.) Это поведение основано на том, как информация о группах LDAP может храниться двумя способами: 1) Запись группы может иметь атрибут с именем memberUid или member со значением, которое является именем пользователя; 2) Запись пользователя может иметь атрибут с именем isMemberOf со значениями, которые являются именами групп.

  • authentication_ldap_sasl_group_search_filter

    Формат командной строки --authentication-ldap-sasl-group-search-filter=value
    Системная переменная authentication_ldap_sasl_group_search_filter
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка
    Значение по умолчанию (|(&(objectClass=posixGroup)(memberUid=%s))(&(objectClass=group)(member=%s)))

    Для SASL LDAP-аутентификации, пользовательский фильтр поиска групп.

    Значение фильтра поиска может содержать обозначения {UA} и {UD} для представления имени пользователя и полного DN пользователя. Например, {UA} заменяется именем пользователя, таким как "admin", тогда как {UD} заменяется полным DN пользователя, таким как "uid=admin,ou=People,dc=example,dc=com". Следующее значение является значением по умолчанию, которое поддерживает как OpenLDAP, так и Active Directory:

    (|(&(objectClass=posixGroup)(memberUid={UA}))
      (&(objectClass=group)(member={UD})))
    

    В некоторых случаях для сценария пользователя memberOf является простым атрибутом пользователя, который не содержит информации о группах. Для дополнительной гибкости необязательный префикс {GA} может использоваться с атрибутом поиска группы. Любой атрибут группы с префиксом {GA} рассматривается как атрибут пользователя, имеющий имена групп. Например, со значением {GA}MemberOf, если значение группы является DN, первое значение атрибута из DN группы возвращается как имя группы.

  • authentication_ldap_sasl_init_pool_size

    Формат командной строки --authentication-ldap-sasl-init-pool-size=#
    Системная переменная authentication_ldap_sasl_init_pool_size
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Целое число
    Значение по умолчанию 10
    Минимальное значение 0
    Максимальное значение 32767
    Единица измерения соединений

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

    Плагин использует authentication_ldap_sasl_init_pool_size и authentication_ldap_sasl_max_pool_size совместно для управления пулом соединений:

    • При инициализации плагином аутентификации создаётся authentication_ldap_sasl_init_pool_size соединений, если authentication_ldap_sasl_max_pool_size=0 не отключить пулинг.

    • Если плагин получает запрос на аутентификацию, когда в текущем пуле соединений нет свободных соединений, плагин может создать новое соединение, вплоть до максимального размера пула соединений, заданного authentication_ldap_sasl_max_pool_size.

    • Если плагин получает запрос, когда размер пула уже достигнут максимума, и нет свободных соединений, аутентификация завершается неудачно.

    • При разгрузке плагина все подключенные соединения закрываются.

    Изменения настроек системной переменной плагина могут не повлиять на соединения, уже присутствующие в пуле. Например, изменение хоста, порта или настроек TLS сервера LDAP не влияет на существующие подключения. Однако, если исходные значения переменных были неверными и пул соединений не мог быть инициализирован, плагин пытается повторно инициализировать пул для следующего запроса LDAP. В этом случае для повторной инициализации используются новые значения системных переменных.

    Если authentication_ldap_sasl_max_pool_size=0 отключить пулинг, каждое подключение к LDAP, открытое плагином, использует значения системных переменных на тот момент.

  • authentication_ldap_sasl_log_status

    Формат командной строки --authentication-ldap-sasl-log-status=#
    Системная переменная authentication_ldap_sasl_log_status
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Целое число
    Значение по умолчанию 1
    Минимальное значение 1
    Максимальное значение 6

    Для аутентификации SASL LDAP — уровень ведения журнала для сообщений, записываемых в журнал ошибок. Следующая таблица показывает разрешённые значения уровня и их значения.

    Таблица 8.29 Уровни ведения журнала для authentication_ldap_sasl_log_status

    Таблица 8.29 Уровни ведения журнала для authentication_ldap_sasl_log_status
    Значение параметра Типы регистрируемых сообщений
    1 Нет сообщений
    2 Сообщения об ошибках
    3 Сообщения об ошибках и предупреждениях
    4 Сообщения об ошибках, предупреждениях и информации
    5 Как предыдущий уровень плюс отладочные сообщения из MySQL
    6 Как предыдущий уровень плюс отладочные сообщения из библиотеки LDAP

    На стороне клиента сообщения могут быть записаны в стандартный вывод, установив переменную среды AUTHENTICATION_LDAP_CLIENT_LOG. Разрешённые и значения по умолчанию такие же, как для authentication_ldap_sasl_log_status.

    Переменная среды AUTHENTICATION_LDAP_CLIENT_LOG применяется только к аутентификации SASL LDAP. Она не имеет эффекта для простой аутентификации LDAP, так как клиентский плагин в этом случае является mysql_clear_password, который ничего не знает об операциях LDAP.

  • authentication_ldap_sasl_max_pool_size

    Формат командной строки --authentication-ldap-sasl-max-pool-size=#
    Системная переменная authentication_ldap_sasl_max_pool_size
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Целое число
    Значение по умолчанию 1000
    Минимальное значение 0
    Максимальное значение 32767
    Единица измерения соединений

    Для аутентификации SASL LDAP — максимальный размер пула соединений с сервером LDAP. Для отключения пула соединений установите эту переменную в 0.

    Эта переменная используется совместно с authentication_ldap_sasl_init_pool_size. См. описание этой переменной.

  • authentication_ldap_sasl_referral

    Формат командной строки --authentication-ldap-sasl-referral[={OFF|ON}]
    Системная переменная authentication_ldap_sasl_referral
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Булево
    Значение по умолчанию OFF

    Для аутентификации SASL LDAP — разрешить ли переадресацию поиска LDAP. См. Переадресация поиска LDAP.

    Эта переменная может быть установлена для переопределения конфигурации переадресации OpenLDAP по умолчанию; см. Плагин аутентификации LDAP и ldap.conf

  • authentication_ldap_sasl_response_timeout

    Формат командной строки --authentication-ldap-sasl-response-timeout=#
    Системная переменная authentication_ldap_sasl_response_timeout
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Целое число
    Значение по умолчанию 30
    Минимальное значение 0
    Максимальное значение 31536000
    Единица измерения секунд

    Указывает время (в секундах), которое сервер MySQL ждёт ответа от сервера LDAP на запрос LDAP-связывания.

    При аутентификации учётной записи MySQL с помощью LDAP сервер MySQL отправляет запрос LDAP-связывания на сервер LDAP. Если сервер LDAP не отвечает на запрос после заданного времени, сервер MySQL оставляет запрос и выводит сообщение об ошибке. Если значение таймаута равно нулю, сервер MySQL игнорирует это системное переменное значение. Дополнительную информацию см. в разделе Установка таймаутов для плагина аутентификации LDAP.

  • authentication_ldap_sasl_server_host

    Формат командной строки --authentication-ldap-sasl-server-host=host_name
    Системная переменная authentication_ldap_sasl_server_host
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применимо Нет
    Тип Строка

    Для аутентификации SASL LDAP хост LDAP-сервера. Разрешенные значения для этой переменной зависят от метода аутентификации:

    • Для authentication_ldap_sasl_auth_method_name=SCRAM-SHA-1: хост LDAP-сервера может быть именем хоста или IP-адресом.

    • Для authentication_ldap_sasl_auth_method_name=SCRAM-SHA-256: хост LDAP-сервера может быть именем хоста или IP-адресом.

  • authentication_ldap_sasl_server_port

    Формат командной строки --authentication-ldap-sasl-server-port=port_num
    Системная переменная authentication_ldap_sasl_server_port
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применимо Нет
    Тип Целое число
    Значение по умолчанию 389
    Минимальное значение 1
    Максимальное значение 32376

    Для аутентификации SASL LDAP номер порта TCP/IP LDAP-сервера.

    Если номер порта LDAP настроен как 636 или 3269, плагин использует LDAPS (LDAP через SSL) вместо LDAP. (LDAPS отличается от startTLS.)

  • authentication_ldap_sasl_tls

    Формат командной строки --authentication-ldap-sasl-tls[={OFF|ON}]
    Системная переменная authentication_ldap_sasl_tls
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применимо Нет
    Тип Булево
    Значение по умолчанию OFF

    Для аутентификации SASL LDAP, будут ли подключения плагина к LDAP-серверу защищены. Если эта переменная включена, плагин использует TLS для безопасного подключения к LDAP-серверу. Эта переменная может быть установлена для переопределения стандартной конфигурации OpenLDAP TLS; см. LDAP-плагины аутентификации и ldap.conf. Если вы включили эту переменную, вы также можете установить переменную authentication_ldap_sasl_ca_path.

    Плагины MySQL LDAP поддерживают метод StartTLS, который инициализирует TLS поверх обычного подключения LDAP.

    LDAPS можно использовать, установив системную переменную authentication_ldap_sasl_server_port.

  • authentication_ldap_sasl_user_search_attr

    Формат командной строки --authentication-ldap-sasl-user-search-attr=value
    Системная переменная authentication_ldap_sasl_user_search_attr
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применимо Нет
    Тип Строка
    Значение по умолчанию uid

    Для аутентификации SASL LDAP имя атрибута, определяющего имена пользователей в записях каталога LDAP. Если имя пользователя с именем не предоставлено, плагин аутентификации ищет имя, используя этот атрибут. Например, если значение authentication_ldap_sasl_user_search_attr равно uid, поиск пользователя с именем user1 находит записи с значением uid равным user1.

  • authentication_ldap_simple_auth_method_name

    Формат командной строки --authentication-ldap-simple-auth-method-name=value
    Системная переменная authentication_ldap_simple_auth_method_name
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применимо Нет
    Тип Строка
    Значение по умолчанию SIMPLE
    Допустимые значения

    SIMPLE

    AD-FOREST

    Для простой аутентификации LDAP имя метода аутентификации. Взаимодействие между плагином аутентификации и LDAP-сервером происходит в соответствии с этим методом аутентификации.

    Примечание

    Для всех методов простой аутентификации LDAP рекомендуется также устанавливать параметры TLS для обеспечения того, чтобы взаимодействие с LDAP-сервером происходило по защищенным соединениям.

    Допустимые значения методов аутентификации:

    • SIMPLE: Использовать простую аутентификацию LDAP. Этот метод использует одну или две операции привязки LDAP, в зависимости от того, указывает ли имя MySQL-аккаунта имя пользователя LDAP. См. описание authentication_ldap_simple_bind_root_dn.

    • AD-FOREST: Вариант SIMPLE, такой, что аутентификация ищет все домены в лесу Active Directory, выполняя привязку LDAP к каждому домену Active Directory, пока пользователь не будет найден в каком-то домене.

  • authentication_ldap_simple_bind_base_dn

    Формат командной строки --authentication-ldap-simple-bind-base-dn=value
    Системная переменная authentication_ldap_simple_bind_base_dn
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применимо Нет
    Тип Строка
    Значение по умолчанию NULL

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

    Предположим, что члены одного набора записей пользователей LDAP имеют следующий вид:

    uid=user_name,ou=People,dc=example,dc=com
    

    И члены другого набора записей пользователей LDAP имеют следующий вид:

    uid=user_name,ou=Admin,dc=example,dc=com
    

    Тогда поиск работает следующим образом для различных значений базового DN:

    • Если базовое DN равно ou=People,dc=example,dc=com: Поиск находит записи пользователей только в первом наборе.

    • Если базовое DN равно ou=Admin,dc=example,dc=com: Поиск находит записи пользователей только во втором наборе.

    • Если базовое DN равно ou=dc=example,dc=com: Поиск находит записи пользователей в первом или втором наборе.

    В общем случае, более специфические значения базового DN приводят к более быстрому поиску, поскольку они более ограничивают область поиска.

  • authentication_ldap_simple_bind_root_dn

    Формат командной строки --authentication-ldap-simple-bind-root-dn=value
    Системная переменная authentication_ldap_simple_bind_root_dn
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Строка
    Значение по умолчанию NULL

    Для простого аутентификации по LDAP, корневое имя (DN). Эта переменная используется совместно с authentication_ldap_simple_bind_root_pwd в качестве учетных данных для аутентификации на сервере LDAP с целью выполнения запросов. Аутентификация использует одну или две операции привязки LDAP, в зависимости от того, указывает ли имя учетной записи MySQL имя DN пользователя LDAP:

    • Если имя учетной записи не указывает DN пользователя: authentication_ldap_simple выполняет начальную привязку LDAP, используя authentication_ldap_simple_bind_root_dn и authentication_ldap_simple_bind_root_pwd. (Оба значения по умолчанию пусты, поэтому, если они не установлены, сервер LDAP должен разрешать анонимные подключения.) Полученный обработчик привязки LDAP используется для поиска DN пользователя на основе имени пользователя клиента. authentication_ldap_simple выполняет вторую привязку с использованием DN пользователя и пароля, предоставленного клиентом.

    • Если имя учетной записи указывает DN пользователя: В этом случае первая операция привязки не нужна. authentication_ldap_simple выполняет одиночную привязку с использованием DN пользователя и пароля, предоставленного клиентом. Это быстрее, чем если имя учетной записи MySQL не указывает DN пользователя LDAP.

  • authentication_ldap_simple_bind_root_pwd

    Формат командной строки --authentication-ldap-simple-bind-root-pwd=value
    Системная переменная authentication_ldap_simple_bind_root_pwd
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Строка
    Значение по умолчанию NULL

    Для простого аутентификации по LDAP, пароль для корневого имени (DN). Эта переменная используется совместно с authentication_ldap_simple_bind_root_dn. Смотрите описание этой переменной.

  • authentication_ldap_simple_ca_path

    Формат командной строки --authentication-ldap-simple-ca-path=value
    Системная переменная authentication_ldap_simple_ca_path
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Строка
    Значение по умолчанию NULL

    Для простого аутентификации по LDAP, абсолютный путь к файлу сертификата центра сертификации. Укажите этот файл, если требуется, чтобы плагин аутентификации проверял сертификат сервера LDAP.

    Примечание

    Помимо установки переменной authentication_ldap_simple_ca_path с именем файла, необходимо добавить соответствующие сертификаты центра сертификации в файл и включить системную переменную authentication_ldap_simple_tls. Эти переменные можно установить, чтобы переопределить стандартную конфигурацию TLS OpenLDAP; см. LDAP Плагинная аутентификация и ldap.conf

  • authentication_ldap_simple_connect_timeout

    Формат командной строки --authentication-ldap-simple-connect-timeout=#
    Системная переменная authentication_ldap_simple_connect_timeout
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Целое
    Значение по умолчанию 30
    Минимальное значение 0
    Максимальное значение 31536000
    Единица измерения секунды

    Указывает время (в секундах), которое сервер MySQL ожидает подключения к серверу LDAP с использованием TCP.

    При аутентификации пользователя MySQL с использованием LDAP сервер MySQL пытается установить TCP-соединение с сервером LDAP, которое используется для отправки запроса LDAP на соединение. Если сервер LDAP не отвечает на TCP-рукопожатие после заданного количества времени, MySQL отказывается от попытки TCP-рукопожатия и выводит сообщение об ошибке. Если значение таймаута равно нулю, сервер MySQL игнорирует это значение системной переменной. Дополнительную информацию см. в Установка таймаутов для плагина аутентификации LDAP.

    Примечание

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

  • authentication_ldap_simple_group_search_attr

    Формат командной строки --authentication-ldap-simple-group-search-attr=value
    Системная переменная authentication_ldap_simple_group_search_attr
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Строка
    Значение по умолчанию cn

    Для простого аутентификации по LDAP, имя атрибута, указывающего имена групп в записях каталога LDAP. Если authentication_ldap_simple_group_search_attr имеет значение по умолчанию cn, результаты поиска возвращают значение cn в качестве имени группы. Например, если запись LDAP со значением uid равным user1 имеет атрибут cn со значением mygroup, результаты поиска user1 возвращают mygroup в качестве имени группы.

    Если атрибут поиска группы равен isMemberOf, LDAP-аутентификация напрямую извлекает значение атрибута пользователя isMemberOf и присваивает его в качестве информации о группе. Если атрибут поиска группы не равен isMemberOf, LDAP-аутентификация ищет все группы, где пользователь является членом. (Последнее - поведение по умолчанию.) Это поведение основано на том, как информация о группах LDAP может быть хранится двумя способами: 1) запись группы может иметь атрибут, названный memberUid или member со значением, являющимся именем пользователя; 2) запись пользователя может иметь атрибут, названный isMemberOf со значениями, являющимися именами групп.

  • authentication_ldap_simple_group_search_filter

    Формат командной строки --authentication-ldap-simple-group-search-filter=value
    Переменная системы authentication_ldap_simple_group_search_filter
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Строка
    Значение по умолчанию (|(&(objectClass=posixGroup)(memberUid=%s))(&(objectClass=group)(member=%s)))

    Для простого LDAP-аутентификации, пользовательский фильтр поиска групп.

    Значение фильтра поиска может содержать {UA} и {UD} обозначения для представления имени пользователя и полного DN пользователя. Например, {UA} заменяется именем пользователя, таким как "admin", а {UD} заменяется полным DN пользователя, таким как "uid=admin,ou=People,dc=example,dc=com". Следующее значение является значением по умолчанию, которое поддерживает как OpenLDAP, так и Active Directory:

    (|(&(objectClass=posixGroup)(memberUid={UA}))
      (&(objectClass=group)(member={UD})))
    

    В некоторых случаях для сценария пользователя, memberOf является простым атрибутом пользователя, не содержащим информации о группе. Для дополнительной гибкости можно использовать необязательное префикс {GA} с атрибутом поиска группы. Любой атрибут группы с префиксом {GA} обрабатывается как атрибут пользователя, содержащий имена групп. Например, со значением {GA}MemberOf, если значение группы — DN, первое значение атрибута из DN группы возвращается как имя группы.

  • authentication_ldap_simple_init_pool_size

    Формат командной строки --authentication-ldap-simple-init-pool-size=#
    Переменная системы authentication_ldap_simple_init_pool_size
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Целое число
    Значение по умолчанию 10
    Минимальное значение 0
    Максимальное значение 32767
    Единица измерения соединения

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

    Плагин использует authentication_ldap_simple_init_pool_size и authentication_ldap_simple_max_pool_size совместно для управления пулом соединений:

    • При инициализации плагина аутентификации создаётся authentication_ldap_simple_init_pool_size соединений, если authentication_ldap_simple_max_pool_size=0 не отключено пулинг.

    • Если плагин получает запрос аутентификации, когда в текущем пуле соединений нет свободных соединений, плагин может создать новое соединение до максимального размера пула соединений, заданного authentication_ldap_simple_max_pool_size.

    • Если плагин получает запрос, когда размер пула уже достигнут максимума и нет свободных соединений, аутентификация завершается неудачно.

    • При разгрузке плагина он закрывает все подключенные соединения.

    Изменения в настройках переменных системы плагина могут не повлиять на соединения, уже находящиеся в пуле. Например, изменение хоста, порта или настроек TLS LDAP-сервера не влияет на существующие подключения. Однако, если первоначальные значения переменных были неверными, и пул соединений не мог быть инициализирован, плагин пытается повторно инициализировать пул для следующего запроса LDAP. В этом случае новые значения переменной системы используются для попытки повторной инициализации.

    Если authentication_ldap_simple_max_pool_size=0 для отключения пулинга, каждое LDAP-соединение, открытое плагином, использует значения переменных системы на тот момент.

  • authentication_ldap_simple_log_status

    Формат командной строки --authentication-ldap-simple-log-status=#
    Переменная системы authentication_ldap_simple_log_status
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Целое число
    Значение по умолчанию 1
    Минимальное значение 1
    Максимальное значение 6

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

    Таблица 8.30 Уровни логирования для authentication_ldap_simple_log_status

    Таблица 8.30 Уровни логирования для authentication_ldap_simple_log_status
    Значение параметра Типы регистрируемых сообщений
    1 Нет сообщений
    2 Сообщения об ошибках
    3 Сообщения об ошибках и предупреждения
    4 Сообщения об ошибках, предупреждениях и информации
    5 Как предыдущий уровень плюс сообщения отладки из MySQL
    6 Как предыдущий уровень плюс сообщения отладки из LDAP-библиотеки

  • authentication_ldap_simple_max_pool_size

    Формат командной строки --authentication-ldap-simple-max-pool-size=#
    Переменная системы authentication_ldap_simple_max_pool_size
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Целое число
    Значение по умолчанию 1000
    Минимальное значение 0
    Максимальное значение 32767
    Единица измерения соединения

    Для простого LDAP-аутентификации, максимальный размер пула соединений с LDAP-сервером. Для отключения пулинга соединений установите эту переменную в значение 0.

    Эта переменная используется совместно с authentication_ldap_simple_init_pool_size. См. описание этой переменной.

  • authentication_ldap_simple_referral

    Формат командной строки --authentication-ldap-simple-referral[={OFF|ON}]
    Переменная системы authentication_ldap_simple_referral
    Область действия Глобальная
    Динамическая Да
    SET_VAR Применяется подсказка Нет
    Тип Булево
    Значение по умолчанию OFF

    Для простого LDAP-аутентификации, включение LDAP-ссылок на поиск. См. LDAP-ссылка на поиск.

  • authentication_ldap_simple_response_timeout

    Формат командной строки --authentication-ldap-simple-response-timeout=#
    Системная переменная authentication_ldap_simple_response_timeout
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Целое число
    Значение по умолчанию 30
    Минимальное значение 0
    Максимальное значение 31536000
    Единица измерения секунды

    Указывает время (в секундах), в течение которого сервер MySQL ожидает ответа от LDAP-сервера на запрос LDAP bind.

    Когда учетная запись MySQL выполняет аутентификацию с использованием LDAP, сервер MySQL отправляет запрос LDAP bind на LDAP-сервер. Если LDAP-сервер не отвечает на запрос в течение заданного времени, MySQL прерывает запрос и выдает сообщение об ошибке. Если значение тайм-аута равно нулю, сервер MySQL игнорирует это значение системной переменной. Для получения дополнительной информации см. Setting Timeouts for LDAP Pluggable Authentication.

  • authentication_ldap_simple_server_host

    Формат командной строки --authentication-ldap-simple-server-host=host_name
    Системная переменная authentication_ldap_simple_server_host
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка

    Для простой LDAP-аутентификации, хост LDAP-сервера. Допустимые значения для этой переменной зависят от метода аутентификации:

    • Для authentication_ldap_simple_auth_method_name=SIMPLE: Хост LDAP-сервера может быть именем хоста или IP-адресом.

    • Для authentication_ldap_simple_auth_method_name=AD-FOREST. Хост LDAP-сервера может быть именем домена Active Directory. Например, для URL-адреса LDAP-сервера ldap://example.mem.local:389, имя домена может быть mem.local.

      Настройка леса Active Directory может содержать несколько доменов (IP-адреса LDAP-серверов), которые можно обнаружить с помощью DNS. В Unix-подобных системах может потребоваться дополнительная настройка для конфигурирования DNS-сервера с записями SRV, которые указывают LDAP-серверы для домена Active Directory. Для получения информации о DNS SRV см. RFC 2782.

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

      • Сервер имен, который предоставляет информацию о доменах Active Directory, имеет IP-адрес 10.172.166.100.

      • LDAP-серверы имеют имена от ldap1.mem.local до ldap3.mem.local и IP-адреса от 10.172.166.101 до 10.172.166.103.

      Необходимо, чтобы LDAP-серверы были доступны с помощью поиска SRV. Например, в командной строке команда, подобная этой, должна отображать список LDAP-серверов:

      host -t SRV _ldap._tcp.mem.local
      

      Выполните конфигурацию DNS следующим образом:

      1. Добавьте строку в /etc/resolv.conf, чтобы указать сервер имен, который предоставляет информацию о доменах Active Directory:

        nameserver 10.172.166.100
        
      2. Настройте соответствующий файл зоны для сервера имен с записями SRV для LDAP-серверов:

        _ldap._tcp.mem.local. 86400 IN SRV 0 100 389 ldap1.mem.local.
        _ldap._tcp.mem.local. 86400 IN SRV 0 100 389 ldap2.mem.local.
        _ldap._tcp.mem.local. 86400 IN SRV 0 100 389 ldap3.mem.local.
        
      3. Может также потребоваться указать IP-адрес для LDAP-серверов в /etc/hosts, если имя хоста сервера не может быть разрешено. Например, добавьте в файл строки, подобные этим:

        10.172.166.101 ldap1.mem.local
        10.172.166.102 ldap2.mem.local
        10.172.166.103 ldap3.mem.local
        

      С настроенным DNS, как описано выше, плагин LDAP на стороне сервера может обнаружить LDAP-серверы и попытается выполнить аутентификацию во всех доменах, пока аутентификация не завершится успешно или не останется больше серверов.

      Windows не требует таких настроек, как описано выше. Учитывая хост LDAP-сервера в значении authentication_ldap_simple_server_host, библиотека LDAP Windows выполняет поиск во всех доменах и пытается выполнить аутентификацию.

  • authentication_ldap_simple_server_port

    Формат командной строки --authentication-ldap-simple-server-port=port_num
    Системная переменная authentication_ldap_simple_server_port
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Целое число
    Значение по умолчанию 389
    Минимальное значение 1
    Максимальное значение 32376

    Для простой LDAP-аутентификации, номер порта TCP/IP LDAP-сервера.

    Если номер порта LDAP настроен как 636 или 3269, плагин использует LDAPS (LDAP по SSL) вместо LDAP. (LDAPS отличается от startTLS.)

  • authentication_ldap_simple_tls

    Формат командной строки --authentication-ldap-simple-tls[={OFF|ON}]
    Системная переменная authentication_ldap_simple_tls
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Логическое
    Значение по умолчанию OFF

    Для простой LDAP-аутентификации, являются ли соединения плагина с LDAP-сервером защищенными. Если эта переменная включена, плагин использует TLS для безопасного подключения к LDAP-серверу. Эта переменная может быть установлена для переопределения конфигурации OpenLDAP TLS по умолчанию; см. LDAP Pluggable Authentication and ldap.conf Если вы включаете эту переменную, вы также можете установить переменную authentication_ldap_simple_ca_path.

    Плагины MySQL LDAP поддерживают метод StartTLS, который инициализирует TLS поверх обычного соединения LDAP.

    LDAPS можно использовать, установив системную переменную authentication_ldap_simple_server_port.

  • authentication_ldap_simple_user_search_attr

    Формат командной строки --authentication-ldap-simple-user-search-attr=value
    Системная переменная authentication_ldap_simple_user_search_attr
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка
    Значение по умолчанию uid

    Для простой LDAP-аутентификации, имя атрибута, который указывает имена пользователей в записях каталога LDAP. Если полное имя пользователя не указано, плагин аутентификации выполняет поиск имени, используя этот атрибут. Например, если значение authentication_ldap_simple_user_search_attr равно uid, поиск имени пользователя user1 находит записи со значением uid равным user1.

  • authentication_webauthn_rp_id

    Формат командной строки --authentication-webauthn-rp-id=value
    Системная переменная authentication_webauthn_rp_id
    Область видимости Глобальная
    Динамическая Да
    SET_VAR Подсказка применяется Нет
    Тип Строка

    Эта переменная указывает идентификатор доверенной стороны, используемый для установки плагина на стороне сервера, регистрации устройств и аутентификации WebAuthn. Если выполняется попытка аутентификации WebAuthn, и это значение не совпадает с ожидаемым устройством, устройство предполагает, что оно не взаимодействует с правильным сервером, и возникает ошибка. Максимальная длина значения составляет 255 символов.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/pluggable-authentication-system-variables.html

Spec-Zone.ru

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