外部身份管理
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 令牌声明 来识别要分配给已认证用户的策略。
默认情况下,MinIO 会查找policy
声明并读取要分配的一个或多个策略的列表。MinIO 会尝试将现有策略与 JWT 声明中指定的策略匹配。如果 MinIO 部署中不存在任何指定的策略,则 MinIO 会拒绝该用户发出的任何和所有操作的授权。例如,考虑一个具有以下键值赋值的声明
policy="readwrite_data,read_analytics,read_logs"
指定的策略声明指示 MinIO 将名称与readwrite_data
、read_analytics
和read_logs
匹配的策略附加到已认证的用户。
有关将 MinIO 策略映射到 OIDC 管理的身份的更多信息,请参阅OpenID Connect 访问管理。
您可以使用JWT 调试工具 解码返回的 JWT 令牌并验证用户属性是否包含指定的声明。有关 JWT 声明的更多信息,请参阅RFC 7519:JWT 声明。有关配置用户声明的说明,请参阅您首选的 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 服务器进行用户和组查找身份验证。
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 匹配,并将每个匹配的策略分配给已认证的用户。
MinIO Operator 控制台提供了必要的字段,用于在为新的或现有的 MinIO 租户配置 AD/LDAP 身份管理时配置组查找。