本词汇表定义了 OpenShift Container Platform 身份验证和授权中使用的常用术语。
身份验证确定对 OpenShift Container Platform 集群的访问权限,并确保只有经过身份验证的用户才能访问 OpenShift Container Platform 集群。
授权确定已识别的用户是否具有执行请求操作的权限。
Bearer 令牌用于使用标头 `Authorization: Bearer
云凭据运算符 (CCO) 将云提供商凭据管理为自定义资源定义 (CRD)。
配置映射提供了一种将配置数据注入 Pod 的方法。可以在类型为 `ConfigMap` 的卷中引用存储在配置映射中的数据。在 Pod 中运行的应用程序可以使用此数据。
轻量级且可执行的镜像,包含软件及其所有依赖项。由于容器虚拟化了操作系统,因此可以在数据中心、公共或私有云或本地主机上运行容器。
CR 是 Kubernetes API 的扩展。
组是一组用户。组对于一次性向多个用户授予权限很有用。
HTPasswd 更新存储用户名和密码以进行 HTTP 用户身份验证的文件。
Keystone 是一个 Red Hat OpenStack Platform (RHOSP) 项目,它提供身份、令牌、目录和策略服务。
LDAP 是一个查询用户信息的协议。
在手动模式下,用户管理云凭据,而不是云凭据运算符 (CCO)。
Mint 模式是云凭据运算符 (CCO) 在其支持的平台上使用的默认设置和推荐的最佳实践设置。在此模式下,CCO 使用提供的管理员级云凭据为集群中的组件创建新的凭据,这些凭据仅具有所需的特定的权限。
命名空间隔离对所有进程可见的特定系统资源。在一个命名空间内,只有属于该命名空间的进程才能看到这些资源。
节点是 OpenShift Container Platform 集群中的工作机器。节点可以是虚拟机 (VM) 或物理机。
OAuth 客户端用于获取 Bearer 令牌。
OpenShift Container Platform 控制平面包含一个内置的 OAuth 服务器,它根据配置的身份提供程序确定用户的身份并创建访问令牌。
OpenID Connect 是一种协议,用于对用户进行身份验证,以便使用单点登录 (SSO) 访问使用 OpenID 提供程序的站点。
在直通模式下,云凭证操作符 (CCO) 将提供的云凭证传递给请求云凭证的组件。
Pod 是 Kubernetes 中最小的逻辑单元。一个 Pod 包含一个或多个在工作节点上运行的容器。
在第一次登录或通过 API 自动在集群中创建的用户。
请求头是 HTTP 头,用于提供有关 HTTP 请求上下文的信息,以便服务器可以跟踪请求的响应。
一种关键的安全控制措施,可确保集群用户和工作负载只能访问执行其角色所需资源。
服务账户由集群组件或应用程序使用。
在安装集群时自动创建的用户。
用户是可以向 API 发出请求的实体。
要控制对 OpenShift Container Platform 集群的访问,集群管理员可以配置用户身份验证,并确保只有已批准的用户才能访问集群。
要与 OpenShift Container Platform 集群交互,用户必须首先以某种方式向 OpenShift Container Platform API 进行身份验证。您可以通过在对 OpenShift Container Platform API 的请求中提供OAuth 访问令牌或 X.509 客户端证书 来进行身份验证。
如果您没有提供有效的访问令牌或证书,您的请求将未经身份验证,您将收到 HTTP 401 错误。 |
管理员可以通过以下任务配置身份验证:
配置身份提供程序:您可以定义任何OpenShift Container Platform 中受支持的身份提供程序 并将其添加到您的集群。
配置内部 OAuth 服务器:OpenShift Container Platform 控制平面包含一个内置的 OAuth 服务器,该服务器根据配置的身份提供程序确定用户的身份并创建访问令牌。您可以配置令牌持续时间和非活动超时,并自定义内部 OAuth 服务器 URL。
用户可以查看和管理他们拥有的 OAuth 令牌。 |
注册 OAuth 客户端:OpenShift Container Platform 包含多个默认 OAuth 客户端。您可以注册和配置其他 OAuth 客户端。
当用户发送 OAuth 令牌请求时,他们必须指定接收和使用该令牌的默认或自定义 OAuth 客户端。 |
使用云凭证操作符管理云提供商凭证:集群组件使用云提供商凭证来获取执行集群相关任务所需的权限。
模拟系统管理员用户:您可以通过模拟系统管理员用户来授予用户集群管理员权限。
授权涉及确定已识别的用户是否具有执行请求的操作的权限。
管理员可以使用RBAC 对象(例如规则、角色和绑定)来定义权限并将其分配给用户。要了解 OpenShift Container Platform 中授权的工作原理,请参阅评估授权。
您还可以通过项目和命名空间来控制对 OpenShift Container Platform 集群的访问。
除了控制用户对集群的访问外,您还可以使用安全上下文约束 (SCC)来控制 Pod 可以执行的操作以及它可以访问的资源。
您可以通过以下任务管理 OpenShift Container Platform 的授权:
创建一个本地角色并将其分配给用户或组。
创建一个集群角色并将其分配给用户或组:OpenShift Container Platform 包含一组默认集群角色。您可以创建其他集群角色并将其添加到用户或组。
创建集群管理员用户:默认情况下,您的集群只有一个名为kubeadmin
的集群管理员。您可以创建另一个集群管理员。在创建集群管理员之前,请确保您已配置身份提供程序。
创建集群管理员用户后,删除现有的 kubeadmin 用户以提高集群安全性。 |
创建服务账户:服务账户提供了一种灵活的方法来控制 API 访问,而无需共享普通用户的凭证。用户可以在应用程序中创建和使用服务账户,也可以将其用作OAuth 客户端。
令牌范围:作用域令牌是标识为特定用户且只能执行特定操作的令牌。您可以创建作用域令牌以将部分权限委派给其他用户或服务账户。
同步 LDAP 组:您可以通过将存储在 LDAP 服务器中的组与 OpenShift Container Platform 用户组同步来在一个位置管理用户组。