
# k8spspselinuxv2
#### 基本信息
- 策略类型：安全
- 推荐级别：L3
- 生效资源类型：Pod
- 参数： allowedSELinuxOptions：对象数组，包含level、role、type、user四个字符串对象
  exemptImages：字符串数组
  
 
#### 作用
约束Pod定义SELinux配置的允许列表。
#### 策略实例示例
以下策略实例展示了策略定义生效的资源类型，parameters中的allowedSELinuxOptions定义了参数的允许列表。
```
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sPSPSELinuxV2
metadata:
  name: psp-selinux-v2
spec:
  match:
    kinds:
      - apiGroups: [""]
        kinds: ["Pod"]
  parameters:
    allowedSELinuxOptions:
      - level: s0:c123,c456
        role: object_r
        type: svirt_sandbox_file_t
        user: system_u
```
#### 符合策略实例的资源定义
示例中seLinuxOptions参数均在参数列表中，符合策略实例。
```
apiVersion: v1
kind: Pod
metadata:
    name: nginx-selinux-allowed
    labels:
        app: nginx-selinux
spec:
  containers:
  - name: nginx
    image: nginx
    securityContext:
      seLinuxOptions:
        level: s0:c123,c456
        role: object_r
        type: svirt_sandbox_file_t
        user: system_u
```
#### 不符合策略实例的资源定义
示例中seLinuxOptions参数不在参数列表中，不符合策略实例。
```
apiVersion: v1
kind: Pod
metadata:
    name: nginx-selinux-disallowed
    labels:
        app: nginx-selinux
spec:
  containers:
  - name: nginx
    image: nginx
    securityContext:
      seLinuxOptions:
        level: s1:c234,c567
        user: sysadm_u
        role: sysadm_r
        type: svirt_lxc_net_t
```
