10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 42.7 mb
PDF (A4)- 42.7 mb
手册(TGZ)- 270.0 kb
手册(Zip)- 379.7 kb
信息(Gzip)- 4.1 mb
信息(邮政编码)- 4.1 mb
本手册节选

6.4.1.13可插拔认证系统变量

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

  • authentication_ldap_sasl对于具有形式名称的系统变量authentication_ldap_sasl_xxx

  • authentication_ldap_simple对于具有形式名称的系统变量authentication_ldap_simple_xxx

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

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

  • authentication_fido_rp_id

    命令行格式 ——authentication-fido-rp-id =值
    介绍了 8.0.27
    系统变量 authentication_fido_rp_id
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 MySQL

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

  • 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在数据目录中。

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

    该文件必须由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_saslplugin在客户端插件和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}前缀可以与组搜索属性一起使用。任何带有{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.30 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}前缀可以与组搜索属性一起使用。任何带有{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.31 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服务器URLldap: / / 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。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