Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Pluggable Authentication System Variables

8.4.1.14 可插拔身份验证系统变量

这些变量只有在安装了适当的服务器端插件时才可用:

  • authentication_ldap_sasl for system variables with names of the form authentication_ldap_sasl_xxx

  • authentication_ldap_simple for system variables with names of the form authentication_ldap_simple_xxx

表 8.31 身份验证插件系统变量摘要

Name Cmd-Line Option File System Var Status Var Var Scope Dynamic
authentication_fido_rp_id 全局
authentication_kerberos_service_key_tab 全局
authentication_kerberos_service_principal 全局
authentication_ldap_sasl_auth_method_name 全局
authentication_ldap_sasl_bind_base_dn 全局
authentication_ldap_sasl_bind_root_dn 全局
authentication_ldap_sasl_bind_root_pwd 全局
authentication_ldap_sasl_ca_path 全局
authentication_ldap_sasl_connect_timeout 全局
authentication_ldap_sasl_group_search_attr 全局
authentication_ldap_sasl_group_search_filter 全局
authentication_ldap_sasl_init_pool_size 全局
authentication_ldap_sasl_log_status 全局
authentication_ldap_sasl_max_pool_size 全局
authentication_ldap_sasl_referral 全局
authentication_ldap_sasl_response_timeout 全局
authentication_ldap_sasl_server_host 全局
authentication_ldap_sasl_server_port 全局
authentication_ldap_sasl_tls 全局
authentication_ldap_sasl_user_search_attr 全局
authentication_ldap_simple_auth_method_name 全局
authentication_ldap_simple_bind_base_dn 全局
authentication_ldap_simple_bind_root_dn 全局
authentication_ldap_simple_bind_root_pwd 全局
authentication_ldap_simple_ca_path 全局
authentication_ldap_simple_connect_timeout 全局
authentication_ldap_simple_group_search_attr 全局
authentication_ldap_simple_group_search_filter 全局
authentication_ldap_simple_init_pool_size 全局
authentication_ldap_simple_log_status 全局
authentication_ldap_simple_max_pool_size 全局
authentication_ldap_simple_referral 全局
authentication_ldap_simple_response_timeout 全局
authentication_ldap_simple_server_host 全局
authentication_ldap_simple_server_port 全局
authentication_ldap_simple_tls 全局
authentication_ldap_simple_user_search_attr 全局
authentication_policy 全局
authentication_webauthn_rp_id 全局
authentication_windows_log_level 全局
authentication_windows_use_principal_name 全局

  • 身份验证 FIDO RP ID

    Command-Line Format --authentication-fido-rp-id=value
    Deprecated
    System Variable 身份验证 FIDO RP ID
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value MySQL

    该变量指定了用于 FIDO 设备注册和 FIDO 身份验证的依赖方 ID。如果 FIDO 身份验证尝试并且该值不是 FIDO 设备所期望的值,则设备假设它不是与正确的服务器通信,并出现错误。最大值长度为 255 个字符。

    Note

    该插件变量已弃用,并将在未来 MySQL 版本中删除。它被 身份验证 WebAuthn RP ID 变量所取代,该变量支持 WebAuthn 身份验证。有关信息,请参阅 第 8.4.1.11 节,“WebAuthn 可插拔身份验证”

  • 身份验证 Kerberos 服务密钥表

    Command-Line Format --authentication-kerberos-service-key-tab=file_name
    System Variable 身份验证 Kerberos 服务密钥表
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 文件名
    Default Value datadir/mysql.keytab

    服务器端密钥表(“keytab”)文件的名称,包含 Kerberos 服务密钥以身份验证来自客户端的 MySQL 服务票据。如果未设置该变量,默认值为 mysql.keytab 在数据目录中。

    该文件必须存在并包含服务主体名称(SPN)或身份验证客户端将失败。(SPN 和同一个密钥也必须在 Kerberos 服务器中创建。)该文件可以包含多个服务主体名称及其相应的密钥组合。

    该文件必须由 Kerberos 服务器管理员生成,并复制到 MySQL 服务器可以访问的位置。可以使用以下命令验证文件是否正确并正确复制:

    klist -k file_name

    有关密钥表文件的信息,请参阅 https://web.mit.edu/kerberos/krb5-latest/doc/basic/keytab_def.html

  • 身份验证 Kerberos 服务主体

    Command-Line Format --authentication-kerberos-service-principal=name
    System Variable 身份验证 Kerberos 服务主体
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value mysql/host_name@realm_name

    MySQL 服务器发送给客户端的 Kerberos 服务主体名称(SPN)。

    该值由服务名称(mysql)、主机名称和领域名称组成。默认值为 mysql/host_name@realm_name。领域在服务主体名称中启用了 exact 服务密钥的检索。

    要使用非默认值,请使用相同的格式设置值。例如,要使用主机名称 krbauth.example.com 和领域 MYSQL.LOCAL,请将 身份验证 Kerberos 服务主体 设置为 mysql/krbauth.example.com@MYSQL.LOCAL

    服务主体名称和服务密钥必须已经存在于 KDC 服务器管理的数据库中。

    可以有服务主体名称仅通过领域名称不同。

  • 身份验证 LDAP SASL 认证方法名称

    Command-Line Format --authentication-ldap-sasl-auth-method-name=value
    System Variable LDAP SASL 认证方法名称
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value SCRAM-SHA-1
    Valid Values

    SCRAM-SHA-1

    SCRAM-SHA-256

    GSSAPI

    对于 SASL LDAP 认证,认证方法名称。根据这个认证方法,认证插件与 LDAP 服务器之间的通信以确保密码安全。

    允许的认证方法值有:

    • SCRAM-SHA-1:使用 SASL 挑战响应机制。

      客户端 authentication_ldap_sasl_client 插件与 SASL 服务器通信,使用密码创建挑战并获取 SASL 请求缓冲区,然后将其传递给服务器端 authentication_ldap_sasl 插件。客户端和服务器端 SASL LDAP 插件使用 SASL 消息在 LDAP 协议中安全地传输凭证,以避免在 MySQL 客户端和服务器之间发送明文密码。

    • SCRAM-SHA-256:使用 SASL 挑战响应机制。

      该方法与 SCRAM-SHA-1 相似,但更加安全。它需要使用 Cyrus SASL 2.1.27 或更高版本构建的 OpenLDAP 服务器。

    • GSSAPI:使用 Kerberos,一个无密码的票据基于协议。

      GSSAPI/Kerberos 只在 Linux 环境中支持 MySQL 客户端和服务器的认证方法,在 Linux 环境中应用程序访问 LDAP 使用 Microsoft Active Directory,默认情况下启用 Kerberos。

      客户端 authentication_ldap_sasl_client 插件使用 Kerberos 获取服务票据,然后将其传递给服务器端 authentication_ldap_sasl 插件。服务器端插件然后与 LDAP 服务器通信,以解释 LDAP 认证消息并检索 LDAP 组。

  • LDAP SASL 绑定基本 DN

    Command-Line Format --authentication-ldap-sasl-bind-base-dn=value
    System Variable LDAP SASL 绑定基本 DN
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value NULL

    对于 SASL LDAP 认证,基本 DN(distinguished name)。该变量可以用来限制搜索范围,通过将其锚定在搜索树中的某个位置(“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 值将导致搜索速度更快,因为它们限制了搜索范围。

  • LDAP SASL 绑定根 DN

    Command-Line Format --authentication-ldap-sasl-bind-root-dn=value
    System Variable LDAP SASL 绑定根 DN
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value NULL

    对于 SASL LDAP 认证,根 DN(distinguished name)。该变量与 authentication_ldap_sasl_bind_root_pwd 一起使用,作为 LDAP 服务器的认证凭证,以便执行搜索。认证使用一个或两个 LDAP 绑定操作,具体取决于 MySQL 帐户名称是否指定 LDAP 用户 DN:

    • 如果账户不指定用户DN:authentication_ldap_sasl 使用 authentication_ldap_sasl_bind_root_dnauthentication_ldap_sasl_bind_root_pwd 执行初始LDAP绑定。(这些变量默认为空,因此如果它们未设置,LDAP服务器必须允许匿名连接。) 结果绑定LDAP句柄用于搜索用户DN,基于客户端用户名。authentication_ldap_sasl 使用用户DN和客户端提供的密码执行第二个绑定。

    • 如果账户指定用户DN:在这种情况下,第一个绑定操作是不必要的。authentication_ldap_sasl 使用用户DN和客户端提供的密码执行单个绑定。这比MySQL账户不指定LDAP用户DN的情况要快。

  • authentication_ldap_sasl_bind_root_pwd

    Command-Line Format --authentication-ldap-sasl-bind-root-pwd=值
    System Variable authentication_ldap_sasl_bind_root_pwd
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value NULL

    对于SASL LDAP身份验证,根DN的密码。此变量与authentication_ldap_sasl_bind_root_dn一起使用。请参阅该变量的描述。

  • authentication_ldap_sasl_ca_path

    Command-Line Format --authentication-ldap-sasl-ca-path=值
    System Variable authentication_ldap_sasl_ca_path
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value NULL

    对于SASL LDAP身份验证,证书颁发机构文件的绝对路径。指定此文件,以便身份验证插件执行LDAP服务器证书的验证。

    Note

    除了设置authentication_ldap_sasl_ca_path变量为文件名外,还需要将适当的证书颁发机构证书添加到文件中,并启用authentication_ldap_sasl_tls系统变量。这些变量可以设置以覆盖默认的OpenLDAP TLS配置;请参阅LDAP Pluggable Authentication and ldap.conf

  • authentication_ldap_sasl_connect_timeout

    Command-Line Format --authentication-ldap-sasl-connect-timeout=#
    System Variable authentication_ldap_sasl_connect_timeout
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 30
    Minimum Value 0
    Maximum Value 31536000
    Unit

    指定MySQL服务器等待连接到LDAP服务器的时间(以秒为单位).

    当MySQL账户使用LDAP身份验证时,MySQL服务器尝试建立与LDAP服务器的TCP连接,以便发送LDAP绑定请求。 如果LDAP服务器在配置的时间内没有响应TCP握手,MySQL服务器将放弃TCP握手尝试并发出错误消息。如果超时设置为零,MySQL服务器将忽略该系统变量设置。有关更多信息,请参阅Setting Timeouts for LDAP Pluggable Authentication.

    Note

    如果您将此变量设置为大于主机系统默认值的超时值,则使用较短的系统超时。

  • LDAP SASL 组搜索属性

    Command-Line Format --authentication-ldap-sasl-group-search-attr=值
    System Variable LDAP SASL 组搜索属性
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value cn

    对于 SASL LDAP 身份验证,指定 LDAP 目录条目中组名称的属性名称。如果 LDAP SASL 组搜索属性 的默认值为 cn,则搜索将返回 cn 值作为组名称。例如,如果 LDAP 条目具有 uiduser1,并且具有 cn 属性 mygroup,则搜索 user1 将返回 mygroup 作为组名称。

    如果您不想进行组或代理身份验证,请将此变量设置为空字符串。

    如果组搜索属性为 isMemberOf,LDAP 身份验证将直接检索用户属性 isMemberOf 值并将其分配为组信息。如果组搜索属性不是 isMemberOf,LDAP 身份验证将搜索所有组,其中用户是成员。(后者是默认行为。)这基于 LDAP 组信息可以以两种方式存储:1)组条目可以具有名为 memberUidmember 的属性,值为用户名;2)用户条目可以具有名为 isMemberOf 的属性,值为组名称。

  • LDAP SASL 组搜索过滤器

    Command-Line Format --authentication-ldap-sasl-group-search-filter=值
    System Variable LDAP SASL 组搜索过滤器
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value (|(&(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 中返回第一个属性值作为组名称。

  • LDAP SASL 初始化池大小

    Command-Line Format --authentication-ldap-sasl-init-pool-size=#
    System Variable LDAP SASL 初始化池大小
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 10
    Minimum Value 0
    Maximum Value 32767
    Unit 连接

    对于 SASL LDAP 身份验证,LDAP 服务器的初始连接池大小。根据 LDAP 服务器的平均并发身份验证请求数选择此变量的值。

    插件使用 LDAP SASL 初始化池大小LDAP SASL 最大池大小 共同管理连接池:

    插件系统变量设置的更改可能对池中的连接没有影响。例如,修改 LDAP 服务器主机、端口或 TLS 设置不会影响现有连接。但是,如果原始变量值无效且连接池无法初始化,插件将尝试使用新系统变量值重新初始化池。

    如果 authentication_ldap_sasl_max_pool_size=0 禁用池,每个 LDAP 连接由插件打开时使用当前系统变量值。

  • authentication_ldap_sasl_log_status

    Command-Line Format --authentication-ldap-sasl-log-status=#
    System Variable authentication_ldap_sasl_log_status
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 1
    Minimum Value 1
    Maximum Value 6

    对于 SASL LDAP 身份验证,错误日志中的日志级别。下表显示了允许的级别值及其含义。

    表 8.32 authentication_ldap_sasl_log_status 的日志级别

    Option Value Types of Messages Logged
    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

    Command-Line Format --authentication-ldap-sasl-max-pool-size=#
    System Variable authentication_ldap_sasl_max_pool_size
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 1000
    Minimum Value 0
    Maximum Value 32767
    Unit 连接

    对于 SASL LDAP 身份验证,LDAP 服务器的最大连接池大小。要禁用连接池,请将此变量设置为 0。

    此变量与 authentication_ldap_sasl_init_pool_size 一起使用。请参阅该变量的描述。

  • authentication_ldap_sasl_referral

    Command-Line Format --身份验证LDAP SASL引用[={OFF|ON}]
    System Variable 身份验证_ldap_sasl_referral
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 布尔值
    Default Value OFF

    对于SASL LDAP身份验证,是否启用LDAP搜索引用。请参阅LDAP搜索引用

    此变量可以设置以覆盖默认的OpenLDAP引用配置;请参阅LDAP可插拔身份验证和ldap.conf

  • 身份验证_ldap_sasl_response_timeout

    Command-Line Format --身份验证-ldap-sasl-response-timeout=#
    System Variable 身份验证_ldap_sasl_response_timeout
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 30
    Minimum Value 0
    Maximum Value 31536000
    Unit

    指定MySQL服务器等待LDAP服务器响应LDAP绑定请求的时间(以秒为单位)。

    当MySQL帐户使用LDAP身份验证时,MySQL服务器将发送LDAP绑定请求到LDAP服务器。如果LDAP服务器在配置的时间内没有响应请求,MySQL服务器将放弃请求并发出错误消息。如果超时设置为零,MySQL服务器将忽略该系统变量设置。有关更多信息,请参阅设置LDAP可插拔身份验证超时

  • 身份验证_ldap_sasl_server_host

    Command-Line Format --身份验证-ldap-sasl-server-host=主机名
    System Variable 身份验证_ldap_sasl_server_host
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串

    对于SASL LDAP身份验证,LDAP服务器主机。该变量的允许值取决于身份验证方法:

  • 身份验证_ldap_sasl_server_port

    Command-Line Format --身份验证-ldap-sasl-server-port=端口号
    System Variable 身份验证_ldap_sasl_server_port
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 389
    Minimum Value 1
    Maximum Value 32376

    对于SASL LDAP身份验证,LDAP服务器的TCP/IP端口号。

    如果LDAP端口号配置为636或3269,插件将使用LDAPS(LDAP over SSL)而不是LDAP。(LDAPS不同于startTLS。)

  • 身份验证_ldap_sasl_tls

    Command-Line Format --身份验证-ldap-sasl-tls[={OFF|ON}]
    System Variable 身份验证_ldap_sasl_tls
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 布尔值
    Default Value OFF

    对于SASL LDAP身份验证,插件是否连接到LDAP服务器的连接是否安全。如果启用了这个变量,插件将使用TLS安全连接到LDAP服务器。此变量可以用来覆盖OpenLDAP TLS配置的默认值;见LDAP可插拔身份验证和ldap.conf如果您启用了这个变量,也可能需要设置authentication_ldap_sasl_ca_path变量。

    MySQL LDAP插件支持StartTLS方法,该方法在普通LDAP连接上初始化TLS。

    可以通过设置authentication_ldap_sasl_server_port系统变量来使用LDAPS。

  • authentication_ldap_sasl_user_search_attr

    Command-Line Format --authentication-ldap-sasl-user-search-attr=value
    System Variable authentication_ldap_sasl_user_search_attr
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value uid

    对于SASL LDAP身份验证,LDAP目录条目中指定用户名的属性名称。如果未提供用户的区分名称,身份验证插件将使用该属性搜索用户名。例如,如果authentication_ldap_sasl_user_search_attr值为uid,那么搜索用户名user1将找到uid值为user1的条目。

  • authentication_ldap_simple_auth_method_name

    Command-Line Format --authentication-ldap-simple-auth-method-name=value
    System Variable authentication_ldap_simple_auth_method_name
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value SIMPLE
    Valid Values

    SIMPLE

    AD-FOREST

    对于简单LDAP身份验证,身份验证方法名称。身份验证插件和LDAP服务器之间的通信根据该身份验证方法进行。

    Note

    对于所有简单LDAP身份验证方法,建议也设置TLS参数,以确保与LDAP服务器的通信通过安全连接进行。

    允许的身份验证方法值有:

    • SIMPLE:使用简单LDAP身份验证。此方法使用一个或两个LDAP绑定操作,具体取决于MySQL帐户名称是否指定LDAP用户的区分名称。见authentication_ldap_simple_bind_root_dn的描述。

    • AD-FORESTSIMPLE的变体,即在Active Directory森林中搜索所有域,执行LDAP绑定到每个Active Directory域,直到找到用户在某个域中。

  • authentication_ldap_simple_bind_base_dn

    Command-Line Format --authentication-ldap-simple-bind-base-dn=value
    System Variable authentication_ldap_simple_bind_base_dn
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value 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值会导致搜索速度更快,因为它们限制了搜索范围。

  • 身份验证_ldap_simple_bind_root_dn

    Command-Line Format --身份验证-ldap-simple-bind-root-dn=value
    System Variable 身份验证_ldap_simple_bind_root_dn
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value NULL

    对于简单LDAP身份验证,根区分名称(DN)。此变量与 身份验证_ldap_simple_bind_root_pwd 一起使用,以便对LDAP服务器进行身份验证,以便执行搜索。身份验证使用一个或两个LDAP绑定操作,具体取决于MySQL帐户是否命名LDAP用户DN:

    • 如果帐户不命名用户DN:身份验证_ldap_simple 执行初始LDAP绑定,使用 身份验证_ldap_simple_bind_root_dn身份验证_ldap_simple_bind_root_pwd。(这些默认为空,因此如果它们未设置,LDAP服务器必须允许匿名连接。)结果绑定LDAP句柄用于搜索用户DN,基于客户端用户名。身份验证_ldap_simple 执行第二个绑定,使用用户DN和客户端提供的密码。

    • 如果帐户命名用户DN:在这种情况下,不需要第一次绑定操作。身份验证_ldap_simple 执行单个绑定,使用用户DN和客户端提供的密码。这比MySQL帐户不指定LDAP用户DN的情况要快。

  • 身份验证_ldap_simple_bind_root_pwd

    Command-Line Format --身份验证-ldap-simple-bind-root-pwd=value
    System Variable 身份验证_ldap_simple_bind_root_pwd
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value NULL

    对于简单LDAP身份验证,根区分名称的密码。此变量与 身份验证_ldap_simple_bind_root_dn 一起使用。请参阅该变量的描述。

  • 身份验证_ldap_simple_ca_path

    Command-Line Format --身份验证-ldap-simple-ca-path=value
    System Variable 身份验证_ldap_simple_ca_path
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value NULL

    对于简单LDAP身份验证,证书颁发机构文件的绝对路径。指定此文件,以便身份验证插件验证LDAP服务器证书。

    Note

    除了设置 身份验证_ldap_simple_ca_path 变量为文件名外,还需要将适当的证书颁发机构证书添加到文件中,并启用 身份验证_ldap_simple_tls 系统变量。这些变量可以设置以覆盖默认的OpenLDAP TLS配置;请参阅 LDAP Pluggable Authentication and ldap.conf

  • 身份验证_ldap_simple_connect_timeout

    Command-Line Format --身份验证ldap简单连接超时=#
    System Variable 身份验证ldap简单连接超时
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 30
    Minimum Value 0
    Maximum Value 31536000
    Unit

    指定 MySQL 服务器等待连接到 LDAP 服务器的时间(以秒为单位).

    当 MySQL 帐户使用 LDAP 进行身份验证时,MySQL 服务器尝试使用 TCP 连接到 LDAP 服务器,以便发送 LDAP 绑定请求。 如果 LDAP 服务器在配置的时间内没有响应 TCP 握手,MySQL 服务器将放弃 TCP 握手尝试并发出错误消息。 如果超时设置为零,MySQL 服务器将忽略该系统变量设置。 有关更多信息,请参阅 设置 LDAP 可插拔身份验证超时.

    Note

    如果您将该变量设置为大于主机系统默认值的超时值,则使用较短的系统超时。

  • 身份验证ldap简单组搜索属性

    Command-Line Format --身份验证ldap简单组搜索属性=value
    System Variable 身份验证ldap简单组搜索属性
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value cn

    对于简单 LDAP 身份验证,指定组名称的属性名称在 LDAP 目录条目中。 如果 身份验证ldap简单组搜索属性 的默认值为 cn,搜索将返回 cn 值作为组名称。 例如,如果 LDAP 条目具有 uid 值为 user1cn 属性为 mygroup,搜索 user1 将返回 mygroup 作为组名称。

    如果组搜索属性为 isMemberOf,LDAP 身份验证将直接检索用户属性 isMemberOf 值并将其分配为组信息。 如果组搜索属性不是 isMemberOf,LDAP 身份验证将搜索所有组,其中用户是成员。 (后者是默认行为。) 这种行为基于 LDAP 组信息可以以两种方式存储:1) 组条目可以具有名为 memberUidmember 的属性,值为用户名;2) 用户条目可以具有名为 isMemberOf 的属性,值为组名称。

  • 身份验证ldap简单组搜索过滤器

    Command-Line Format --身份验证ldap简单组搜索过滤器=value
    System Variable 身份验证ldap简单组搜索过滤器
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value (|(&(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 中返回第一个属性值作为组名称。

  • LDAP简单身份验证初始池大小

    Command-Line Format --authentication-ldap-simple-init-pool-size=#
    System Variable LDAP简单身份验证初始池大小
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 10
    Minimum Value 0
    Maximum Value 32767
    Unit 连接

    对于简单LDAP身份验证,初始池大小的LDAP服务器连接数。根据LDAP服务器的平均并发身份验证请求次数选择该变量的值。

    插件使用 LDAP简单身份验证初始池大小LDAP简单身份验证最大池大小 共同管理连接池:

    插件系统变量设置的更改可能不会影响池中的现有连接。例如,修改LDAP服务器主机、端口或TLS设置不会影响现有连接。但是,如果原始变量值无效且连接池无法初始化,插件将尝试使用新系统变量值重新初始化池。

    如果 LDAP简单身份验证最大池大小=0 禁用池,每个LDAP连接由插件打开时使用当前系统变量值。

  • LDAP简单身份验证日志状态

    Command-Line Format --authentication-ldap-simple-log-status=#
    System Variable LDAP简单身份验证日志状态
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 1
    Minimum Value 1
    Maximum Value 6

    对于简单LDAP身份验证,错误日志中的日志级别。下表显示了允许的级别值及其含义。

    表 8.33 authentication_ldap_simple_log_status 的日志级别

    Option Value Types of Messages Logged
    1 无消息
    2 错误消息
    3 错误和警告消息
    4 错误、警告和信息消息
    5 与前一个级别相同,另外还有来自MySQL的调试消息
    6 与前一个级别相同,另外还有来自LDAP库的调试消息

  • LDAP简单身份验证最大池大小

    Command-Line Format --authentication-ldap-simple-max-pool-size=#
    System Variable LDAP简单身份验证最大池大小
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 1000
    Minimum Value 0
    Maximum Value 32767
    Unit 连接

    对于简单LDAP身份验证,连接到LDAP服务器的池连接的最大大小。要禁用连接池,请将此变量设置为0。

    此变量与authentication_ldap_simple_init_pool_size一起使用。请参阅该变量的描述。

  • authentication_ldap_simple_referral

    Command-Line Format --authentication-ldap-simple-referral[={OFF|ON}]
    System Variable authentication_ldap_simple_referral
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 布尔值
    Default Value OFF

    对于简单LDAP身份验证,是否启用LDAP搜索引用。请参阅LDAP搜索引用

  • authentication_ldap_simple_response_timeout

    Command-Line Format --authentication-ldap-simple-response-timeout=#
    System Variable authentication_ldap_simple_response_timeout
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 30
    Minimum Value 0
    Maximum Value 31536000
    Unit

    指定MySQL服务器等待LDAP服务器响应LDAP绑定请求的时间(以秒为单位)。

    当MySQL帐户使用LDAP身份验证时,MySQL服务器将LDAP绑定请求发送到LDAP服务器。如果LDAP服务器在配置的时间内没有响应请求,MySQL将放弃请求并发出错误消息。如果超时设置为零,MySQL服务器将忽略该系统变量设置。有关更多信息,请参阅设置LDAP可插拔身份验证超时

  • authentication_ldap_simple_server_host

    Command-Line Format --authentication-ldap-simple-server-host=host_name
    System Variable authentication_ldap_simple_server_host
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串

    对于简单LDAP身份验证,LDAP服务器主机。该变量的允许值取决于身份验证方法:

    • 对于authentication_ldap_simple_auth_method_name=SIMPLE:LDAP服务器主机可以是主机名或IP地址。

    • 对于authentication_ldap_simple_auth_method_name=AD-FOREST:LDAP服务器主机可以是Active Directory域名。例如,对于LDAP服务器URL ldap://example.mem.local:389,域名可以是 mem.local

      Active Directory森林设置可以具有多个域(LDAP服务器IP),这些域可以使用DNS发现。在Unix和类Unix系统上,可能需要进行一些额外的设置以配置DNS服务器使用SRV记录指定Active Directory域的LDAP服务器。有关DNS SRV的信息,请参阅RFC 2782

      假设您的配置具有以下属性:

      • 提供Active Directory域信息的名称服务器的IP地址是 10.172.166.100

      • LDAP服务器的名称是 ldap1.mem.localldap3.mem.local,IP地址是 10.172.166.10110.172.166.103

      您想使LDAP服务器使用SRV搜索可发现。例如,在命令行上,类似于以下命令的命令应该列出LDAP服务器:

      host -t SRV _ldap._tcp.mem.local

      执行DNS配置如下:

      1. 添加到 /etc/resolv.conf 中的一行,以指定提供活动目录信息的名称服务器:

        nameserver 10.172.166.100
      2. 配置适当的区域文件,以便名称服务器具有 LDAP 服务器的 SRV 记录:

        _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. 也可能需要在 /etc/hosts 文件中指定 LDAP 服务器的 IP 地址,如果服务器主机无法解析。例如,添加以下行到文件中:

        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 值中,Windows LDAP 库将搜索所有域并尝试身份验证。

  • authentication_ldap_simple_server_port

    Command-Line Format --authentication-ldap-simple-server-port=port_num
    System Variable authentication_ldap_simple_server_port
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 整数
    Default Value 389
    Minimum Value 1
    Maximum Value 32376

    对于简单 LDAP 身份验证,LDAP 服务器的 TCP/IP 端口号。

    如果 LDAP 端口号配置为 636 或 3269,插件将使用 LDAPS(LDAP over SSL)而不是 LDAP。(LDAPS 与 startTLS 不同。)

  • authentication_ldap_simple_tls

    Command-Line Format --authentication-ldap-simple-tls[={OFF|ON}]
    System Variable authentication_ldap_simple_tls
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 布尔值
    Default Value OFF

    对于简单 LDAP 身份验证,插件是否使用 TLS 连接到 LDAP 服务器。如果启用此变量,插件将使用 TLS 连接到 LDAP 服务器。此变量可以覆盖默认的 OpenLDAP TLS 配置;请参阅 LDAP 可插拔身份验证和 ldap.conf 如果您启用此变量,也可能需要设置 authentication_ldap_simple_ca_path 变量。

    MySQL LDAP 插件支持 StartTLS 方法,该方法在普通 LDAP 连接上初始化 TLS。

    LDAPS 可以通过设置 authentication_ldap_simple_server_port 系统变量来使用。

  • authentication_ldap_simple_user_search_attr

    Command-Line Format --authentication-ldap-simple-user-search-attr=value
    System Variable authentication_ldap_simple_user_search_attr
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串
    Default Value uid

    对于简单 LDAP 身份验证,指定用户名在 LDAP 目录条目中的属性名称。如果未提供用户的区分名称,身份验证插件将使用该属性搜索用户名。例如,如果 authentication_ldap_simple_user_search_attr 值为 uid,则搜索用户名 user1 将找到 uid 值为 user1 的条目。

  • authentication_webauthn_rp_id

    Command-Line Format --authentication-webauthn-rp-id=value
    System Variable authentication_webauthn_rp_id
    Scope 全局
    Dynamic
    SET_VAR Hint Applies
    Type 字符串

    此变量指定了用于服务器端插件安装、设备注册和 WebAuthn 身份验证的依赖方 ID。如果尝试 WebAuthn 身份验证且此值不是设备所期望的值,设备将假设它不是与正确的服务器通信,并出现错误。最大值长度为 255 个字符。