更新时间:2024-04-15 GMT+08:00

策略定义库概述

UCS为您提供了预置的策略定义库,通过这个库,您可以创建具体的策略实例,进而将策略实例定义细节的任务委托给具备专业知识的个人或团队。这种做法不仅实现了关注点的隔离,还将策略实例的逻辑与定义进行了分离。

为了帮助您更好地理解策略定义的工作原理,每个预置策略定义都包含以下三个部分:一个示例策略实例,用于展示如何使用该策略定义;一个违反策略实例的资源定义,用于说明不符合该策略要求的资源样例;一个符合策略实例的资源定义,用于展示满足策略要求的资源样例。这些内容将帮助您更清晰地了解各种策略定义的应用场景及其执行标准。

所有策略实例都包含一个“match”部分,这部分定义了策略实例应用的目标对象。通过“match”部分,您可以精准指定策略实例适用的资源类型、命名空间或其他特定条件,从而确保策略实例仅对满足这些条件的对象起作用。

表1为安全类策略定义,共16个,它们专注于确保集群和资源的安全性;表2为合规类策略定义,总共17个,它们针对不同方面的合规要求。

表1 安全类策略定义

策略定义名称

类型

推荐级别

生效对象

参数

k8spspvolumetypes

安全

L3

Pod

volumes:数组

k8spspallowedusers

安全

L3

Pod

exemptImages:字符串数组

runAsUser

  • rule:字符串
  • ranges
    • min:整型
    • max:整型

runAsGroup

  • rule:字符串
  • ranges
    • min:整型
    • max:整型

supplementalGroups

  • rule:字符串
  • ranges
    • min:整型
    • max:整型

fsGroup

  • rule:字符串
  • ranges
    • min:整型
    • max:整型

k8spspselinuxv2

安全

L3

Pod

allowedSELinuxOptions:对象数组,包含level、role、type、user四个字符串对象

exemptImages:字符串数组

k8spspseccomp

安全

L3

Pod

allowedLocalhostFiles:数组

allowedProfiles:数组

exemptImages:字符串数组

k8spspreadonlyrootfilesystem

安全

L3

Pod

exemptImages:字符串数组

k8spspprocmount

安全

L3

Pod

exemptImages:字符串数组

procMount:字符串

k8spspprivilegedcontainer

安全

L3

Pod

exemptImages:字符串数组

k8spsphostnetworkingports

安全

L3

Pod

exemptImages:字符串数组

hostNetwork

  • max:整型
  • min:整型

k8spsphostnamespace

安全

L3

Pod

k8spsphostfilesystem

安全

L3

Pod

allowedHostPaths

  • pathPrefix:字符串

k8spspfsgroup

安全

L3

Pod

rule:字符串,支持MayRunAs、MustRunAs和RunAsAny

ranges

  • max:整型
  • min:整型

k8spspforbiddensysctls

安全

L3

Pod

allowedSysctls:数组

forbiddenSysctls:数组

k8spspflexvolumes

安全

L3

Pod

allowedFlexVolumes:数组

k8spspcapabilities

安全

L3

Pod

allowedCapabilities:数组

exemptImages:字符串数组

requiredDropCapabilities:数组

k8spspapparmor

安全

L3

Pod

allowedProfiles:数组

exemptImages:字符串数组

k8spspallowprivilegeescalationcontainer

安全

L3

Pod

exemptImages:字符串数组

表2 合规类策略定义

策略定义名称

类型

推荐级别

生效对象

参数

k8srequiredprobes

合规

L1

Pod

probes:数组

probeTypes:数组

k8srequiredlabels

合规

L1

Deployment

labels

  • key / allowedRegex:键值对数组

message:字符串

k8srequiredannotations

合规

L1

Pod

annotations

  • key / allowedRegex:键值对数组

message:字符串

k8sreplicalimits

合规

L1

Deployment、ReplicaSet、CronJob

ranges

  • min_replicas:整型
  • max_replicas:整型

noupdateserviceaccount

合规

L1

Pod

allowedGroups:数组

allowedUsers:数组

k8simagedigests

合规

L1

Pod

exemptImages:字符串数组

k8sexternalips

合规

L1

Service

allowedIPs:字符串数组

k8sdisallowedtags

合规

L1

Pod

tags:字符串数组

exemptImages:字符串数组

k8srequiredresources

合规

L1

Pod

exemptImages:字符串数组

limits

  • cpu
  • memory

requests

  • cpu
  • memory

k8scontainerratios

合规

L1

Pod

ratio:字符串

cpuRatio:字符串

exemptImages:字符串数组

k8scontainerrequests

合规

L1

Pod

cpu:字符串

memory:字符串

exemptImages:字符串数组

k8scontainerlimits

合规

L1

Pod

cpu:字符串

memory:字符串

exemptImages:字符串数组

k8sblockwildcardingress

合规

L1

Ingress

k8sblocknodeport

合规

L1

Service

k8sblockloadbalancer

合规

L1

Pod

k8spspautomountserviceaccounttokenpod

合规

L1

Pod

k8sallowedrepos

合规

L1

Pod

repos:字符串数组