10.3. 用户和访问权限管理
使用这些字段配置如何创建、验证和管理用户。这包括超级用户、帐户恢复、特定于应用程序的令牌、登录行为和 LDAP、OAuth 和 OIDC 等外部身份提供程序的设置。
10.3.1. 用户配置字段 复制链接链接已复制到粘贴板!
用户配置字段定义用户帐户在 Red Hat Quay 部署中的行为方式。这些字段允许对用户创建、访问级别、元数据跟踪、恢复选项和命名空间管理进行控制。您还可以强制实施限制,如仅邀请创建或超级用户权限,以匹配组织的管理和安全策略。
字段 | 类型 | 描述 |
---|---|---|
FEATURE_SUPER_USERS | 布尔值 |
是否支持超级用户 |
FEATURE_USER_CREATION | 布尔值 |
是否可以创建用户(非超级用户) |
FEATURE_USER_LAST_ACCESSED | 布尔值 |
是否记录用户被访问的时间 |
FEATURE_USER_LOG_ACCESS | 布尔值 |
如果设置为 true,用户有权访问其命名空间的审计日志 |
FEATURE_USER_METADATA | 布尔值 |
是否收集和支持用户元数据 |
FEATURE_USERNAME_CONFIRMATION | 布尔值 |
如果设置为 true,用户可以在通过 OpenID Connect (OIDC)或非数据库内部身份验证供应商(如 LDAP)登录时确认和修改其初始用户名。 |
FEATURE_USER_RENAME | 布尔值 |
如果设置为 true,用户可以重命名自己的命名空间 |
FEATURE_INVITE_ONLY_USER_CREATION | 布尔值 |
要创建的用户是否必须被其他用户邀请 |
FRESH_LOGIN_TIMEOUT | 字符串 |
新登录需要用户重新输入其密码的时间 |
USERFILES_LOCATION | 字符串 |
存储引擎的 ID,在其中放置用户上传的文件 |
USERFILES_PATH | 字符串 |
storage 下放置用户上传文件的路径 |
USER_RECOVERY_TOKEN_LIFETIME | 字符串 |
恢复用户帐户的令牌的时间长度为有效的 |
FEATURE_SUPERUSERS_FULL_ACCESS | 布尔值 | 授予超级用户从命名空间中其他存储库读取、写入和删除它们没有拥有或明确权限的权限。
Default: |
FEATURE_SUPERUSERS_ORG_CREATION_ONLY | 布尔值 | 是否只允许超级用户创建机构。
Default: |
FEATURE_SUPERUSER_CONFIGDUMP | 布尔值 |
启用正在运行的框架、环境和模式的完整配置转储进行验证。 |
FEATURE_RESTRICTED_USERS | 布尔值 |
当使用
Default: |
RESTRICTED_USERS_WHITELIST | 字符串 |
使用 |
GLOBAL_READONLY_SUPER_USERS | 字符串 |
设置后,授予此列表的用户对所有存储库的读取权限,无论它们是公共存储库。仅适用于通过 |
用户 YAML 示例
- 1
- 当设置了
RESTRICTED_USERS_WHITELIST
字段时,用户也可以从存储库创建机构,即使FEATURE_RESTRICTED_USERS
设置为True
。其他用户(如user2、
user3
和user4)
仅限于创建机构、读取或写入内容。
10.3.2. 机器人帐户配置字段 复制链接链接已复制到粘贴板!
以下配置字段允许全局禁止机器人帐户创建和交互。
其他资源
字段 | 类型 | 描述 |
---|---|---|
ROBOTS_DISALLOW | 布尔值 |
当设置为 |
机器人帐户不允许示例 YAML
# ... ROBOTS_DISALLOW: true # ...
# ...
ROBOTS_DISALLOW: true
# ...
10.3.3. LDAP 配置字段 复制链接链接已复制到粘贴板!
以下配置字段允许管理员将 Red Hat Quay 与基于 LDAP 的身份验证系统集成。当 AUTHENTICATION_TYPE
设置为 LDAP
时,Red Hat Quay 可以针对 LDAP 目录验证用户,并支持其他可选功能,如团队同步、超级用户访问控制、受限用户角色和安全连接参数。
本节提供了以下 LDAP 情境的 YAML 示例:
- 基本 LDAP 配置
- LDAP 受限用户配置
- LDAP 超级用户配置
字段 | 类型 | 描述 |
---|---|---|
AUTHENTICATION_TYPE | 字符串 |
必须设置为 |
FEATURE_TEAM_SYNCING | 布尔值 |
是否允许团队成员资格与身份验证引擎中的后备组同步(OIDC、LDAP 或 Keystone)。 |
FEATURE_NONSUPERUSER_TEAM_SYNCING_SETUP | 布尔值 |
如果启用,非超级用户可设置团队同步。 |
LDAP_ADMIN_DN | 字符串 | 用于 LDAP 身份验证的管理员 DN。 |
LDAP_ADMIN_PASSWD | 字符串 | LDAP 身份验证的管理员密码。 |
LDAP_ALLOW_INSECURE_FALLBACK | 布尔值 | 是否允许 SSL insecure fallback 进行 LDAP 身份验证。 |
LDAP_BASE_DN | String 数组 | LDAP 身份验证的基本 DN。 |
LDAP_EMAIL_ATTR | 字符串 | LDAP 身份验证的电子邮件属性。 |
LDAP_UID_ATTR | 字符串 | LDAP 身份验证的 uid 属性。 |
LDAP_URI | 字符串 | LDAP URI。 |
LDAP_USER_FILTER | 字符串 | 用于 LDAP 身份验证的用户过滤器。 |
LDAP_USER_RDN | String 数组 | 用于 LDAP 身份验证的用户 RDN。 |
LDAP_SECONDARY_USER_RDNS | String 数组 | 如果用户对象所在的多个机构单元,则提供二级用户相对 DN。 |
TEAM_RESYNC_STALE_TIME | 字符串 |
如果为团队启用了团队同步,需要检查其成员资格和重新同步。 |
LDAP_SUPERUSER_FILTER | 字符串 |
使用此字段,管理员可以添加或删除超级用户,而无需更新 Red Hat Quay 配置文件并重新启动其部署。
此字段要求将 |
LDAP_GLOBAL_READONLY_SUPERUSER_FILTER | 字符串 |
设置后,授予此列表的用户对所有存储库的读取权限,无论它们是公共存储库。仅适用于通过 |
LDAP_RESTRICTED_USER_FILTER | 字符串 |
此字段要求将 |
FEATURE_RESTRICTED_USERS | 布尔值 |
当设为
Default: |
LDAP_TIMEOUT | 整数 |
指定 LDAP 操作的时间限制(以秒为单位)。这限制了 LDAP 搜索、绑定或其他操作可以花费的时间。与 |
LDAP_NETWORK_TIMEOUT | 整数 |
指定与 LDAP 服务器建立连接的时间限制(以秒为单位)。这是 Red Hat Quay 在网络操作期间等待响应的最长时间,类似于 |
基本 LDAP 配置示例 YAML
LDAP 受限用户配置示例 YAML
LDAP 超级用户配置参考 YAML 示例
- 1
- 将指定的用户配置为超级用户。
10.3.4. OAuth 配置字段 复制链接链接已复制到粘贴板!
以下字段定义 Red Hat Quay 在使用 OAuth 通过外部身份提供程序进行身份验证时的行为。您可以配置全局 OAuth 选项,如令牌分配和白名单客户端 ID,以及 GitHub 和 Google 的特定于供应商的设置。
字段 | 类型 | 描述 |
---|---|---|
DIRECT_OAUTH_CLIENTID_WHITELIST | String 数组 | 允许在没有用户批准的情况下执行直接 OAuth 批准的 Quay 管理应用程序 的客户端 ID 列表。 |
FEATURE_ASSIGN_OAUTH_TOKEN | 布尔值 | 允许机构管理员将 OAuth 令牌分配给其他用户。 |
全局 OAuth 示例 YAML
其他资源
字段 | 类型 | 描述 |
---|---|---|
FEATURE_GITHUB_LOGIN | 布尔值 |
GitHub 登录是否被支持 |
GITHUB_LOGIN_CONFIG | 对象 | 将 GitHub(Enterprise)用作外部登录提供程序的配置。 |
.ALLOWED_ORGANIZATIONS | String 数组 | 将 GitHub(Enterprise)机构的名称列入白名单以与 ORG_RESTRICT 选项搭配使用。 |
.API_ENDPOINT | 字符串 |
要使用的 GitHub(Enterprise)API 的端点。必须覆盖 github.com |
.CLIENT_ID | 字符串 |
此 Red Hat Quay 实例的注册客户端 ID;无法与 |
.CLIENT_SECRET | 字符串 |
此 Red Hat Quay 实例的注册客户端 secret。 |
.GITHUB_ENDPOINT | 字符串 |
GitHub (Enterprise)的端点。 |
.ORG_RESTRICT | 布尔值 | 如果为 true,则只有机构白名单中的用户才可以使用此供应商登录。 |
GitHub OAth 示例 YAML
字段 | 类型 | 描述 |
---|---|---|
FEATURE_GOOGLE_LOGIN | 布尔值 |
是否支持 Google 登录。 |
GOOGLE_LOGIN_CONFIG | 对象 | 使用 Google 进行外部身份验证的配置。 |
.CLIENT_ID | 字符串 |
此 Red Hat Quay 实例的注册客户端 ID。 |
.CLIENT_SECRET | 字符串 |
此 Red Hat Quay 实例的注册客户端 secret。 |
Google OAuth 示例 YAML
10.3.5. OIDC 配置字段 复制链接链接已复制到粘贴板!
您可以配置 Red Hat Quay,以通过任何兼容 OpenID Connect (OIDC)的身份提供程序验证用户,包括 Azure Entra ID (以前称为 Azure AD)、Okta、Keycloak 等。这些字段定义 OIDC 登录流过程中使用的必要客户端凭证、端点和令牌行为。
字段 | 类型 | 描述 |
---|---|---|
<string>_LOGIN_CONFIG | 字符串 |
包含 OIDC 配置设置的父键。通常,OIDC 供应商的名称,如 |
.CLIENT_ID | 字符串 |
此 Red Hat Quay 实例的注册的客户端 ID。 |
.CLIENT_SECRET | 字符串 |
此 Red Hat Quay 实例注册的客户端 secret。 |
.LOGIN_BINDING_FIELD | 字符串 | 当内部授权设置为 LDAP 时使用。Red Hat Quay 读取此参数,并尝试使用此用户名为用户搜索 LDAP 树。如果存在,它会自动创建到该 LDAP 帐户的链接。 |
.LOGIN_SCOPES | 对象 | 添加 Red Hat Quay 用来与 OIDC 供应商通信的其他范围。 |
.OIDC_ENDPOINT_CUSTOM_PARAMS | 字符串 |
支持 OIDC 端点上的自定义查询参数。支持以下端点: |
.OIDC_ISSUER | 字符串 |
允许用户定义要验证的签发者。例如,JWT 令牌容器是一个称为 的参数,它定义谁发出了令牌。 |
.OIDC_SERVER | 字符串 |
用于身份验证的 OIDC 服务器地址。 |
.PREFERRED_USERNAME_CLAIM_NAME | 字符串 | 将首选用户名设置为令牌中的参数。 |
.SERVICE_ICON | 字符串 | 更改登录屏幕上的图标。 |
.SERVICE_NAME | 字符串 |
正在验证的服务名称。 |
.VERIFIED_EMAIL_CLAIM_NAME | 字符串 | 用于验证用户电子邮件地址的声明名称。 |
.PREFERRED_GROUP_CLAIM_NAME | 字符串 | OIDC 令牌有效负载中的密钥名称,其中包含有关用户组成员资格的信息。 |
.OIDC_DISABLE_USER_ENDPOINT | 布尔值 |
是否允许或禁用 |
OIDC 示例 YAML
10.3.6. Recaptcha 配置字段 复制链接链接已复制到粘贴板!
您可以在 Red Hat Quay 实例中启用 Recaptcha 支持,以帮助保护用户登录和帐户恢复表单被自动化系统滥用。
字段 | 类型 | 描述 |
---|---|---|
FEATURE_RECAPTCHA | 布尔值 |
用户登录和恢复是否需要 Recaptcha |
RECAPTCHA_SECRET_KEY | 字符串 | 如果启用了 recaptcha,则 Recaptcha 服务的 secret 键 |
RECAPTCHA_SITE_KEY | 字符串 | 如果启用了 recaptcha,则 Recaptcha 服务的 site 键 |
reCAPTCHA 示例 YAML
# ... FEATURE_RECAPTCHA: true RECAPTCHA_SITE_KEY: "<site_key>" RECAPTCHA_SECRET_KEY: "<secret_key>" # ...
# ...
FEATURE_RECAPTCHA: true
RECAPTCHA_SITE_KEY: "<site_key>"
RECAPTCHA_SECRET_KEY: "<secret_key>"
# ...
10.3.7. JWT 配置字段 复制链接链接已复制到粘贴板!
Red Hat Quay 可以配置为支持使用 JSON Web 令牌(JWT)进行外部身份验证。此集成允许第三方身份提供程序或令牌签发者通过调用处理令牌验证、用户查找和权限查询的特定端点来进行验证和授权用户。
字段 | 类型 | 描述 |
---|---|---|
JWT_AUTH_ISSUER | 字符串 |
JWT 用户的端点 |
JWT_GETUSER_ENDPOINT | 字符串 |
JWT 用户的端点 |
JWT_QUERY_ENDPOINT | 字符串 |
JWT 查询的端点 |
JWT_VERIFY_ENDPOINT | 字符串 |
JWT 验证的端点 |
JWT 示例 YAML
10.3.8. 应用令牌配置字段 复制链接链接已复制到粘贴板!
特定于应用的令牌允许用户使用基于令牌的凭证通过 Red Hat Quay 进行身份验证。这些字段对于 Docker 等 CLI 工具可能有用。
字段 | 类型 | 描述 |
---|---|---|
FEATURE_APP_SPECIFIC_TOKENS | 布尔值 |
如果启用,用户可以创建令牌以供 Docker CLI |
APP_SPECIFIC_TOKEN_EXPIRATION | 字符串 |
外部应用令牌的过期时间。 |
EXPIRED_APP_SPECIFIC_TOKEN_GC | 字符串 |
过期的外部应用程序令牌的持续时间将在垃圾回收前保留 |
应用程序令牌示例 YAML
# ... FEATURE_APP_SPECIFIC_TOKENS: true APP_SPECIFIC_TOKEN_EXPIRATION: "30d" EXPIRED_APP_SPECIFIC_TOKEN_GC: "1d" # ...
# ...
FEATURE_APP_SPECIFIC_TOKENS: true
APP_SPECIFIC_TOKEN_EXPIRATION: "30d"
EXPIRED_APP_SPECIFIC_TOKEN_GC: "1d"
# ...