中文文档

身份和访问管理

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

验证

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

授权

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

身份管理

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

IDentity Provider (IDP)

描述

MinIO Internal IDP

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

OpenID

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

MinIO Authentation Plugin

支持使用 MinIO Authentication Plugin 扩展来定制外部身份管理器。

Active Directory / LDAP

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

Access Management Plugin

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

一旦完成身份验证,MinIO 会根据认证身份是 否 被授权 执行对指定资源的操作来允许 或拒绝客户端请求。

访问管理

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

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

MinIO 部署使用 MinIO 内部 IDP 需要使用 mc admin policy attach 命令明确地将用户关联到 策略或多个策略。 用户还可以继承其所属的 用户组 关联的策略。

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

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

OpenID Connect (OIDC)

MinIO会检查JSON Web Token(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 documentation、 IAM策略或IAM JSON语法的更 完整文档。

Deny overrides Allow

MinIO遵循AWS IAM策略评估规则,其中一条 Deny 规则会覆盖 对同一操作/资源的 Allow 规则。 例如,如果一个 用户被明确分配了一个包含对某个操作/资源的 Allow 规则的策略, 而其所属的某个组被分配了一个包含对该操作/资源的 Deny 规则的策略, 那么MinIO将只应用 Deny 规则。

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

Join Slack 商业支持购买咨询