文档

OpenID 身份管理设置

本页记录了使用 OpenID Connect (OIDC) 兼容提供商启用外部身份管理的设置。有关使用这些设置的教程,请参阅OpenID Connect 访问管理

您可以通过定义以下方式来建立或修改设置:

  • 在启动或重新启动 MinIO 服务器之前,在主机系统上设置一个环境变量。有关如何定义环境变量的信息,请参阅您操作系统的文档。

  • 使用 mc admin config set 定义一个配置设置

如果您同时定义了环境变量和类似的配置设置,MinIO 将使用环境变量的值。

有些设置只有环境变量或配置设置,但不是两者都有。

重要

每个配置设置都控制着 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 兼容提供商的发现文档的 URL。

OIDC 发现 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 兼容提供商验证用户凭据时使用的唯一公共标识符。

客户端密钥

可选

MINIO_IDENTITY_OPENID_CLIENT_SECRET
identity_openid client_secret

指定 MinIO 在针对 OIDC 兼容提供商验证用户凭据时使用的客户端密钥。此字段可能为可选,具体取决于提供商。

在版本 RELEASE.2023-06-23T20-26-00Z 中更改: 当作为 mc admin config get 的一部分返回时,MinIO 会编辑此值。

角色策略

可选

此设置与 声明 名称 设置互斥。

MINIO_IDENTITY_OPENID_ROLE_POLICY
identity_openid role_policy

为提供商的所有身份验证请求,指定一个逗号分隔的策略名称列表,用于请求的 RoleArn。指定的策略必须已存在于 MinIO 服务器上。

要使用此 OIDC 配置,您必须在 STS 请求正文中指定相应的 RoleArn

声明名称

可选

此设置与 角色 策略 设置互斥。

MINIO_IDENTITY_OPENID_CLAIM_NAME
identity_openid claim_name

指定 MinIO 用来识别要附加到已验证用户的策略JWT 声明的名称。

该声明可以包含一个或多个要附加到用户的逗号分隔的策略名称。该声明必须包含*至少*一个策略,用户才能在 MinIO 服务器上拥有任何权限。

默认为 policy

声明前缀

可选

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

MINIO_IDENTITY_OPENID_CLAIM_PREFIX
identity_openid claim_prefix

指定要应用于指定声明名称的 JWT 声明命名空间前缀。

显示名称

可选

MINIO_IDENTITY_OPENID_DISPLAY_NAME
identity_openid display_name

指定 MinIO 控制台在登录屏幕上向用户显示的名称。

范围

可选

MINIO_IDENTITY_OPENID_SCOPES
identity_openid scopes

指定一个逗号分隔的范围列表。默认为发现文档中公布的那些范围。

重定向 URI

可选

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

MINIO_IDENTITY_OPENID_REDIRECT_URI
identity_openid redirect_uri

重要

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

MinIO 控制台默认使用发起身份验证请求的节点的主机名。对于位于负载均衡器或反向代理后面的 MinIO 部署,指定此字段可确保 OIDC 提供商将身份验证响应返回到正确的 MinIO 控制台 URL。包括控制台主机名、端口和 /oauth_callback

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

确保您使用 --console-address 选项启动 MinIO 服务器,以设置静态的控制台侦听端口。如果省略该选项,默认行为是在启动时选择一个随机端口号。

指定的 URI *必须* 与提供商上批准的重定向/回调 URI 之一匹配。有关更多信息,请参阅 OpenID 身份验证请求

动态 URI 重定向

可选

MINIO_IDENTITY_OPENID_REDIRECT_URI_DYNAMIC
identity_openid redirect_uri_dynamic

MinIO 控制台默认使用发起身份验证请求的节点的主机名作为提供给 OIDC 提供商的重定向 URI 的一部分。对于使用轮询协议的负载均衡器后面的 MinIO 部署,这可能导致负载均衡器将响应返回到与原始客户端不同的 MinIO 节点。

将此选项指定为 on,以指示 MinIO 控制台使用原始请求的 Host 标头来构建传递给 OIDC 提供商的重定向 URI。默认为 off

用户信息

可选

MINIO_IDENTITY_OPENID_CLAIM_USERINFO
identity_openid claim_userinfo

允许 MinIO 从已验证用户的 UserInfo Endpoint 获取声明。

有效值为 onoff

供应商

可选

MINIO_IDENTITY_OPENID_VENDOR
identity_openid vendor

指定 OIDC 供应商以启用该供应商的特定支持行为。

支持以下值:

  • keycloak

Keycloak Realm

可选

此设置要求将 OpenID 供应商 设置定义为 keycloak

MINIO_IDENTITY_OPENID_KEYCLOAK_REALM
identity_openid keycloak_realm

指定要用作 Keycloak Admin API 操作一部分的 Keycloak Realm,例如 main

Keycloak Admin URL

可选

此设置要求将 OpenID 供应商 设置定义为 keycloak

MINIO_IDENTITY_OPENID_KEYCLOAK_ADMIN_URL
identity_openid keycloak_admin_url

指定 Keycloak Admin API URL。如果配置为定期验证已验证的 Keycloak 用户是否为活动/存在,MinIO 可以使用此 URL。例如,https://keycloak-endpoint:port/admin/

Comment

可选

MINIO_IDENTITY_OPENID_COMMENT
identity_openid comment

指定要与 OIDC 兼容提供商配置关联的注释。

English 中文