身份与访问管理
MinIO 要求客户端为每个新操作执行身份验证和授权。
- 认证
验证连接客户端身份的过程。 MinIO 要求客户端使用AWS Signature Version 4 protocol支持已弃用的签名版本 2 协议。 具体而言,客户端必须提供有效的访问密钥和密钥才能访问任何 S3 或 MinIO 管理 API,例如
PUT,GET和DELETE操作。- 授权
限制经过身份验证的客户端在部署上可以执行的操作和资源的过程。 MinIO 使用基于策略的访问控制(PBAC),其中每个策略描述一个或多个规则,这些规则概述了用户或用户组的权限。 MinIO 支持特定于 S3 的动作和条件在创建策略时。 默认情况下,MinIO否认访问用户分配或继承的策略中未明确引用的操作或资源。
身份管理
MinIO 支持内部和外部身份管理:
身份提供者 (IDP) |
描述 |
|---|---|
提供内置身份管理功能。 |
|
支持通过兼容 OpenID Connect (OIDC) 的服务管理身份。 |
|
支持使用 MinIO 身份认证插件扩展实现自定义外部身份管理器。 |
|
支持通过 Active Directory 或 LDAP 服务管理身份。 |
|
支持使用 MinIO 访问管理插件扩展实现自定义外部访问管理器。 |
一旦通过身份验证,MinIO会根据已验证身份是否具有相应权限来允许或拒绝客户端请求授权对指定资源执行操作。
访问管理
MinIO 使用基于策略的访问控制(PBAC)来定义经过身份验证的用户有权访问的操作和资源。每个策略描述一个或多个动作和条件概述权限的用户 or group的用户
MinIO 管理策略的创建和存储。将策略分配给用户或组的过程取决于配置的身份提供者 (IDP).
使用 MinIO 的部署MinIO Internal IDP需要明确地将用户与一个或多个策略关联起来mc admin policy attach命令。用户还可以继承附加到群组他们拥有成员资格的组织中。
默认情况下,MinIO否认访问附加或继承策略未明确允许的操作或资源。没有显式分配或继承策略的用户无法执行任何S3或MinIO管理API操作。
对于使用外部 IDP 的 MinIO 部署,策略分配取决于 IDP 的选择:
MinIO 检查 JSON Web Token (JWT) 声明 ( MinIO 不支持将 OIDC 用户身份分配给群组IDP管理员必须改为将所有必要的策略分配给用户的策略声明。 看外部托管身份访问控制如需 更多信息。 |
|
MinIO 会检查是否存在与已认证 AD/LDAP 用户的专有名称 (DN) 相匹配的策略。 MinIO 还支持查询经过身份验证的 AD/LDAP 用户的群组成员身份。MinIO 会将名称与每个返回群组的 DN 匹配的任何策略分配给该用户。 如果没有策略匹配用户 DNor用户的任何组专有名称, 该用户都无法对 MinIO 部署执行任何操作。 看外部托管身份访问控制如需更多信息。 |
MinIO PBAC 专为兼容 AWS IAM 策略语法、结构和行为而构建。MinIO 文档会尽力涵盖 IAM 特定的行为和功能。建议您参考IAM 文档有关 IAM、IAM 策略或 IAM JSON 语法的更完整文档。
Deny覆盖Allow
MinIO 遵循 AWS IAM 策略评估规则,其中Deny规则覆盖Allow同一操作/资源上的规则。例如,如果用户拥有一个明确分配的包含Allow操作/资源的规则
当其某个组具有已分配的策略时Deny该操作/资源的规则,MinIO 将仅应用Denyrule.
有关IAM策略评估逻辑的更多信息,请参阅IAM文档中的确定账户内请求是被允许还是被拒绝.