第 2 章 与 CI 系统集成
Red Hat Advanced Cluster Security for Kubernetes (RHACS)与各种持续集成(CI)产品集成,并在部署镜像前应用构建和部署时间安全规则。
在构建并推送到 registry 后,Red Hat Advanced Cluster Security for Kubernetes 集成到 CI 管道中。先推送镜像可让开发人员继续测试其工件,同时处理任何策略违反情况以及任何其他 CI 测试失败、中断违规或其他问题。
如果可能,您应该将版本控制系统配置为在构建阶段(包括 Red Hat Advanced Cluster Security for Kubernetes 检查)时阻止拉取或合并请求。
通过联系您的 Red Hat Advanced Cluster Security for Kubernetes 安装,检查镜像是否满足您配置的 build-phase 策略,从而与您的 CI 产品功能集成。如果策略违反情况,会在控制台日志中显示详细的信息,包括策略描述、rationale 和 remediation 指令。每个策略都包括一个可选的强制设置 ; 如果您为构建阶段执行标记策略,则这个策略失败会导致客户端以非零错误代码退出。
要将 Red Hat Advanced Cluster Security for Kubernetes 与 CI 系统集成,请按照以下步骤操作:
2.1. 配置构建策略 复制链接链接已复制到粘贴板!
要在构建期间检查 Red Hat Advanced Cluster Security for Kubernetes 策略,您必须首先配置应用到容器生命周期的构建阶段的策略。然后,您必须与镜像在构建期间推送到的 registry 集成。
2.1.1. 检查现有的 build-phase 策略 复制链接链接已复制到粘贴板!
使用 RHACS 门户检查您在 Red Hat Advanced Cluster Security for Kubernetes 中配置的现有构建阶段策略。
流程
-
在 RHACS 门户网站中,导航到 Platform Configuration
Policies。 -
使用全局搜索搜索
Lifecycle Stage:Build
。
2.1.2. 创建新系统策略 复制链接链接已复制到粘贴板!
除了使用默认策略外,您还可以在 Red Hat Advanced Cluster Security for Kubernetes 中创建自定义策略。
流程
-
在 RHACS 门户网站中,导航到 Platform Configuration
Policies。 - 单击 + New Policy。
- 输入策略的 Name。
- 选择策略的严重性级别:Critical, High, Medium, 或 Low。
选择要应用的 Lifecycle Stages,从 Build、Deploy 或 Runtime。您可以选择多个阶段。
注意如果您创建一个新策略来与 CI 系统集成,请选择 Build 作为生命周期阶段。
- 构建策略适用于镜像字段,如 CVE 和 Dockerfile 指令。
- 部署时策略可包括所有构建时策略标准。它们也可以包含来自集群配置的数据,如以特权模式运行或挂载 Docker 守护进程套接字。
- 运行时策略可包括所有构建时间和部署时间策略标准,以及运行时期间进程执行的数据。
- 在 Description、Rationale 和 Remediation 字段中输入有关策略的信息。当 CI 验证构建时,会显示来自这些字段的数据。因此,包括解释该策略的所有信息。
- 从 Categories 下拉菜单中选择一个类别。
从 Notifications 下拉菜单中选择通知程序,该通知在违反此策略时接收警报通知。
注意您必须将 Red Hat Advanced Cluster Security for Kubernetes 与通知提供程序(如 webhook、JIRA 或 PagerDuty)集成以接收警报通知。只有您已将任何通知供应商与 Red Hat Advanced Cluster Security for Kubernetes 集成时,才会显示通知程序。
- 使用 Restrict to Scope 只在特定集群、命名空间或标签上启用此策略。您可以添加多个范围,并在 RE2 语法中使用正则表达式进行命名空间和标签。
- 使用范围 排除范围 来排除部署、集群、命名空间和标签。此字段表示策略不适用于您指定的实体。您可以添加多个范围,并在 RE2 语法中使用正则表达式进行命名空间和标签。但是,您无法使用正则表达式来选择部署。
对于 Excluded Images (Build Lifecycle),请从不想触发策略的违反列表中选择所有镜像。
注意Excluded Images (Build Lifecycle only) 设置仅适用于您在持续集成系统中检查镜像(构建生命周期阶段)。如果您使用此策略来检查正在运行的部署( Deploy 生命周期阶段)或运行时活动( Runtime 生命周期阶段),则它不会生效。
- 在 Policy Criteria 部分中,配置将触发该策略的属性。
- 在面板标题上选择" 下一步"。
- 新的策略面板显示在启用策略时触发的违反情况的预览。
- 在面板标题上选择" 下一步"。
选择策略的执行行为。执行设置仅适用于您为 Lifecycle Stages 选项选择的各个阶段。选择 ON 来强制实施策略并报告违反情况。选择 OFF 仅报告违反情况。
注意每个生命周期阶段的执行行为会有所不同。
- 对于 Build 阶段,当镜像与策略条件匹配时,Red Hat Advanced Cluster Security for Kubernetes 会失败您的 CI 构建。
- 对于 Deploy 阶段,Red Hat Advanced Cluster Security for Kubernetes 会阻止创建与策略条件匹配的部署。在使用准入控制器强制执行的集群中,Kubernetes 或 OpenShift Container Platform API 服务器会阻断所有不合规的部署。在其他集群中,Red Hat Advanced Cluster Security for Kubernetes 编辑不合规的部署以防止调度 pod。
- 对于 Runtime 阶段,Red Hat Advanced Cluster Security for Kubernetes 会停止与策略条件匹配的所有 pod。
警告策略执行可能会影响正在运行的应用程序或开发流程。在启用执行选项前,请告知所有利益相关者并规划如何响应自动执行操作。