文档

Active Directory / LDAP 设置

本页记录了使用 Active Directory 或 LDAP 服务启用外部身份管理的设置。有关使用这些设置的教程,请参见 配置 MinIO 以使用 Active Directory / LDAP 进行身份验证

重要

版本 RELEASE.2023-05-26T23-31-54Z 中的新增功能

mc idp ldap 命令优先于使用配置设置来配置 MinIO 以使用 Active Directory 或 LDAP 进行身份管理。

MinIO 建议使用 mc idp ldap 命令进行 LDAP 管理操作。这些命令提供了更好的验证和更多功能,同时提供了与 identity_ldap 配置键相同的设置。有关使用 mc idp ldap 的教程,请参见 配置 MinIO 以使用 Active Directory / LDAP 进行身份验证

identity_ldap 配置设置仍然可用于现有脚本和其他工具。

您可以通过定义以下方式来建立或修改设置

  • 在启动或重启 MinIO 服务器之前,请在主机系统上设置一个**环境变量**。有关如何定义环境变量,请参阅您操作系统的文档。

  • 使用 mc admin config set 来设置**配置设置**。

  • 使用 MinIO 控制台的 管理员 > 设置 页面设置**配置设置**。

如果您同时定义环境变量和类似的配置设置,MinIO 将使用环境变量的值。

某些设置只包含环境变量或配置设置,但不包含两者。

重要

每个配置设置都会控制 MinIO 的基本行为和功能。MinIO **强烈建议** 在将更改应用于生产环境之前,先在较低的环境(如开发或测试环境)中测试配置更改。

示例

MINIO_IDENTITY_LDAP_SERVER_ADDR="ldapserver.com:636"

注意

srv_record_name 会自动识别端口号。

如果您的 AD/LDAP 服务器使用 DNS SRV Records,请**不要**将端口号附加到您的 server_addr 值。SRV 请求在返回可用服务器列表时会自动包含端口号。

identity_ldap

使用 mc admin config set 定义 LDAP 时,需要以下设置

  • enabled

  • server_addr

  • lookup_bind_dn

  • lookup_bind_dn_password

  • user_dn_search_base_dn

  • user_dn_search_filter

mc admin config set identity_ldap                        \
   enabled="true"                                        \
   server_addr="ad-ldap.example.net/"                    \
   lookup_bind_dn="cn=miniolookupuser,dc=example,dc=net" \
   lookup_bind_dn_password="userpassword"                \
   user_dn_search_base_dn="dc=example,dc=net"            \
   user_dn_search_filter="(&(objectCategory=user)(sAMAccountName=%s))"

设置

服务器地址

必需

MINIO_IDENTITY_LDAP_SERVER_ADDR

指定 Active Directory/LDAP 服务器的主机名。例如

ldapserver.com:636

srv_record_name 会自动识别端口号

如果您的 AD/LDAP 服务器使用 DNS SRV Records,请**不要**将端口号附加到您的 server_addr 值。SRV 请求在返回可用服务器列表时会自动包含端口号。

identity_ldap server_addr

指定 Active Directory/LDAP 服务器的主机名。例如

ldapserver.com:636

srv_record_name 会自动识别端口号

如果您的 AD/LDAP 服务器使用 DNS SRV Records,请**不要**将端口号附加到您的 server_addr 值。SRV 请求在返回可用服务器列表时会自动包含端口号。

查找绑定 DN

必需

MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN
identity_ldap lookup_bind_dn

指定 MinIO 查询 AD/LDAP 服务器时使用的 AD/LDAP 帐户的识别名称 (DN)。启用对 AD/LDAP 服务器的 查找绑定 身份验证。

DN 帐户应为具有足够权限执行用户和组查找的只读访问密钥。

查找绑定密码

必需

MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD
identity_ldap lookup_bind_password

指定 查找绑定 用户帐户的密码。

版本 RELEASE.2023-06-23T20-26-00Z 中变更: MinIO 在作为 mc admin config get 的一部分返回时,会将此值删除。

用户 DN 搜索基础 DN

必需

MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN
identity_ldap user_dn_search_base_dn

指定 MinIO 查询与身份验证客户端提供的凭据匹配的用户凭据时使用的基础识别名称 (DN)。

用分号 (;) 分隔多个 DN。

例如

cn=miniousers,dc=myldapserver,dc=net;ou=swengg,dc=min,dc=io

支持 查找绑定 模式。

用户 DN 搜索过滤器

必需

MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER
identity_ldap user_dn_search_filter

指定 MinIO 查询与身份验证客户端提供的凭据匹配的用户凭据时使用的 AD/LDAP 搜索过滤器。

使用 %s 替换字符将客户端指定的用户名插入搜索字符串。例如

