文档

OpenID 身份管理设置

本页面记录了如何使用与 OpenID Connect (OIDC) 兼容的提供方来启用外部身份管理的相关设置。 有关如何使用这些设置的教程,请参见 OpenID Connect 访问管理

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。

  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

Important

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

示例

MINIO_IDENTITY_OPENID_CONFIG_URL="https://openid-provider.example.net/.well-known/openid-configuration"
identity_openid

使用 mc admin config set 设置或更新 OpenID 配置。 config_url 参数为*必需*。 其他可选参数请以空白字符(" ")分隔的列表形式指定。

mc admin config set identity_openid                                               \
  config_url="https://openid-provider.example.net/.well-known/openid-configuration" \
  [ARGUMENT="VALUE"] ...

设置

配置 URL

必需

MINIO_IDENTITY_OPENID_CONFIG_URL
identity_openid config_url

指定与 OIDC 兼容的 provider 的 discovery document URL。

OIDC Discovery URL 通常类似于:

https://openid-provider.example.net/.well-known/openid-configuration

启用

可选

此设置没有环境变量选项。 请改用配置项。

identity_openid enabled

设置为 false 可禁用 OpenID 配置。

如果设置为 false,应用程序将无法使用已配置的提供方生成 STS 凭证或通过其他方式向 MinIO 认证。

默认值为 ``true``(即“启用”)。

客户端 ID

可选

MINIO_IDENTITY_OPENID_CLIENT_ID
identity_openid client_id

指定 MinIO 在使用与 OIDC 兼容的 provider 验证用户凭证时 所使用的唯一公开标识符。

客户端密钥

可选

MINIO_IDENTITY_OPENID_CLIENT_SECRET
identity_openid client_secret

指定 MinIO 在使用与 OIDC 兼容的 provider 验证用户凭证时 所使用的 client secret。根据 provider 的不同,此字段可能是可选的。

Changed in version RELEASE.2023-06-23T20-26-00Z: 当通过 mc admin config get 返回此值时,MinIO 会将其脱敏。

角色策略

可选

此设置与 Claim Name 设置互斥。

MINIO_IDENTITY_OPENID_ROLE_POLICY
identity_openid role_policy

指定逗号分隔的 策略名称 列表,用于该 provider 的所有认证请求 中的 RoleArn。指定的一个或多个策略必须已经存在于 MinIO Server 上。

要使用此 OIDC 配置,你必须在 STS 请求体中指定对应的 RoleArn

声明名称

可选

此设置与 Role Policy 设置互斥。

MINIO_IDENTITY_OPENID_CLAIM_NAME
identity_openid claim_name

指定 JWT Claim 的名称,MinIO 使用该 Claim 来识别应附加到已认证用户上的 策略

该 Claim 可以包含一个或多个逗号分隔的策略名称,以附加给用户。该 Claim 至少 必须包含一个策略,否则该用户在 MinIO server 上将没有任何权限。

默认值为 policy

声明前缀

可选

此设置已弃用,并已在 RELEASE.2024-07-13T01-46-15Z 起移除。 请改用 MINIO_IDENTITY_OPENID_CLAIM_NAME

MINIO_IDENTITY_OPENID_CLAIM_PREFIX
identity_openid claim_prefix

指定应用到所给 Claim 名称上的 JWT Claim 命名空间前缀。

显示名称

可选

MINIO_IDENTITY_OPENID_DISPLAY_NAME
identity_openid display_name

指定 MinIO Console 在登录页面上显示给用户的名称。

作用域

可选

MINIO_IDENTITY_OPENID_SCOPES
identity_openid scopes

指定逗号分隔的 scopes 列表。 默认使用 discovery document 中公布的 scopes。

重定向 URI

可选

此设置已弃用,并已在 RELEASE.2024-07-13T01-46-15Z 起移除。 请改用 MINIO_BROWSER_REDIRECT_URL

MINIO_IDENTITY_OPENID_REDIRECT_URI
identity_openid redirect_uri

Important

该参数已在 RELEASE.2023-02-27T18-10-45Z 中移除。 请改用 MINIO_BROWSER_REDIRECT_URL 环境变量

MinIO Console 默认使用发起认证请求的节点主机名。 对于位于负载均衡器或反向代理之后的 MinIO 部署,请指定该字段,以确保 OIDC provider 将认证响应返回到正确的 MinIO Console URL。 其中应包含 Console 主机名、端口以及 /oauth_callback

http://minio.example.net:consoleport/oauth_callback

请确保在启动 MinIO Server 时使用 --console-address 选项,以设置固定的 Console 监听端口。 如果省略该选项,默认行为是在启动时随机选择端口号。

指定的 URI 必须 与 provider 上批准的某个 redirect / callback URI 匹配。 更多信息请参见 OpenID Authentication Request

动态 URI 重定向

可选

MINIO_IDENTITY_OPENID_REDIRECT_URI_DYNAMIC
identity_openid redirect_uri_dynamic

MinIO Console 默认会将发起认证请求的节点主机名作为重定向 URI 的一部分, 并将其提供给 OIDC provider。 对于位于使用轮询协议的负载均衡器之后的 MinIO 部署,这可能导致负载均衡器将响应 返回给与原始客户端不同的 MinIO 节点。

将此选项指定为 on,可让 MinIO Console 使用原始请求中的 Host 头来构造 传递给 OIDC provider 的重定向 URI。 默认值为 off

用户信息

可选

MINIO_IDENTITY_OPENID_CLAIM_USERINFO
identity_openid claim_userinfo

允许 MinIO 从已认证用户的 UserInfo Endpoint 获取 claims。

有效值为 onoff

提供方

可选

MINIO_IDENTITY_OPENID_VENDOR
identity_openid vendor

指定 OIDC Vendor,以启用该 vendor 的特定受支持行为。

支持以下值:

  • keycloak

Keycloak Realm

可选

此设置要求将 OpenID Vendor 设置定义为 keycloak

MINIO_IDENTITY_OPENID_KEYCLOAK_REALM
identity_openid keycloak_realm

指定用于 Keycloak Admin API 操作的 Keycloak Realm,例如 main

Keycloak 管理 URL

可选

此设置要求将 OpenID Vendor 设置定义为 keycloak

MINIO_IDENTITY_OPENID_KEYCLOAK_ADMIN_URL
identity_openid keycloak_admin_url

指定 Keycloak Admin API URL。 如果配置为定期校验已认证的 Keycloak 用户是否处于激活 / 存在状态,MinIO 可以 使用该 URL。 例如,https://keycloak-endpoint:port/admin/

注释

可选

MINIO_IDENTITY_OPENID_COMMENT
identity_openid comment

指定要附加到与 OIDC 兼容 provider 配置上的注释。