文档

活动目录/LDAP访问管理

MinIO支持配置单个活动目录或LDAP(AD/LDAP)服务来外部管理用户身份。启用AD/LDAP外部身份管理会禁用MinIO内部IDP

对于由外部AD/LDAP提供程序管理的身份,MinIO使用用户的可分辨名称并尝试将其与现有的策略进行映射。

如果AD/LDAP配置包含查询用户AD/LDAP组成员资格的必要设置,则MinIO还会使用这些组可分辨名称,并尝试将每个名称与现有的策略进行映射。

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

MinIO发布以对用户进行身份验证并检索其组成员资格的特定AD/LDAP查询配置为使用活动目录/LDAP身份管理部署集群的一部分。此页面介绍如何创建MinIO策略以匹配可能返回的可分辨名称。

身份验证和授权流程

使用活动目录/LDAP凭据的应用程序的登录流程如下

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

  2. MinIO会针对AD/LDAP服务器验证提供的凭据。

  3. MinIO会检查任何策略,其名称与用户可分辨名称(DN)匹配,并将该策略分配给经过身份验证的用户。

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

  4. MinIO以访问密钥、密钥和会话令牌的形式在STS API响应中返回临时凭据。凭据的权限与名称与经过身份验证的用户DN组DN匹配的策略的权限相匹配。

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

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

  • 使用AD/LDAP管理的用户凭据登录MinIO控制台

    用户部分,选择访问密钥,然后选择创建访问密钥+

  • 使用mc admin user svcacct add命令创建访问密钥。将用户可分辨名称指定为要与其关联访问密钥的用户名。

将策略映射到用户DN

以下命令使用mc idp ldap policy attach将现有的 MinIO 策略与 AD/LDAP 用户 DN 关联。

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=com 的已认证用户分配 consoleAdmin 策略,授予对 MinIO 服务器的完全访问权限。

  • MinIO 会将 DN 匹配 cn=dax,cn=users,dc=example,dc=com 的已认证用户分配 readwritediagnostics 策略,授予对 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=com AD/LDAP 组的已认证用户分配 consoleAdmin 策略,授予对 MinIO 服务器的完全访问权限。

  • MinIO 会将任何属于 cn=engineering,cn=groups,dc=example,dc=com AD/LDAP 组的已认证用户分配 diagnostics 策略,授予访问诊断管理操作的权限。