
# k8spsphostnetworkingports
#### 基本信息
- 策略类型：安全
- 推荐级别：L3
- 生效资源类型：Pod
- 参数：
  ```
  exemptImages: 字符串数组
  hostNetwork: 
    max: 整型
    min: 整型
  ```
  
 
#### 作用
约束PodSecurityPolicy中的"hostNetwork"和"hostPorts"字段。
#### 策略实例示例
以下策略实例展示了策略定义生效的资源类型，parameters中hostNetwork为true时，使用的端口必须在指定的端口范围内。
```
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sPSPHostNetworkingPorts
metadata:
  name: psp-host-network-ports
spec:
  match:
    kinds:
      - apiGroups: [""]
        kinds: ["Pod"]
  parameters:
    hostNetwork: bool
    min: 80
    max: 9000
```
#### 符合策略实例的资源定义
示例中hostNetwork设置成了false，符合策略实例。
```
apiVersion: v1
kind: Pod
metadata:
  name: nginx-host-networking-ports-allowed
  labels:
    app: nginx-host-networking-ports
spec:
  hostNetwork: false
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 9000
      hostPort: 80
```
#### 不符合策略实例的资源定义
示例中hostNetwork设置成了true，但是端口未在指定范围内，不符合策略实例。
```
apiVersion: v1
kind: Pod
metadata:
  name: nginx-host-networking-ports-disallowed
  labels:
    app: nginx-host-networking-ports
spec:
  hostNetwork: true
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 9001
      hostPort: 9001
```
