文档

身份和访问管理

MinIO 要求客户端对每个新操作执行身份验证和授权。

身份验证

验证连接客户端身份的过程。MinIO 要求客户端使用 AWS 签名版本 4 协议 进行身份验证,并支持已弃用的签名版本 2 协议。具体来说,客户端必须提供有效的访问密钥和密钥,才能访问任何 S3 或 MinIO 管理 API,例如 PUTGETDELETE 操作。

授权

限制已验证的客户端可以在部署上执行的操作和资源的过程。MinIO 使用基于策略的访问控制 (PBAC),每个策略描述一个或多个规则,这些规则概述了用户或用户组的权限。在创建策略时,MinIO 支持 S3 特定的 操作条件。默认情况下,MinIO 拒绝对用户分配的或继承的策略中未明确引用的操作或资源的访问。

身份管理

MinIO 支持内部和外部身份管理

身份提供者 (IDP)

描述

MinIO 内部 IDP

提供内置的身份管理功能。

OpenID

支持通过 OpenID Connect (OIDC) 兼容服务管理身份。

MinIO 身份验证插件

支持使用 MinIO 身份验证插件扩展使用自定义外部身份管理器。

Active Directory / LDAP

支持通过 Active Directory 或 LDAP 服务管理身份。

访问管理插件

支持使用 MinIO 访问管理插件扩展的自定义外部访问管理器。

身份验证后,MinIO 会根据已验证的身份是否授权在指定资源上执行操作,来允许或拒绝客户端请求。

访问管理

MinIO 使用基于策略的访问控制 (PBAC) 来定义已验证用户可以访问的授权操作和资源。每个策略描述一个或多个 操作条件,这些操作和条件概述了 用户 用户的权限。

MinIO 管理策略的创建和存储。将策略分配给用户或组的过程取决于配置的 身份提供者 (IDP)

使用 MinIO 内部 IDP 的 MinIO 部署需要使用 mc admin policy attach 命令将用户显式地与策略或策略关联。用户还可以继承分配给其所属的 的策略。

默认情况下,MinIO 会拒绝对未经附带或继承的策略明确允许的操作或资源的访问。没有显式分配或继承策略的用户无法执行任何 S3 或 MinIO 管理 API 操作。

对于使用外部 IDP 的 MinIO 部署,策略分配取决于 IDP 的选择。

OpenID Connect (OIDC)

MinIO 检查包含要分配给已验证用户的策略名称的 JSON Web 令牌 (JWT) 声明(默认情况下为 policy)。如果策略不存在,则用户无法对 MinIO 部署执行任何操作。

MinIO 不支持将 OIDC 用户身份分配给 。相反,IDP 管理员必须将所有必要的策略分配给用户的策略声明。

有关更多信息,请参阅 外部管理身份的访问控制

Active Directory/LDAP (AD/LDAP)

MinIO 检查名称与已验证的 AD/LDAP 用户的已区分名称 (DN) 相匹配的策略。

MinIO 还支持查询已验证的 AD/LDAP 用户的组成员资格。MinIO 会分配名称与每个返回组的 DN 相匹配的任何策略。

如果没有任何策略与用户 DN任何用户的组 DN 匹配,则用户无法对 MinIO 部署执行任何操作。

有关更多信息,请参阅 外部管理身份的访问控制

MinIO PBAC 旨在与 AWS IAM 策略语法、结构和行为兼容。MinIO 文档尽力涵盖 IAM 特定的行为和功能。请考虑参考 IAM 文档 以获取有关 IAM、IAM 策略或 IAM JSON 语法的更完整文档。

Deny 覆盖 Allow

MinIO 遵循 AWS IAM 策略评估规则,其中 Deny 规则会覆盖同一操作/资源上的 Allow 规则。例如,如果用户具有明确分配的策略,其中包含针对操作/资源的 Allow 规则,而其某个组具有分配的策略,其中包含针对该操作/资源的 Deny 规则,则 MinIO 将仅应用 Deny 规则。

有关 IAM 策略评估逻辑的更多信息,请参阅 IAM 文档中的 确定帐户中请求是否允许或拒绝