外部身份管理
MinIO 通过以下身份提供者(IDP)支持多个外部身份管理器
以下教程为选定的 IDP 软件提供了具体指导
用户可以使用其外部管理的凭据和相关的安全令牌服务 (STS) API 对 MinIO 进行身份验证。一旦通过身份验证,MinIO 会尝试将用户与一个或多个已配置的策略关联起来。没有关联策略的用户在 MinIO 部署上没有任何权限。
OpenID Connect (OIDC)
MinIO 支持使用与 OpenID Connect (OIDC) 兼容的身份提供者 (IDP),例如 Okta、KeyCloak、Dex、Google 或 Facebook,用于外部管理用户身份。配置外部 IDP 可以启用单点登录工作流,应用程序在访问 MinIO 之前会向外部 IDP 进行身份验证。
MinIO 使用基于策略的访问控制 (PBAC) 来定义经过身份验证的用户有权访问的操作和资源。MinIO 支持创建和管理策略,外部管理的用户可以声明这些策略。
对于由外部 OpenID Connect (OIDC) 兼容提供商管理的身份,MinIO 使用 JSON Web Token 声明来识别要分配给已认证用户的策略。
MinIO 默认会查找 policy 声明,并读取一个或多个要分配的策略列表。MinIO 会尝试将现有策略与 JWT 声明中指定的策略进行匹配。如果在 MinIO 部署上不存在任何指定的策略,MinIO 将拒绝该用户发出的任何及所有操作的授权。例如,考虑一个具有以下键值分配的声明
policy="readwrite_data,read_analytics,read_logs"
指定的策略声明指示 MinIO 将名称匹配 readwrite_data、read_analytics 和 read_logs 的策略附加到经过身份验证的用户。
你可以使用 MINIO_IDENTITY_OPENID_CLAIM_NAME 环境变量设置自定义策略声明,或者使用 mc admin config set 来设置 identity_openid claim_name 设置。
有关将 MinIO 策略映射到 OIDC 管理的身份的更多信息,请参阅OpenID Connect 访问管理。
你可以使用 JWT 调试工具来解码返回的 JWT 令牌,并验证用户属性中是否包含指定的声明。有关 JWT 声明的更多信息,请参阅 RFC 7519: JWT Claim。有关配置用户声明的说明,请参考你首选的 OIDC 提供商的文档。
Active Directory / LDAP
MinIO 支持使用 Active Directory 或 LDAP (AD/LDAP) 服务进行用户身份的外部管理。配置外部身份提供者 (IDP) 可以启用单点登录 (SSO) 工作流,应用程序在访问 MinIO 之前会向外部 IDP 进行身份验证。
查询 Active Directory / LDAP 服务
MinIO 查询已配置的 Active Directory / LDAP 服务器,以验证应用程序指定的凭据,并可选地返回用户所属的组列表。这个过程称为“查找-绑定”模式,它使用一个具有最低权限的 AD/LDAP 用户,该权限仅足以向 AD/LDAP 服务器进行身份验证以进行用户和组的查找。
以下选项卡提供了启用“查找-绑定”模式所需的环境变量和配置设置的参考。
有关这些变量的更多信息,请参阅 Active Directory / LDAP 设置 参考文档。配置 MinIO 使用 Active Directory / LDAP 进行身份验证 教程包含了设置这些值的完整说明。
AD/LDAP 管理身份的访问控制
MinIO 使用基于策略的访问控制 (PBAC) 来定义经过身份验证的用户有权访问的操作和资源。当使用 Active Directory/LDAP 服务器进行身份管理(身份验证)时,MinIO 通过 PBAC 保持对访问(授权)的控制。
当用户成功使用其 AD/LDAP 凭据向 MinIO 进行身份验证时,MinIO 会搜索所有与该用户的可分辨名称 (DN) 明确关联的策略。具体来说,必须使用 mc idp ldap policy attach 命令将策略分配给具有匹配 DN 的用户。
MinIO 还支持查询用户的 AD/LDAP 组成员身份。MinIO 会尝试将现有策略与用户每个组的 DN 进行匹配。经过身份验证的用户的完整权限集由其明确分配的策略和从组继承的策略组成。更多信息请参阅组查找。
MinIO 使用默认拒绝行为,即没有明确分配或从组继承策略的用户无法访问 MinIO 部署上的任何资源。
MinIO 提供了用于基本访问控制的内置策略。你可以使用 mc admin policy create 命令创建新策略。
组查找
MinIO 支持查询 Active Directory / LDAP 服务器,以获取经过身份验证的用户所属的组列表。MinIO 会尝试将现有的策略与每个组的 DN 进行匹配,并将每个匹配的策略分配给经过身份验证的用户。
以下选项卡提供了启用组查找所需的环境变量和配置设置的参考
有关这些变量的更多信息,请参阅 Active Directory / LDAP 设置 参考文档。配置 MinIO 使用 Active Directory / LDAP 进行身份验证 教程包含了设置这些值的完整说明。
有关这些设置的更多信息,请参阅 identity_ldap 参考文档。配置 MinIO 使用 Active Directory / LDAP 进行身份验证 教程包含了设置这些变量的完整说明。