基本安全功能 Red Hat OpenShift Container Platform
IBM® Software Hub 基于 Red Hat® OpenShift® Container Platform 安全特性,通过强大的加密控制保护敏感客户数据,并在应用程序和平台范围内实施访问控制。
功能部件
Red Hat OpenShift Container Platform 通过添加多项功能,显著提升平台安全性,从而实现更优化的安全态势。
| 特性 | 了解更多 |
|---|---|
| 作为不可变的主机 Red HatCoreOS 操作系统使用。 | 参见文档 Red Hat OpenShift Container PlatformRed Hat Enterprise LinuxCoreOS 中的: |
| 启用 Security Enhanced Linux® (SELinux) 作为 的必填项 Red Hat OpenShift Container Platform。 | 参见文档 在集装箱上 Red Hat Enterprise Linux 加固 CoreOSRed Hat OpenShift Container Platform : |
| 通过符合 FIPS(联邦信息处理标准)的加密(第一级 FIPS 140-2),提供更强健的平台安全性。 | 请参阅文档 Red Hat OpenShift Container Platform 中关于FIPS加密的支持说明 : |
| 使用 Node Tuning Operator,这提供了在安全上下文约束 (SCC) 中进一步减少特权需求的机会。 | 请参阅文档 Red Hat OpenShift Container Platform 中的使用 Node Tuning Operator 说明 : |
| 提供合规操作员,该工具可执行合规性扫描并推荐补救策略,助您实现并维持合规状态。 合规操作员包含代表各种基准的配置文件,例如 CIS Benchmark 适用于 Red Hat OpenShift Container Platform 4的基准。 | 参见 Red Hat OpenShift Container Platform 文档中的 《理解合规性运算符 》: |
| 支持对存储在 etcd 中的数据进行加密,这为存储在 etcd 数据库中的私钥提供额外保护。 | 参见文档 Red Hat OpenShift Container Platform 中的加密 etcd 数据部分 : |
| 提供网络绑定磁盘加密 (NBDE) 功能部件,可用于自动远程启用 LUKS 加密卷,从而更好地防止针对主机存储器的物理窃取。 | 请参阅文档 Red Hat OpenShift Container Platform 中的网络绑定磁盘加密(NBDE) : |
服务帐户和角色
IBM Software Hub 在集群 OpenShift 上的专用命名空间或项目中运行。 在该项目 OpenShift 中, IBM Software Hub 为 pod 创建服务账户和 RBAC 角色绑定,供 pod 在该命名空间内使用。
- 角色
安装 IBM Software Hubcontrol plane 时,将创建两个角色:
cpd-admin-role和cpd-viewer-role。这些角色确保 IBM Software Hub 即使在同一命名空间内,也能应用最小权限原则。
您安装的服务会引入额外的角色。
与实例关联的角色作用域限定于该实例 IBM Software Hub 的操作对象项目及其任何关联项目。 这些角色未被授予集群权限。
- 服务帐户
每个 OpenShift 项目中自动创建的默认服务账户:
- 与
restricted-v2restricted安全上下文约束(SCC)相关联。 - 用于用户工作负载,例如笔记本和 Python 作业。
- 未授予任何基于角色的访问控制(RBAC)权限。 没有角色绑定到默认服务账户。
- 不允许在命名空间内执行任何类型的操作。
安装 IBM Software Hubcontrol plane 时,将创建四个服务账户:
zen-admin-sa,zen-editor-sa,zen-viewer-sa, 和zen-norbac-sa。这些服务账户未显式绑定任何安全配置文件(SCC),因此默认采用 或
restricted-v2安全restricted配置文件。您安装的服务会引入额外的服务账户。 这些服务账户大多使用
restricted或restricted-v2SCC。 然而,某些服务需要自定义的SCC,例如用于支持进程间通信(IPC)。 有关需要自定义SCC的服务的更多信息,请参阅《为服务创建自定义安全上下文约束》。与实例关联的服务账户作用域限定于该 IBM Software Hub 实例的操作项目及其任何关联项目。 服务账户未被授予集群权限。
- 与
服务UID
服务使用基于其安装 Red Hat OpenShift Container Platform 项目的UID。
创建项目时, Red Hat OpenShift 系统会为该项目分配一组唯一的UID范围。 要确定与某个项目关联的UID,请运行以下命令:
oc describe project project-name将 project-name 替换为安装 IBM Software Hub 了 的项目的名称。
此外,若服务使用自定义SCC,则会预留一个或多个UID:- Informix SCC保留UID
1000。 - 受限的 Db2 as
a service SCC保留UID
500。
有关哪些服务使用这些SCC的详细信息,请参阅 《为服务创建自定义安全上下文约束 》。
安全强化
安全强化措施已在 IBM Software Hub 上 Red Hat OpenShift实施。 将会采取下列安全强化措施:
- 通常情况下,只有非root进程在容器中运行。
根据集群的配置方式,依赖于 的服务 Db2U 可能具有
allowPrivilegedContainer: true设置,并以sudo权限运行。 若要使这些服务在 环境下运行,必须修改内核参数设置,allowPrivilegedContainer: false允许 Db2U 执行不安全的sysctl操作。 - 通常,容器使用的进程用户标识符(UID)位于项目 OpenShift 定义的范围内,并
restricted由安全上下文restricted-v2控制(SCC)强制执行,从而防止容器以root身份运行。需要固定UID的服务使用自定义SCC来预留所需的UID。 有关详细信息,请参阅《为服务创建自定义安全上下文约束》。
- 在运行时, IBM Software Hub 工作负载无需
cluster-admin特权或主机访问权限。 服务 IBM Software Hub 使用的安全隔离容器(SCCs)阻止工作负载访问集群中的主机路径和网络。重要提示: 根据集群的配置方式,依赖于 的服务 Db2U 可能需要临时访问集群中的主机路径。 具体来说init,容器将主机的/proc目录挂载为/host/proc。 容器init完成后,该 Db2U 容器不具备提升特权。 这仅在服务具有该allowPrivilegedContainer: true设置时发生。 - 严格执行具有基于角色的访问控制(RBAC)权限的服务账户使用,并遵循最小权限原则。 IBM Software Hub 确保任何运行用户代码(如脚本或分析环境)的容器均不被授予任何基于角色的访问控制(RBAC)权限。
- IBM Software Hub Pods 限制资源消耗。 每个容器都预先定义了对 CPU vCPU 和内存的请求与限制 这限制了消费。 这种方法有助于避免与繁忙的相邻 Pod 争用资源。
- IBM Software Hub Pod 包含活动检测和就绪检测,以确保 Pod 正常运行。
- 在消耗监控方面,集群中的每个Pod都 IBM Software Hub 带有计量注释,用于唯一标识集群中的附加服务工作负载。 您可以使用集成的监控接口来了解如何 IBM Software Hub 使用资源。 有关更多信息,请参阅 《平台监控》
- 通常情况下, IBM Software Hub 用户不会被授予 OpenShift 访问权限。
您可选择授予用户 IBM Software Hub 作为实例管理员访问集群的权限,以便该用户能够安装或升级与其实例 IBM Software Hub相关的软件。 实例管理员仅能访问与某个实例关联 IBM Software Hub的项目。
最佳安装实践
- 从客户端工作站运行安装程序
- 您可以通过以下命令行界面从客户端工作站安装和管理软件 IBM Software Hub :
- IBM Software Hub 命令行界面 (
cpd-cliCLI) - Red Hat
OpenShift Container Platform 命令行界面 (
ocCLI)
您无需通过SSH登录集群。
- IBM Software Hub 命令行界面 (
- 将软件镜像存储在私有容器注册表中
IBM Software Hub 软件映像可从. IBM Entitled Registry访问。 在大多数情况下,强烈建议您将必要的软件镜像从 镜像源复制到 IBM Entitled Registry 私有容器注册表。
在以下情况下,您必须将 IBM Software Hub 软件镜像镜像到您私有的容器注册表:- 您的集群处于空气隔离状态(也称为离线或断开连接的集群)。
- 您的集群使用白名单允许特定站点直接访问,而该白名单未包含 IBM Entitled Registry.
- 您的集群使用阻止列表来阻止特定网站的直接访问,该阻止列表包含 IBM Entitled Registry.
即使这些情况不适用于您的环境,如果您希望实现以下目标,仍应考虑使用私有容器注册表:- 在将软件映像安装到集群之前,请对其运行安全扫描
- 确保在多个部署环境(如开发环境、测试环境和生产环境)中使用相同的图像
- 在物理隔离的集群上 IBM Software Hub 安装
命令行 IBM Software Hub 界面(
cpd-cli)使您能够在集群和私有容器注册表处于物理隔离状态时安装软件 IBM Software Hub 。在将客户端工作站移至防火墙后方之前,可将镜像从 IBM Entitled Registry 镜像到客户端工作站上的中间容器注册表。 将镜像镜像到中间容器注册表后,您可以将中间容器注册表移至防火墙后方,以便将镜像镜像到私有容器注册表。 然后,您可以配置集群从私有容器注册表拉取软件 IBM Software Hub 镜像。 有关更多信息,请参阅 《从私有容器注册表准备运行 IBM Software Hub 安装程序 》。
- 操作员特权
- IBM Software Hub 采用操作员模式来管理工作负载,从而实现关注点的分离。 每个实例都有 IBM Software Hub 其专属的操作符,这些操作符安装在该实例的操作符项目中。 操作员被明确授予访问权限,可控制该实例下操作数项目及任何关联项目的负载 IBM Software Hub 。 操作员同样仅限于在与实例关联的项目集范围内操作,不得管理集群中的非IBM Software Hub 项目。
例外情况是用于, License Service, IBM Certificate manager和 scheduling service的运算符,它们是集群作用域运算符。
安装角色与角色描述了完成各类安装任务所需的最低权限。