文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

MinIO Documentation

Active Directory / LDAP 访问管理

MinIO 支持配置单个 Active Directory 或 LDAP (AD/LDAP) 服务,用于外部管理用户身份。 启用 AD/LDAP 外部身份管理会禁用MinIO internal IDP.

对于由外部 AD/LDAP 提供商管理的身份,MinIO 使用用户的专有名称并尝试将其映射到现有的政策.

如果 AD/LDAP 配置包含查询用户 AD/LDAP 组成员身份的必要设置,MinIO使用这些组专有名称,并尝试将每个名称映射到现有的政策.

MinIO 默认拒绝访问用户未通过分配或继承明确允许的所有操作或资源。策略由 AD/LDAP 提供程序管理的用户必须在用户配置文件数据中指定必要的策略。 如果没有策略与用户 DN 或组 DN 匹配,MinIO 将阻止对部署中所有操作和资源的访问。

MinIO 用于验证用户并检索其组成员身份的具体 AD/LDAP 查询配置为使用 Active Directory / LDAP 身份管理部署集群本页介绍如何创建 MinIO 策略以匹配可能返回的可分辨名称。

认证与授权流程

使用 Active Directory / LDAP 凭据的应用程序登录流程如下:

  1. 指定到 MinIO 安全令牌服务 (STS) 的 AD/LDAP 凭据AssumeRoleWithLDAPIdentityAPI端点。

  2. MinIO 验证提供的凭据是否与 AD/LDAP 服务器匹配。

  3. MinIO 检查是否有任何政策其名称与用户专有名称(DN)匹配,并将该策略分配给已认证用户。

    如果配置为执行组查询,MinIO 还会查询用户所属的 AD/LDAP 组列表。MinIO 会检查是否有策略名称与返回的组 DN 匹配,并将该策略分配给经过身份验证的用户。

  4. MinIO 在 STS API 响应中返回临时凭证,包含访问密钥、密钥和会话令牌。这些凭证具有与经过身份验证的用户 DN 匹配的策略对应的权限。or一个组 DN。

MinIO 提供了一个 Go 应用程序示例ldap.go处理完整的登录流程。

AD/LDAP 用户也可以创建访问密钥与其 AD/LDAP 用户的专有名称相关联。 访问密钥是长期有效的凭证,继承其父用户的权限。 父用户在创建访问密钥时可以进一步限制这些权限。 使用以下任一方法创建新的访问密钥:

使用mc admin user svcacct add创建访问密钥的命令。 将用户专有名称指定为要关联访问密钥的用户名。

Mapping Policies to User DN

以下命令使用mc idp ldap policy attach关联现有的 MinIO政策到 AD/LDAP 用户专有名称。

mc idp ldap policy attach myminio consoleAdmin \
  --user='cn=sisko,cn=users,dc=example,dc=com'

mc idp ldap policy attach myminio readwrite,diagnostics \
  --user='cn=dax,cn=users,dc=example,dc=com'
  • MinIO 会为具有匹配 DN 的认证用户分配cn=sisko,cn=users,dc=example,dc=comtheconsoleAdmin策略,授予对 MinIO 服务器的完全访问权限。

  • MinIO 会为具有匹配 DN 的认证用户分配cn=dax,cn=users,dc=example,dc=comboth thereadwritediagnostics策略,授予对 MinIO 服务器的通用读写访问权限访问诊断管理操作。

  • MinIO 不会为具有匹配 DN 的认证用户分配任何策略cn=quark,cn=users,dc=example,dc=com并拒绝所有对API操作的访问。

将策略映射到组DN

以下命令使用mc idp ldap policy attach关联现有的 MinIO政策到一个 AD/LDAP 组 DN。

mc idp ldap policy attach myminio consoleAdmin \
  --group='cn=ops,cn=groups,dc=example,dc=com'

mc idp ldap policy attach myminio diagnostics \
  --group='cn=engineering,cn=groups,dc=example,dc=com'
  • MinIO 会为任何通过身份验证的用户分配成员资格cn=ops,cn=groups,dc=example,dc=comAD/LDAP 群组consoleAdmin策略,授予对 MinIO 服务器的完全访问权限。

  • MinIO 会为任何通过身份验证的用户分配成员资格cn=engineering,cn=groups,dc=example,dc=comAD/LDAP 群组diagnostics策略,授予对诊断性管理操作的访问权限。