用户管理
概述
MinIO 用户由唯一的访问密钥(用户名)和相应的密钥(密码)组成。客户端必须通过指定有效的访问密钥(用户名)和现有 MinIO 用户的相应密钥(密码)来验证其身份。
每个用户可以拥有一个或多个分配的 策略,这些策略明确列出了该用户可以访问的操作和资源。用户也可以从其所属的 组 继承策略。
默认情况下,MinIO 拒绝访问用户分配或继承的 策略 未明确允许的所有操作或资源。您必须明确分配描述用户授权操作和资源的 策略,或 将用户分配到具有关联策略的 组。有关更多信息,请参见 访问管理。
此页面记录了 MinIO 内部身份提供商 (IDP) 的用户管理。MinIO 还支持使用 OpenID Connect (OIDC) 或 Active Directory/LDAP 身份提供商 (IDP) 来外部管理身份。有关更多信息,请参见
启用外部身份管理会禁用 MinIO 内部 IDP,但创建 访问密钥 除外。
访问密钥
MinIO 访问密钥(以前称为“服务帐户”)是经过身份验证的 MinIO 用户的子身份,包括 外部管理的身份。每个访问密钥都根据与其父用户关联的 策略 或 父用户所属的组继承其权限。访问密钥还支持可选的内联策略,该策略进一步限制对父用户可用的操作和资源的访问权限。
MinIO 用户可以生成任意数量的访问密钥。这允许应用程序所有者为其应用程序生成任意访问密钥,而无需 MinIO 管理员采取任何操作。由于生成的访问密钥具有与父用户相同的或更少的权限,因此管理员可以专注于管理顶层父用户,而无需微管理生成的访问密钥。
您可以使用 MinIO 控制台 或 使用 mc admin user svcacct add
命令来创建访问密钥。通过这些方法创建的身份不会过期,直到您删除访问密钥或父帐户。
您还可以使用 安全令牌服务 帐户以编程方式通过 AssumeRole
STS API 端点创建帐户。STS 令牌默认情况下在 1 小时内过期,但您可以将过期时间设置为创建后最多 7 天。
访问密钥用于编程访问
访问密钥支持应用程序的编程访问。您不能使用访问密钥登录 MinIO 控制台。
MinIO root
用户
MinIO 部署具有一个 root
用户,该用户对部署上的所有操作和资源具有访问权限,无论配置的 身份管理器 如何。
旋转 root 用户凭据需要更新部署中所有 MinIO 服务器的一个或两个变量。为 root 凭据指定长、唯一且随机的字符串。在存储访问密钥和密钥时应采取一切可能的预防措施,以确保只有需要对部署进行超级用户访问的已知和可信人员才能检索到root
凭据。
无论环境如何(开发、暂存或生产),MinIO强烈建议不要将
root
用户用于常规客户端访问。MinIO强烈建议创建用户,使每个客户端仅具有执行其分配工作负载所需的最小操作集和资源。
如果这些变量未设置,minio
默认使用minioadmin
和minioadmin
作为访问密钥和密钥。无论部署环境如何,MinIO强烈建议不要使用默认凭据。
弃用传统 Root 用户环境变量
MinIO RELEASE.2021-04-22T15-44-28Z及更高版本弃用以下用于设置或更新 root 用户凭据的变量
MINIO_ACCESS_KEY
为新的访问密钥。MINIO_SECRET_KEY
为新的密钥。MINIO_ACCESS_KEY_OLD
为旧的访问密钥。MINIO_SECRET_KEY_OLD
为旧的密钥。
用户管理
创建用户
使用mc admin user add
命令在 MinIO 部署中创建新用户
mc admin user add ALIAS ACCESSKEY SECRETKEY
用用户的访问密钥替换
ACCESSKEY
。MinIO 允许通过mc admin user info
命令在用户创建后检索访问密钥。用用户的密钥替换
SECRETKEY
。MinIO不提供任何方法来在设置后检索密钥。
为ACCESSKEY
和SECRETKEY
指定一个唯一、随机且长的字符串。您的组织可能对使用访问密钥或密钥生成的值有特定的内部或监管要求。
创建用户后,使用mc admin policy attach
将MinIO 基于策略的访问控制与新用户关联。以下命令分配内置的readwrite
策略
mc admin policy attach ALIAS readwrite --user=USERNAME
用上一步创建的ACCESSKEY
替换USERNAME
。
删除用户
使用mc admin user rm
命令删除 MinIO 部署中的用户
mc admin user rm ALIAS USERNAME