文档

用户管理

概述

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 root 用户

MinIO 部署有一个 root 用户,该用户可以访问部署上的所有操作和资源,而无论配置的 身份管理器 是什么。 当 minio 服务器第一次启动时,它会通过检查以下环境变量的值来设置 root 用户凭据

旋转根用户凭据需要更新部署中所有 MinIO 服务器的一个或两个变量。 为根凭据指定长、唯一且随机的字符串。 在存储访问密钥和密钥时,应采取一切可能的预防措施,以确保只有需要对部署进行超级用户访问的已知和可信人员才能检索到 root 凭据。

  • MinIO强烈建议不要使用 root 用户进行常规客户端访问,无论环境(开发、暂存或生产)如何。

  • MinIO强烈建议创建用户,以便每个客户端都拥有执行其分配的工作负载所需的最小操作和资源集。

如果这些变量未设置,minio 将默认使用 minioadminminioadmin 作为访问密钥和密钥。 MinIO强烈建议无论部署环境如何,都不要使用默认凭据。

用户管理

创建用户

使用 mc admin user add 命令在 MinIO 部署中创建一个新用户

mc admin user add ALIAS ACCESSKEY SECRETKEY
  • ALIAS 替换为 MinIO 部署的 alias

  • ACCESSKEY 替换为用户的访问密钥。 MinIO 允许通过 mc admin user info 命令在用户创建后检索访问密钥。

  • SECRETKEY 替换为用户的密钥。 MinIO提供任何方法来检索已设置的密钥。

ACCESSKEYSECRETKEY 指定一个唯一、随机且长的字符串。 您的组织可能对生成用于访问密钥或密钥的值有特定的内部或监管要求。

创建用户后,使用 mc admin policy attachMinIO 基于策略的访问控制 与新用户关联。 以下命令分配了内置的 readwrite 策略

mc admin policy attach ALIAS readwrite --user=USERNAME

USERNAME 替换为上一步中创建的 ACCESSKEY

删除用户

使用 mc admin user rm 命令删除 MinIO 部署中的用户

mc admin user rm ALIAS USERNAME
  • ALIAS 替换为 MinIO 部署的 alias

  • USERNAME 替换为要删除的用户的名称。