10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 41.6 mb
PDF (A4)- 41.7 mb
手册页(TGZ)- 262.5 kb
手册页(Zip)- 372.6 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

6.4.1.12可插拔认证系统变量

除非安装了适当的服务器端插件,否则这些变量不可用:

  • authentication_ldap_sasl用于具有窗体名称的系统变量authentication_ldap_sasl_xxx

  • authentication_ldap_simple用于具有窗体名称的系统变量authentication_ldap_simple_xxx

表6.24认证插件系统变量汇总

的名字 Cmd-Line 选择文件 系统无功 状态变量 Var范围 动态
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_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_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_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_server_host 是的 是的 是的 全球 是的
authentication_ldap_simple_server_port 是的 是的 是的 全球 是的
authentication_ldap_simple_tls 是的 是的 是的 全球 是的
authentication_ldap_simple_user_search_attr 是的 是的 是的 全球 是的
authentication_windows_log_level 是的 是的 是的 全球 没有
authentication_windows_use_principal_name 是的 是的 是的 全球 没有

  • authentication_kerberos_service_key_tab

    命令行格式 ——authentication-kerberos-service-key-tab = file_name
    介绍了 8.0.26
    系统变量 authentication_kerberos_service_key_tab
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 文件名称
    默认值 datadir / mysql.keytab

    服务器端键表的名称(keytab)文件,其中包含Kerberos服务密钥,用于验证从客户端接收的MySQL服务票据。文件名应该以绝对路径名的形式给出。如果未设置此变量,则默认为mysql.keytab在data目录中。

    该文件必须存在,并且包含服务主体名称(SPN)的有效密钥,否则客户端身份验证将失败。(SPN和相同的密钥也必须在Kerberos服务器中创建。)该文件可能包含多个服务主体名称及其各自的组合键。

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

    中- kfile_name

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

  • authentication_kerberos_service_principal

    命令行格式 ——authentication-kerberos-service-principal =名字
    介绍了 8.0.26
    系统变量 authentication_kerberos_service_principal
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 mysql / host_name@realm_name

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

    该值由服务名称(mysql)、主机名和领域名。默认值为mysql /host_name@realm_name.服务主体名称中的领域允许检索准确的服务密钥。

    若要使用非默认值,请使用相同的格式设置该值。例如,使用的主机名krbauth.example.com一个王国MYSQL。当地的,设置authentication_kerberos_service_principalmysql / krbauth.example.com@MYSQL.LOCAL

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

    服务主体名可以只在域名上有所不同。

  • authentication_ldap_sasl_auth_method_name

    命令行格式 ——authentication-ldap-sasl-auth-method-name =值
    系统变量 authentication_ldap_sasl_auth_method_name
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 SCRAM-SHA-1
    有效值(≥8.0.23)

    SCRAM-SHA-1

    安全- sha - 256

    GSSAPI

    有效值(≥8.0.20,≤8.0.22)

    SCRAM-SHA-1

    GSSAPI

    有效值(≤8.0.19) SCRAM-SHA-1

    对于SASL LDAP身份验证,为身份验证方法名称。认证插件和LDAP服务器之间的通信就是按照这种认证方式进行的,保证了密码的安全性。

    允许以下认证方法值:

    • SCRAM-SHA-1:使用SASL质询-响应机制。

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

    • 安全- sha - 256:使用SASL质询-响应机制。

      此方法类似于SCRAM-SHA-1,但更安全。它在MySQL 8.0.23及更高版本中可用。它需要使用Cyrus SASL 2.1.27或更高版本构建的OpenLDAP服务器。

    • GSSAPI:使用Kerberos,这是一种无密码、基于票据的协议。

      GSSAPI/Kerberos仅在Linux上支持作为MySQL客户端和服务器的身份验证方法。它在应用程序使用Microsoft Active Directory访问LDAP的Linux环境中非常有用,Microsoft Active Directory默认启用了Kerberos。

      客户端authentication_ldap_sasl_client插件使用来自Kerberos的票据授予票据(TGT)获得服务票据,但不直接使用LDAP服务。服务器端authentication_ldap_sasl插件在客户端插件和LDAP服务器之间路由Kerberos消息。服务器端插件使用由此获得的凭据与LDAP服务器通信,以解释LDAP身份验证消息并检索LDAP组。

  • authentication_ldap_sasl_bind_base_dn

    命令行格式 ——authentication-ldap-sasl-bind-base-dn =值
    系统变量 authentication_ldap_sasl_bind_base_dn
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    对于SASL LDAP身份验证,基本区别名(DN)。此变量可用于限制搜索范围,方法是将搜索锚定在某个位置基地)。

    假设一组LDAP用户条目的成员都具有以下表单:

    uid =user_nameou =人,dc =例子,dc = com

    并且另一组LDAP用户条目的成员都具有以下表单:

    uid =user_nameou = Admin, dc =示例中,dc = com

    然后搜索不同的基本DN值:

    • 如果基准DN为ou =人,dc =例子,dc = com:搜索只能找到第一个集合中的用户项。

    • 如果基准DN为ou = Admin, dc =示例中,dc = com:只能在第二种情况下查找到用户项。

    • 如果基准DN为ou = dc =示例中,dc = com:在第一个或第二个集合中查找用户项。

    一般来说,更具体的基本DN值会导致更快的搜索,因为它们更严格地限制了搜索范围。

  • authentication_ldap_sasl_bind_root_dn

    命令行格式 ——authentication-ldap-sasl-bind-root-dn =值
    系统变量 authentication_ldap_sasl_bind_root_dn
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    对于SASL LDAP认证,根区别名(DN)。此变量与authentication_ldap_sasl_bind_root_pwd作为向LDAP服务器进行身份验证的凭据,以便执行搜索。认证使用一个或两个LDAP绑定操作,这取决于MySQL帐户是否命名为LDAP用户DN:

    • 如果帐号没有指定用户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帐户不指定LDAP用户DN要快。

  • authentication_ldap_sasl_bind_root_pwd

    命令行格式 ——authentication-ldap-sasl-bind-root-pwd =值
    系统变量 authentication_ldap_sasl_bind_root_pwd
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    对于SASL LDAP身份验证,根标识名的密码。此变量与authentication_ldap_sasl_bind_root_dn.请参阅该变量的描述。

  • authentication_ldap_sasl_ca_path

    命令行格式 ——authentication-ldap-sasl-ca-path =值
    系统变量 authentication_ldap_sasl_ca_path
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    对于SASL LDAP认证,证书颁发机构文件的绝对路径。如果希望身份验证插件执行LDAP服务器证书的验证,请指定此文件。

    请注意

    除了设置authentication_ldap_sasl_ca_path变量设置为文件名时,必须将适当的证书颁发机构证书添加到文件中,并启用authentication_ldap_sasl_tls系统变量。这些变量可以设置为覆盖默认的OpenLDAP TLS配置;看到LDAP可插拔认证和LDAP .conf

  • authentication_ldap_sasl_group_search_attr

    命令行格式 ——authentication-ldap-sasl-group-search-attr =值
    系统变量 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成员值为用户名;2)一个用户条目可以有一个命名的属性isMemberOf值为组名。

  • authentication_ldap_sasl_group_search_filter

    命令行格式 ——authentication-ldap-sasl-group-search-filter =值
    系统变量 authentication_ldap_sasl_group_search_filter
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 (| (& (objectClass = posixGroup) (memberUid = % s)) (& (objectClass =集团)(会员= % s)))

    对于SASL LDAP身份验证,自定义组搜索筛选器。

    搜索筛选器值可以包含{UA}而且{UD}表示用户名和完整用户DN的符号。例如,{UA}被替换为用户名,例如“admin”,而{UD}被替换为使用完整DN,例如“uid = admin, ou =人,dc =示例中,dc = com”.以下为默认值,同时支持OpenLDAP和Active Directory:

    (| (& (objectClass = posixGroup) (memberUid = {UA})) (& (objectClass =集团)(会员= {UD})))

    在某些情况下,对于用户场景,memberOf是不包含组信息的简单用户属性。为了额外的灵活性,一个可选的{GA}Prefix可以与组搜索属性一起使用。任何带有{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一起进行连接池管理:

    对插件系统变量设置的更改可能对池中已经存在的连接没有影响。例如,修改LDAP服务器的主机、端口或TLS设置不会影响现有的连接。但是,如果原始变量值无效,连接池无法初始化,插件将尝试为下一个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
    最大值(≥8.0.18) 6
    最大值(≤8.0.17) 5

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

    表6.25 authentication_ldap_sasl_log_status的日志级别

    选项值 记录的消息类型
    1 没有消息
    2 错误消息
    3. 错误和警告消息
    4 错误、警告和信息消息
    5 和MySQL的调试消息一样
    6 与来自LDAP库的前一级别加调试消息相同

    从MySQL 8.0.18开始,可以使用日志级别6。

    方法将消息记录到标准输出中AUTHENTICATION_LDAP_CLIENT_LOG环境变量。允许的值和默认值与for相同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[={|在}]
    介绍了 8.0.20
    系统变量 authentication_ldap_sasl_referral
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    对于SASL LDAP认证,是否启用LDAP搜索引荐。看到LDAP搜索推荐

    这个变量可以设置为覆盖默认的OpenLDAP引用配置;看到LDAP可插拔认证和LDAP .conf

  • 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_server_port

    命令行格式 ——authentication-ldap-sasl-server-port = port_num
    系统变量 authentication_ldap_sasl_server_port
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 389
    最小值 1
    最大值 32376

    对于SASL LDAP认证,LDAP服务器TCP/IP端口号。

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

  • authentication_ldap_sasl_tls

    命令行格式 ——authentication-ldap-sasl-tls[={|在}]
    系统变量 authentication_ldap_sasl_tls
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    对于SASL LDAP认证,插件到LDAP服务器的连接是否安全。如果启用该变量,插件将使用TLS安全地连接到LDAP服务器。这个变量可以设置为覆盖默认的OpenLDAP TLS配置;看到LDAP可插拔认证和LDAP .conf如果启用此变量,您可能还希望设置authentication_ldap_sasl_ca_path变量。

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

    从MySQL 8.0.14开始,可以通过设置authentication_ldap_sasl_server_port系统变量。

  • authentication_ldap_sasl_user_search_attr

    命令行格式 ——authentication-ldap-sasl-user-search-attr =值
    系统变量 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 =值
    系统变量 authentication_ldap_simple_auth_method_name
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 简单的
    有效值

    简单的

    ad森林

    对于简单的LDAP身份验证,为身份验证方法名称。认证插件与LDAP服务器之间的通信就是按照这种认证方式进行的。

    请注意

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

    允许以下认证方法值:

    • 简单的:使用简单LDAP认证。此方法使用一个或两个LDAP绑定操作,具体取决于MySQL帐户是否命名为LDAP用户可区分名称。参见authentication_ldap_simple_bind_root_dn

    • ad森林:变体简单的,以便身份验证搜索Active Directory林中的所有域,对每个Active Directory域执行LDAP绑定,直到在某个域中找到用户。

  • authentication_ldap_simple_bind_base_dn

    命令行格式 ——authentication-ldap-simple-bind-base-dn =值
    系统变量 authentication_ldap_simple_bind_base_dn
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    对于简单的LDAP身份验证,基本区别名(DN)。此变量可用于限制搜索范围,方法是将搜索锚定在某个位置基地)。

    假设一组LDAP用户条目的成员都具有以下表单:

    uid =user_nameou =人,dc =例子,dc = com

    并且另一组LDAP用户条目的成员都具有以下表单:

    uid =user_nameou = Admin, dc =示例中,dc = com

    然后搜索不同的基本DN值:

    • 如果基准DN为ou =人,dc =例子,dc = com:搜索只能找到第一个集合中的用户项。

    • 如果基准DN为ou = Admin, dc =示例中,dc = com:只能在第二种情况下查找到用户项。

    • 如果基准DN为ou = dc =示例中,dc = com:在第一个或第二个集合中查找用户项。

    一般来说,更具体的基本DN值会导致更快的搜索,因为它们更严格地限制了搜索范围。

  • authentication_ldap_simple_bind_root_dn

    命令行格式 ——authentication-ldap-simple-bind-root-dn =值
    系统变量 authentication_ldap_simple_bind_root_dn
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    对于简单的LDAP身份验证,根区别名(DN)。此变量与authentication_ldap_simple_bind_root_pwd作为向LDAP服务器进行身份验证的凭据,以便执行搜索。认证使用一个或两个LDAP绑定操作,这取决于MySQL帐户是否命名为LDAP用户DN:

    • 如果帐号没有指定用户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帐户不指定LDAP用户DN要快。

  • authentication_ldap_simple_bind_root_pwd

    命令行格式 ——authentication-ldap-simple-bind-root-pwd =值
    系统变量 authentication_ldap_simple_bind_root_pwd
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    对于简单的LDAP身份验证,根标识名的密码。此变量与authentication_ldap_simple_bind_root_dn.请参阅该变量的描述。

  • authentication_ldap_simple_ca_path

    命令行格式 ——authentication-ldap-simple-ca-path =值
    系统变量 authentication_ldap_simple_ca_path
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值

    对于简单的LDAP身份验证,证书颁发机构文件的绝对路径。如果希望身份验证插件执行LDAP服务器证书的验证,请指定此文件。

    请注意

    除了设置authentication_ldap_simple_ca_path变量设置为文件名时,必须将适当的证书颁发机构证书添加到文件中,并启用authentication_ldap_simple_tls系统变量。这些变量可以设置为覆盖默认的OpenLDAP TLS配置;看到LDAP可插拔认证和LDAP .conf

  • authentication_ldap_simple_group_search_attr

    命令行格式 ——authentication-ldap-simple-group-search-attr =值
    系统变量 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成员值为用户名;2)一个用户条目可以有一个命名的属性isMemberOf值为组名。

  • authentication_ldap_simple_group_search_filter

    命令行格式 ——authentication-ldap-simple-group-search-filter =值
    系统变量 authentication_ldap_simple_group_search_filter
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 (| (& (objectClass = posixGroup) (memberUid = % s)) (& (objectClass =集团)(会员= % s)))

    对于简单的LDAP身份验证,自定义组搜索筛选器。

    搜索筛选器值可以包含{UA}而且{UD}表示用户名和完整用户DN的符号。例如,{UA}被替换为用户名,例如“admin”,而{UD}被替换为使用完整DN,例如“uid = admin, ou =人,dc =示例中,dc = com”.以下为默认值,同时支持OpenLDAP和Active Directory:

    (| (& (objectClass = posixGroup) (memberUid = {UA})) (& (objectClass =集团)(会员= {UD})))

    在某些情况下,对于用户场景,memberOf是不包含组信息的简单用户属性。为了额外的灵活性,一个可选的{GA}Prefix可以与组搜索属性一起使用。任何带有{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一起进行连接池管理:

    对插件系统变量设置的更改可能对池中已经存在的连接没有影响。例如,修改LDAP服务器的主机、端口或TLS设置不会影响现有的连接。但是,如果原始变量值无效,连接池无法初始化,插件将尝试为下一个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
    最大值(≥8.0.18) 6
    最大值(≤8.0.17) 5

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

    表6.26 authentication_ldap_simple_log_status的日志级别

    选项值 记录的消息类型
    1 没有消息
    2 错误消息
    3. 错误和警告消息
    4 错误、警告和信息消息
    5 和MySQL的调试消息一样
    6 与来自LDAP库的前一级别加调试消息相同

    从MySQL 8.0.18开始,可以使用日志级别6。

  • 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[={|在}]
    介绍了 8.0.20
    系统变量 authentication_ldap_simple_referral
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    对于简单LDAP认证,是否启用LDAP搜索引荐。看到LDAP搜索推荐

  • 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 =简单: LDAP服务器主机可以是主机名或IP地址。

    • authentication_ldap_simple_auth_method_name = ad森林.LDAP服务器的主机可以是Active Directory域名。例如,LDAP服务器URL为ldap: / / example.mem.local: 389,域名可以为mem.local

      Active Directory林设置可以有多个域(LDAP服务器ip),可以使用DNS发现这些域。在Unix和类Unix系统上,可能需要一些额外的设置来使用SRV记录配置DNS服务器,SRV记录为Active Directory域指定LDAP服务器。有关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

      您希望使用SRV搜索可以发现LDAP服务器。例如,在命令行中,这样的命令应该列出LDAP服务器:

      host -t SRV _ldap._tcp.mem.local

      DNS的配置方法如下:

      1. 添加一行到/etc/resolv.conf指定提供Active Directory域信息的名称服务器:

        命名服务器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. 中为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

    命令行格式 ——authentication-ldap-simple-server-port = port_num
    系统变量 authentication_ldap_simple_server_port
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 整数
    默认值 389
    最小值 1
    最大值 32376

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

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

  • authentication_ldap_simple_tls

    命令行格式 ——authentication-ldap-simple-tls[={|在}]
    系统变量 authentication_ldap_simple_tls
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    对于简单的LDAP身份验证,插件到LDAP服务器的连接是否安全。如果启用该变量,插件将使用TLS安全地连接到LDAP服务器。这个变量可以设置为覆盖默认的OpenLDAP TLS配置;看到LDAP可插拔认证和LDAP .conf如果启用此变量,您可能还希望设置authentication_ldap_simple_ca_path变量。

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

    从MySQL 8.0.14开始,可以通过设置authentication_ldap_simple_server_port系统变量。

  • authentication_ldap_simple_user_search_attr

    命令行格式 ——authentication-ldap-simple-user-search-attr =值
    系统变量 authentication_ldap_simple_user_search_attr
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 uid

    对于简单的LDAP身份验证,在LDAP目录条目中指定用户名的属性的名称。如果没有提供用户识别名称,身份验证插件将使用此属性搜索该名称。例如,如果authentication_ldap_simple_user_search_attr值是uid,搜索用户名user1查找具有uid的价值user1