用户管理
概述
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
用户,无论配置的 身份管理器 如何,该用户都可以访问部署上的所有操作和资源。当 minio
服务器首次启动时,它会通过检查以下环境变量的值来设置 root
用户凭据
旋转根用户凭据需要为部署中的所有 MinIO 服务器更新一个或两个变量。为根凭据指定长、唯一且随机的字符串。在存储访问密钥和密钥时,应采取一切可能的预防措施,以确保只有需要对部署进行超级用户访问的已知和受信任的个人才能检索到 root
凭据。
MinIO强烈建议不要将
root
用户用于常规客户端访问,无论环境如何(开发、登台或生产)。MinIO强烈建议创建用户,以便每个客户端都只能访问执行其分配工作负载所需的最小操作和资源集。
如果未设置这些变量,minio
将默认使用 minioadmin
和 minioadmin
作为访问密钥和密钥。MinIO强烈建议无论部署环境如何,都不要使用默认凭据。
旧根用户环境变量的弃用
MinIO RELEASE.2021-04-22T15-44-28Z 及更高版本弃用了以下用于设置或更新根用户凭据的变量
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
将 USERNAME
替换为在先前步骤中创建的 ACCESSKEY
。
删除用户
使用 mc admin user rm
命令从 MinIO 部署中删除用户
mc admin user rm ALIAS USERNAME