策略
- 引入于 13.10 版本,功能标志为
security_orchestration_policies_configuration
。默认禁用。- 适用于私有化部署版于 14.3 版本。
- 功能标志移除于 14.4 版本。
极狐GitLab 中的策略可以为安全团队提供一种方法,要求在项目流水线根据指定的配置运行时,运行他们选择的扫描。因此,安全团队可以确信他们设置的扫描没有被更改、替换或禁用。您可以通过导航到项目的 安全与合规 > 策略 页面来访问这些内容。
极狐GitLab 支持以下安全策略:
策略管理
策略页面显示所有可用环境的已部署策略。您可以检查策略的信息(例如,描述或执行状态),并创建和编辑部署的策略:
- 在顶部栏上,选择 菜单 > 项目 并找到您的项目。
- 在左侧边栏上,选择 安全与合规 > 策略。
网络策略直接从所选环境的部署平台获取,而其它策略则从项目的安全策略项目中获取。在此选项卡之外执行的更改,会在刷新时呈现。
默认情况下,策略列表包含处于禁用状态的预定义网络策略。启用后,预定义策略将部署到所选环境的部署平台,您可以像管理常规策略一样对其进行管理。
请注意,如果您使用 Auto DevOps 并更改本节中的策略,则您的 auto-deploy-values.yaml
文件不会更新。Auto DevOps 用户必须按照容器网络策略文档进行更改。
策略编辑器
您可以使用策略编辑器来创建、编辑和删除策略:
- 在顶部栏上,选择 菜单 > 项目 并找到您的群组。
- 在左侧边栏上,选择 安全与合规 > 策略。
- 要创建新策略,请选择位于 策略 页面上方的 新建策略。
- 要编辑现有策略,请在所选策略菜单中选择 编辑策略。
策略编辑器有两种模式:
您可以交替使用这两种模式并随时在它们之间切换。如果 YAML 资源不正确或包含规则模式不支持的数据,则会自动禁用规则模式。如果 YAML 不正确,您必须使用 YAML 模式修复您的策略,然后才能再次使用规则模式。
安全策略项目
安全策略功能是存储策略的仓库。所有安全策略都存储在 .gitlab/security-policies/policy.yml
YAML 文件中。此 YAML 的格式特定于存储在其中的策略类型。示例和架构信息可用于以下策略类型:
此项目中创建的策略通过每 10 分钟运行一次的后台作业应用。提交给此项目的任何策略更改最多需要 10 分钟才能生效。
安全策略项目选择
创建安全策略项目并在该仓库中创建策略时,您必须在该项目和您要将策略应用到的项目之间创建关联:
取消关联安全策略项目
项目所有者可以取消安全策略项目与开发项目的关联。为此,请按照安全策略项目选择中描述的步骤,但选择模式中的垃圾桶图标。
扫描执行策略
扫描结果策略编辑器
See Scan result policies.
更改状态
要更改网络策略的状态:
- 选择要更新的网络策略。
- 选择 编辑策略。
- 选择 策略状态 切换,更新所选策略。
- 选择 保存更改,部署网络策略更改。
禁用的网络策略在 podSelector
块中有 network-policy.gitlab.com/disabled_by: gitlab
选择器,缩小了此类策略的范围,因此它不会影响任何 pod。策略本身仍然部署到相应的部署命名空间。
容器网络策略编辑器
策略编辑器仅支持 CiliumNetworkPolicy 规范。不支持常规 Kubernetes NetworkPolicy 资源。
规则模式支持以下规则类型:
完成策略后,选择编辑器底部的 保存策略 将其保存。通过选择编辑器底部的 删除策略,也可以从编辑器界面中删除现有策略。
配置网络策略警报
- 引入并默认启用于 13.9 版本。
- 功能标志移除于 14.0 版本,威胁监控警报项目普遍可用。
当您已安装并配置项目的代理后,您可以使用策略警报来跟踪您的策略的影响。
有两种方法可以创建策略警报:
- 在策略编辑器 UI 中,单击 添加警报。
-
在策略编辑器的 YAML 模式下,通过
metadata.annotations
属性:metadata: annotations: app.gitlab.com/alert: 'true'
添加后,UI 会更新并显示有关过多警报的危险的警告。