中文文档

活动目录(AD) / LDAP 访问管理

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

对于由外部AD/LDAP提供程序管理的身份,MinIO使用用户的Distinguished Name,并尝试将其映射到现有的 策略

如果AD/LDAP配置包括查询用户AD/LDAP组成员资格的必要设置,MinIO 也会 使用那些组Distinguished Names,并尝试将每个组映射到现有的 策略

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

MinIO用于认证用户和检索其组成员资格的具体AD/LDAP查询是在 使用Active Directory / LDAP身份管理部署集群 时配置的一部分。 本页涵盖了创建MinIO策略以匹配可能返回的Distinguished Names的过程。

认证与授权流程

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

  1. 向MinIO安全令牌服务(STS)的:ref:minio-sts-assumerolewithldapidentity API端点指定AD/LDAP凭证。

  2. MinIO会通过AD/LDAP服务器验证提供的凭证。

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

    如果MinIO被配置为执行组查询,它还会查询用户具有 成员资格的AD/LDAP组列表。 MinIO会检查是否有 任何策略的名称与返回的组DN(Distinguished Name)匹配, 并将该策略分配给已认证的用户。

  4. MinIO在STS API响应中返回临时的凭证,包括访问密钥、 秘密密钥和会话令牌。 这些凭证 具有与名称匹配已认证用户DN 组DN的 政策的权限。

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

AD/LDAP用户可以另外创建与他们的AD/LDAP用户Distinguished Name关联的 访问密钥 。 访问密钥是长期有效的凭证,它们的权限从父用户继承。 父用户在创建访问密钥时可以进一步限制这些权限。 使用以下任一方法来创建一个新的访问密钥:

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

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

  • 使用 mc admin user svcacct add 命令来创建访问密钥。指定用户Distinguished Name作为要关联访问密钥的用户名。

将策略映射到用户DN

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

mc idp ldap policy attach myMinIO控制台Admin \
  --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控制台Admin \
  --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 策略, 授予访问诊断管理操作的 权限。

Join Slack 商业支持购买咨询