Menu Close

Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

第 31 章 通过策略保护构建

31.1. 概述

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

警告

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

默认情况下,所有能够创建构建的用户被授予使用 Docker 和 Source-to-Image 构建策略的权限。具有 cluster-admin 特权的用户可以启用 Custom 构建策略,如本页面的 Restricting Build 策略到 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