第 31 章 通过策略保护构建


31.1. 概述

OpenShift Container Platform 中的构建在有权访问 Docker 守护进程套接字的特权容器中运行。作为一种安全措施,建议限制可以运行构建的人员以及用于这些构建的策略。自定义构建 本质上不如 Source 构建安全,因为他们可以在构建中执行任何代码,并有可能对节点的 Docker 套接字具有完全访问权限,因此默认禁用。另外,还应谨慎授予 Docker 构建 权限,因为 Docker 构建逻辑中的漏洞可能会导致在主机节点上授予特权。

警告

在 Docker 和自定义构建过程中,Docker 守护进程执行的操作是特权的,并在主机网络命名空间中发生。这样的操作会绕过配置的联网规则,包括 EgressNetworkPolicy 对象和静态出口 IP 地址定义的规则。

默认情况下,所有能够创建构建的用户都被授予相应的权限,可以使用 Docker 和 Source-to-Image 构建策略。具有 cluster-admin 特权的用户可以启用 Custom 构建策略,如 将构建策略限制在本页的 User Globally 部分中所述。

您可以使用 授权策略 控制谁可以使用哪个构建策略进行构建。每个构建策略都有一个对应的构建子资源。用户必须具有创建构建的权限以及创建构建策略子资源的权限,才能使用该策略创建构建。提供的默认角色用于授予构建策略子资源的 create 权限。

表 31.1. 构建策略子资源和角色
策略子资源角色

Docker

builds/docker

system:build-strategy-docker

Source-to-Image

builds/source

system:build-strategy-source

Custom

builds/custom

system:build-strategy-custom

JenkinsPipeline

builds/jenkinspipeline

system:build-strategy-jenkinspipeline

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.