(userPrincipalName=%s)

用户 DN 属性

可选

MINIO_IDENTITY_LDAP_USER_DN_ATTRIBUTES
identity_ldap user_dn_attributes

版本 RELEASE.2024-06-06T09-36-42Z 中新增。

用户 DN 属性的逗号分隔列表。

一些有效值包括 uid,cn,mail,sshPublicKey

要为 LDAP 用户启用公共身份验证,请将 sshPublicKey 作为 DN 属性传递。然后,用户可以使用传递的 SSH 公钥登录 SFTP 服务器。

mc idp ldap update ALIAS user_dn_attributes=sshPublicKey

启用

可选

此设置没有环境变量选项。请改用配置设置。

identity_ldap enabled

设置为 false 以禁用 AD/LDAP 配置。

如果设置为 false,应用程序将无法生成 STS 凭据,也无法使用配置的提供程序对 MinIO 进行身份验证。

默认值为 true 或 “enabled”。

组搜索过滤器

可选

MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER
identity_ldap group_search_filter

指定用于对已验证用户执行组查找的 AD/LDAP 搜索过滤器

使用 %s 替换字符将客户端指定的用户名插入搜索字符串。使用 %d 替换字符将客户端指定用户名的识别名称插入搜索字符串。

例如

(&(objectclass=groupOfNames)(memberUid=%s))

组搜索基础 DN

可选

MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN
identity_ldap group_search_base_dn

指定 MinIO 执行组查找时使用的组搜索基础 识别名称 的分号 (;) 分隔列表。

例如

cn=miniogroups,dc=myldapserver,dc=net;ou=swengg,dc=min,dc=io

TLS 跳过验证

可选

MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY
identity_ldap tls_skip_verify

指定 on 以在不进行验证的情况下信任 AD/LDAP 服务器 TLS 证书。如果 AD/LDAP 服务器 TLS 证书是由不受信任的证书颁发机构(例如自签名证书)签名的,则可能需要此选项。

默认值为 off

服务器不安全

可选

MINIO_IDENTITY_LDAP_SERVER_INSECURE
identity_ldap server_insecure

指定 on 以允许与 AD/LDAP 服务器建立不安全的(非 TLS 加密的)连接。

MinIO 会将 AD/LDAP 用户凭据以明文形式发送到 AD/LDAP 服务器,因此必须启用 TLS 以防止在网络上读取凭据。使用此选项存在安全风险,任何有权访问网络流量的用户都可以观察到未加密的明文凭据。

默认值为 off

服务器启动 TLS

可选

MINIO_IDENTITY_LDAP_SERVER_STARTTLS
identity_ldap server_starttls

指定 on 以启用与 AD/LDAP 服务器的 StartTLS 连接。

默认值为 off

有关 StartTLS 的更多信息,请参阅 LDAP RFC 4511 规范 的第 4.14 节。

SRV 记录名称

可选

在版本 RELEASE.2022-12-12T19-27-27Z 中新增。

MINIO_IDENTITY_LDAP_SRV_RECORD_NAME
identity_ldap srv_record_name

指定适当的值以使 MinIO 能够使用 DNS SRV 记录 请求选择 AD/LDAP 服务器。

启用后,MinIO 通过以下方式选择 AD/LDAP 服务器:

  • 按照标准命名约定构建目标 SRV 记录名称。

  • 请求可用 AD/LDAP 服务器列表。

  • 根据优先级和权重选择合适的目标。

以下配置示例假定 AD/LDAP 服务器地址设置为 example.com,SRV 记录协议为 _tcp

对于以 _ldap 开头的 SRV 记录名称,请指定 ldap。构建的 DNS SRV 记录名称类似于以下内容

_ldap._tcp.example.com

对于以 _ldaps 开头的 SRV 记录名称,请指定 ldaps。构建的 DNS SRV 记录名称类似于以下内容

_ldaps._tcp.example.com

如果您的 DNS SRV 记录名称使用备用服务或协议名称,请指定 on 并提供完整的记录名称作为您的 LDAP 服务器地址。例如:_ldapserver._specialtcp.example.com

有关 DNS SRV 记录的更多信息,请参阅 用于 LDAP 的 DNS SRV 记录.

DNS SRV 记录配置的服务器地址

指定的服务器名称 **不能** 包含端口号。这与标准 AD/LDAP 配置不同,在标准 AD/LDAP 配置中,端口号是必需的。

有关配置 AD/LDAP 服务器地址的更多信息,请参阅 server_addrMINIO_IDENTITY_LDAP_SERVER_ADDR

注释

可选

MINIO_IDENTITY_LDAP_COMMENT
identity_ldap identity_ldap comment

指定与 AD/LDAP 配置关联的注释。