mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-06 16:06:56 +00:00
59 lines
1.7 KiB
YAML
59 lines
1.7 KiB
YAML
---
|
|
apiVersion: kyverno.io/v1
|
|
kind: ClusterPolicy
|
|
metadata:
|
|
annotations:
|
|
kyverno.io/kubernetes-version: 1.20-1.23
|
|
kyverno.io/kyverno-version: 1.6.0
|
|
policies.kyverno.io/category: Other
|
|
policies.kyverno.io/description: This policy shows how to restrict certain operations
|
|
on specific ConfigMaps by ServiceAccounts.
|
|
policies.kyverno.io/severity: medium
|
|
policies.kyverno.io/subject: ConfigMap, ServiceAccount
|
|
policies.kyverno.io/title: Limit ConfigMap to ServiceAccounts for a User
|
|
name: limit-configmap-for-sa
|
|
spec:
|
|
admission: true
|
|
background: false
|
|
rules:
|
|
- match:
|
|
any:
|
|
- resources:
|
|
kinds:
|
|
- ConfigMap
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: developer
|
|
namespace: kube-system
|
|
- resources:
|
|
kinds:
|
|
- ConfigMap
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: another-developer
|
|
namespace: another-namespace
|
|
name: limit-configmap-for-sa-developer
|
|
preconditions:
|
|
all:
|
|
- key: '{{request.object.metadata.namespace}}'
|
|
operator: AllIn
|
|
value:
|
|
- any-namespace
|
|
- another-namespace
|
|
- key: '{{request.object.metadata.name}}'
|
|
operator: AllIn
|
|
value:
|
|
- any-configmap-name-good
|
|
- another-configmap-name
|
|
validate:
|
|
deny:
|
|
conditions:
|
|
all:
|
|
- key: '{{request.operation}}'
|
|
operator: In
|
|
value:
|
|
- UPDATE
|
|
- CREATE
|
|
message: '{{request.object.metadata.namespace}}/{{request.object.kind}}/{{request.object.metadata.name}}
|
|
resource is protected. Admin or allowed users can change the resource'
|
|
validationFailureAction: Audit
|