O Controlador de Políticas vem com uma biblioteca padrão de modelos de restrição, que pode ser usada com o pacote CIS para verificar se o cluster está em conformidade com o Comparativo de mercado CIS do Kubernetes v1.7.1. Essa comparação é um conjunto de recomendações para configurar o Kubernetes a fim de oferecer suporte a uma postura de segurança reforçada.
Esta página é destinada a administradores e operadores de TI que querem usar e manter uma automação para garantir que todos os recursos em execução na plataforma de nuvem cumpram os requisitos de compliance organizacionais. Para saber mais sobre os papéis comuns e os exemplos de tarefas mencionados no conteúdo do Google Cloud, consulte Tarefas e funções de usuário comuns do GKE Enterprise.
Este pacote de restrições abrange e aplica políticas nos seguintes domínios:
- RBAC e contas de serviço
- políticas de segurança de pods
- Políticas de rede e CNI
- Gerenciamento de secrets
- Controle de admissão extensível
- Políticas gerais
Restrições do pacote de políticas CIS Kubernetes v1.7.1
Nome da restrição | Descrição da restrição | IDs de controle |
---|---|---|
cis-k8s-v1.7.1-restrict-system-masters-group | Bloqueia o uso do grupo system:masters . Não tem efeito durante a auditoria.
|
5.1.7 |
cis-k8s-v1.7.1-restrict-env-var-secrets | Restringe o uso de secrets como variáveis de ambiente em definições de contêiner. | 5.4.1 |
cis-k8s-v1.7.1-restrict-capabilities | Os contêineres precisam descartar o recurso NET_RAW e não podem adicionar recursos novamente.
|
5.2.8, 5.2.9, 5.2.10 |
cis-k8s-v1.7.1-require-admission-controller | Requer admissão de segurança de pods ou um sistema de controle de política externo. | 5.2.1 |
cis-k8s-v1.7.1-require-binauthz | Requer a autorização binária que valida o webhook de admissão. | 5.5.1 |
cis-k8s-v1.7.1-require-namespace-networkpolicy | Requer que cada namespace definido no cluster tenha um NetworkPolicy .
|
5.3.2 |
cis-k8s-v1.7.1-require-seccomp-default | Requer que os pods tenham o perfil seccomp definido como runtime/default ou docker/default .
|
5.7.2 |
cis-k8s-v1.7.1-require-securitycontext | Requer que os pods definam securityContext .
|
5.7.3 |
cis-k8s-v1.7.1-restrict-aggregation-controller | Restringe o uso do papel clusterrole-aggregation-controller .
|
5.1.8 |
cis-k8s-v1.7.1-restrict-automountserviceaccounttoken | Restringe o uso de tokens de contas de serviço. | 5.1.5, 5.1.6 |
cis-k8s-v1.7.1-restrict-bind-escalate-impersonate | Restringe o acesso a bind, escalate e impersonate em Roles e ClusterRoles .
|
5.1.8 |
cis-k8s-v1.7.1-restrict-certificatesigningrequests-approval | Restringe o acesso à API de aprovação de certificado do cliente. | 5.1.11 |
cis-k8s-v1.7.1-restrict-cluster-admin-role | Restringe o uso do papel cluster-admin .
|
5.1.1, 5.1.8 |
cis-k8s-v1.7.1-restrict-creation-with-default-serviceaccount | Restringe a criação de recursos usando uma conta de serviço padrão. Não tem efeito durante a auditoria. | 5.1.5 |
cis-k8s-v1.7.1-restrict-default-namespace | Impede que os pods usem o namespace padrão. | 5.7.1, 5.7.4 |
cis-k8s-v1.7.1-restrict-host-namespace | Restringe contêineres com hostPID ou hostIPC definido como true .
|
5.2.3, 5.2.4 |
cis-k8s-v1.7.1-restrict-host-port | Restringe a execução de contêineres com hostPort configurado.
|
5.2.13 |
cis-k8s-v1.7.1-restrict-hostpath-volumes | Restringe o uso de volumes hostPath .
|
5.2.12 |
cis-k8s-v1.7.1-restrict-hostnetwork | Restringe a execução de contêineres com a sinalização hostNetwork definida como true .
|
5.2.5 |
cis-k8s-v1.7.1-restrict-nodes-proxy | Restringe o acesso ao subrecurso de proxy dos nós em Roles e ClusterRoles .
|
5.1.10 |
cis-k8s-v1.7.1-restrict-persistent-volume | Restringe a criação de persistentvolumes em Roles e ClusterRoles .
|
5.1.9 |
cis-k8s-v1.7.1-restrict-pods-create | Restringe a criação de pods em Roles e ClusterRoles .
|
5.1.4 |
cis-k8s-v1.7.1-restrict-privilege-escalation | Restringe contêineres com allowPrivilegeEscalation definido como true .
|
5.2.6 |
cis-k8s-v1.7.1-restrict-privileged-containers | Restringe contêineres com securityContext.privileged definido como true .
|
5.2.2 |
cis-k8s-v1.7.1-restrict-role-secrets | Restringe o uso de secrets em Roles e ClusterRoles .
|
5.1.2 |
cis-k8s-v1.7.1-restrict-role-wildcards | Restringe o uso de caracteres curinga em Roles e ClusterRoles .
|
5.1.3 |
cis-k8s-v1.7.1-restrict-root-containers | Restringe a execução de contêineres como usuário raiz. | 5.2.7 |
cis-k8s-v1.7.1-restrict-secrets-of-type-basic-auth | Restringe o uso de secrets do tipo basic-auth .
|
5.4.2 |
cis-k8s-v1.7.1-restrict-serviceaccounts-token | Restringe a criação de tokens de serviceaccount em Roles e ClusterRoles .
|
5.1.13 |
cis-k8s-v1.7.1-restrict-webhook-config | Restringe o acesso a objetos de configuração de webhook em Roles e ClusterRoles .
|
5.1.12 |
cis-k8s-v1.7.1-restrict-windows-hostprocess | Restringe a execução de contêineres ou pods hostProcess do Windows.
|
5.2.11 |
Antes de começar
- Instale e inicialize a Google Cloud CLI,
que fornece os
comandos
gcloud
ekubectl
usados nestas instruções. Se você usa o Cloud Shell, a Google Cloud CLI já vem pré-instalada. - Instale o Policy Controller no cluster com a biblioteca padrão de modelos de restrição. Você também precisa ativar a compatibilidade com restrições referenciais, já que este pacote contém restrições referenciais.
Configurar para restrições referenciais
Salve o seguinte manifesto YAML em um arquivo como
policycontroller-config.yaml
. O manifesto configura o Policy Controller para observar tipos específicos de objetos.apiVersion: config.gatekeeper.sh/v1alpha1 kind: Config metadata: name: config namespace: "gatekeeper-system" spec: sync: syncOnly: - group: "admissionregistration.k8s.io" version: "v1" kind: "ValidatingWebhookConfiguration" - group: "networking.k8s.io" version: "v1" kind: "NetworkPolicy"
Aplique o manifesto
policycontroller-config.yaml
:kubectl apply -f policycontroller-config.yaml
Configurar o cluster e a carga de trabalho
- A ativação e a configuração da autorização binária são necessárias em
cis-k8s-v1.7.1-require-binauthz
.
Auditar o pacote de políticas CIS Kubernetes v1.7.1
O Controlador de Políticas permite aplicar políticas ao cluster do Kubernetes. Para testar se as cargas de trabalho estão de acordo com as políticas CIS GKE v1.7.1 da tabela anterior, implante essas restrições no modo "auditoria" para revelar e resolver violações.
É possível aplicar essas políticas com spec.enforcementAction
definido como dryrun
usando kubectl,
kpt
ou
Config Sync.
kubectl
(Opcional) Visualize as restrições de política com o kubectl:
kubectl kustomize https://github.com/GoogleCloudPlatform/gke-policy-library.git/anthos-bundles/cis-k8s-v1.7.1
Aplique as restrições da política com o kubectl:
kubectl apply -k https://github.com/GoogleCloudPlatform/gke-policy-library.git/anthos-bundles/cis-k8s-v1.7.1
A saída é esta:
k8savoiduseofsystemmastersgroup.constraints.gatekeeper.sh/cis-k8s-v1.7.1-avoid-use-of-system-masters-group created k8sblockcreationwithdefaultserviceaccount.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-creation-with-default-serviceaccount created k8sblockobjectsoftype.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-secrets-of-type-basic-auth created k8snoenvvarsecrets.constraints.gatekeeper.sh/cis-k8s-v1.7.1-no-secrets-as-env-vars created k8spspallowprivilegeescalationcontainer.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-privilege-escalation created k8spspallowedusers.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-root-containers created k8spspcapabilities.constraints.gatekeeper.sh/cis-k8s-v1.7.1-psp-capabilities created k8spsphostfilesystem.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-hostpath-volumes created k8spsphostnamespace.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-host-namespace created k8spsphostnetworkingports.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-host-port created k8spsphostnetworkingports.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-hostnetwork created k8spspprivilegedcontainer.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-privileged-containers created k8spspseccomp.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-seccomp-default created k8spspwindowshostprocess.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-windows-hostprocess created k8spodsrequiresecuritycontext.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-securitycontext created k8sprohibitrolewildcardaccess.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-role-wildcards created k8srequireadmissioncontroller.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-admission-controller created k8srequirebinauthz.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-binauthz created k8srequirenamespacenetworkpolicies.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-namespace-networkpolicy created k8srestrictautomountserviceaccounttokens.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-automountserviceaccounttoken created k8srestrictnamespaces.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-default-namespace created k8srestrictrolebindings.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-aggregation-controller created k8srestrictrolebindings.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-cluster-admin-role created k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-bind-escalate-impersonate created k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-certificatesigningrequests-approval created k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-nodes-proxy created k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-persistent-volume created k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-pods-create created k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-role-secrets created k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-serviceaccounts-token created k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-webhook-config created
Verifique se as restrições da política foram instaladas e se existem violações no cluster:
kubectl get constraints -l policycontroller.gke.io/bundleName=cis-k8s-v1.7.1
O resultado será assim:
NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spspallowprivilegeescalationcontainer.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-privilege-escalation dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8sblockcreationwithdefaultserviceaccount.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-creation-with-default-serviceaccount dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8sprohibitrolewildcardaccess.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-role-wildcards dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8srequirebinauthz.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-binauthz dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8srequireadmissioncontroller.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-admission-controller dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spspwindowshostprocess.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-windows-hostprocess dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spsphostnetworkingports.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-host-port dryrun 0 k8spsphostnetworkingports.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-hostnetwork dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8srestrictautomountserviceaccounttokens.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-automountserviceaccounttoken dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spodsrequiresecuritycontext.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-securitycontext dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spsphostfilesystem.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-hostpath-volumes dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spspprivilegedcontainer.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-privileged-containers dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spspseccomp.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-seccomp-default dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8srestrictrolebindings.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-aggregation-controller dryrun 0 k8srestrictrolebindings.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-cluster-admin-role dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-bind-escalate-impersonate dryrun 0 k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-certificatesigningrequests-approval dryrun 0 k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-nodes-proxy dryrun 0 k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-persistent-volume dryrun 0 k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-pods-create dryrun 0 k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-role-secrets dryrun 0 k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-serviceaccounts-token dryrun 0 k8srestrictrolerules.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-webhook-config dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spspallowedusers.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-root-containers dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8srequirenamespacenetworkpolicies.constraints.gatekeeper.sh/cis-k8s-v1.7.1-require-namespace-networkpolicy dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8savoiduseofsystemmastersgroup.constraints.gatekeeper.sh/cis-k8s-v1.7.1-avoid-use-of-system-masters-group dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8snoenvvarsecrets.constraints.gatekeeper.sh/cis-k8s-v1.7.1-no-secrets-as-env-vars dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8sblockobjectsoftype.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-secrets-of-type-basic-auth dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spsphostnamespace.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-host-namespace dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8srestrictnamespaces.constraints.gatekeeper.sh/cis-k8s-v1.7.1-restrict-default-namespace dryrun 0 NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONS k8spspcapabilities.constraints.gatekeeper.sh/cis-k8s-v1.7.1-psp-capabilities dryrun 0
kpt
Instale e configure o kpt. O kpt é usado nestas instruções para personalizar e implantar recursos do Kubernetes.
Faça o download do pacote de políticas do CIS no GitHub usando o kpt:
kpt pkg get https://github.com/GoogleCloudPlatform/gke-policy-library.git/anthos-bundles/cis-k8s-v1.7.1
Execute a função
set-enforcement-action
do kpt para definir a ação de aplicação das políticas comodryrun
:kpt fn eval cis-k8s-v1.7.1 -i gcr.io/kpt-fn/set-enforcement-action:v0.1 \ -- enforcementAction=dryrun
Inicialize o diretório de trabalho com o kpt, que cria um recurso para acompanhar as alterações:
cd cis-k8s-v1.7.1 kpt live init
Aplique as restrições da política com kpt:
kpt live apply
Verifique se as restrições da política foram instaladas e se existem violações no cluster:
kpt live status --output table --poll-until current
O status
CURRENT
confirma a instalação bem-sucedida das restrições.
Config Sync
- Instale e configure o kpt. O kpt é usado nestas instruções para personalizar e implantar recursos do Kubernetes.
Os operadores que usam o Config Sync para implantar políticas nos clusters podem usar as seguintes instruções:
Altere para o diretório de sincronização do Config Sync:
cd SYNC_ROOT_DIR
Para criar ou anexar
.gitignore
comresourcegroup.yaml
:echo resourcegroup.yaml >> .gitignore
Crie um diretório
policies
dedicado:mkdir -p policies
Baixe o pacote de políticas do CIS Kubernetes v1.7.1 no GitHub usando o kpt:
kpt pkg get https://github.com/GoogleCloudPlatform/gke-policy-library.git/anthos-bundles/cis-k8s-v1.7.1 policies/cis-k8s-v1.7.1
Execute a função
set-enforcement-action
do kpt para definir a ação de aplicação das políticas comodryrun
:kpt fn eval policies/cis-k8s-v1.7.1 -i gcr.io/kpt-fn/set-enforcement-action:v0.1 -- enforcementAction=dryrun
(Opcional) Visualize as restrições de política a serem criadas:
kpt live init policies/cis-k8s-v1.7.1 kpt live apply --dry-run policies/cis-k8s-v1.7.1
Se o diretório de sincronização do Config Sync usar Kustomize, adicione
policies/cis-k8s-v1.7.1
à raizkustomization.yaml
. Caso contrário, remova o arquivopolicies/cis-k8s-v1.7.1/kustomization.yaml
:rm SYNC_ROOT_DIR/policies/cis-k8s-v1.7.1/kustomization.yaml
Envie as alterações para o repositório do Config Sync:
git add SYNC_ROOT_DIR/policies/cis-k8s-v1.7.1 git commit -m 'Adding CIS Kubernetes v1.7.1 policy bundle' git push
Verifique o status da instalação:
watch gcloud beta container fleet config-management status --project PROJECT_ID
O status
SYNCED
confirma a instalação das políticas.
Visualizar violações de políticas
Depois que as restrições de política são instaladas no modo de auditoria, as violações no cluster podem ser visualizadas na interface usando o Painel do Controlador de políticas.
Também é possível usar kubectl
para visualizar violações no cluster usando o seguinte
comando:
kubectl get constraint -l policycontroller.gke.io/bundleName=cis-k8s-v1.7.1 -o json | jq -cC '.items[]| [.metadata.name,.status.totalViolations]'
Se houver violações, uma lista das mensagens de violação por restrição poderá ser visualizada com:
kubectl get constraint -l policycontroller.gke.io/bundleName=cis-k8s-v1.7.1 -o json | jq -C '.items[]| select(.status.totalViolations>0)| [.metadata.name,.status.violations[]?]'
Alterar a ação de aplicação do pacote de políticas do CIS Kubernetes v1.7.1
Depois de analisar as violações de políticas no cluster, considere
alterar o modo de aplicação para que o controlador de admissão warn
ou deny
bloqueie a aplicação de recursos sem compliance no cluster.
kubectl
Use o kubectl para definir a ação de cumprimento das políticas como
warn
:kubectl get constraint -l policycontroller.gke.io/bundleName=cis-k8s-v1.7.1 -o name | xargs -I {} kubectl patch {} --type='json' -p='[{"op":"replace","path":"/spec/enforcementAction","value":"warn"}]'
Verifique se a ação de cumprimento das restrições da política foi atualizada:
kubectl get constraints -l policycontroller.gke.io/bundleName=cis-k8s-v1.7.1
kpt
Execute a função
set-enforcement-action
do kpt para definir a ação de aplicação das políticas comowarn
:kpt fn eval -i gcr.io/kpt-fn/set-enforcement-action:v0.1 -- enforcementAction=warn
Aplique as restrições da política:
kpt live apply
Config Sync
Os operadores que usam o Config Sync para implantar políticas nos clusters podem usar as seguintes instruções:
Altere para o diretório de sincronização do Config Sync:
cd SYNC_ROOT_DIR
Execute a função
set-enforcement-action
do kpt para definir a ação de aplicação das políticas comowarn
:kpt fn eval policies/cis-k8s-v1.7.1 -i gcr.io/kpt-fn/set-enforcement-action:v0.1 -- enforcementAction=warn
Envie as alterações para o repositório do Config Sync:
git add SYNC_ROOT_DIR/policies/cis-k8s-v1.7.1 git commit -m 'Adding CIS Kubernetes v1.7.1 policy bundle warn enforcement' git push
Verifique o status da instalação:
gcloud alpha anthos config sync repo list --project PROJECT_ID
Seu repo que aparece na coluna
SYNCED
confirma a instalação das políticas.
Testar o cumprimento das políticas
Crie um recurso não compatível no cluster usando o seguinte comando:
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
namespace: default
name: wp-non-compliant
labels:
app: wordpress
spec:
containers:
- image: wordpress
name: wordpress
ports:
- containerPort: 80
name: wordpress
EOF
O controlador de admissão produzirá um alerta listando as políticas que esse recurso viola, conforme mostrado no exemplo a seguir:
Warning: [cis-k8s-v1.7.1-restrict-default-namespace] <default> namespace is restricted Warning: [cis-k8s-v1.7.1-restrict-root-containers] Container wordpress is attempting to run without a required securityContext/runAsNonRoot or securityContext/runAsUser != 0 Warning: [cis-k8s-v1.7.1-restrict-privilege-escalation] Privilege escalation container is not allowed: wordpress Warning: [cis-k8s-v1.7.1-require-seccomp-default] Seccomp profile 'not configured' is not allowed for container 'wordpress'. Found at: no explicit profile found. Allowed profiles: {"RuntimeDefault", "docker/default", "runtime/default"} Warning: [cis-k8s-v1.7.1-psp-capabilities] container <wordpress> is not dropping all required capabilities. Container must drop all of ["NET_RAW"] or "ALL" Warning: [cis-k8s-v1.7.1-require-securitycontext] securityContext must be defined for all Pod containers pod/wp-non-compliant created
Remover o pacote de políticas CIS Kubernetes v1.7.1
Se necessário, o pacote de políticas CIS Kubernetes v1.7.1 pode ser removido do cluster.
kubectl
Use o kubectl para remover as políticas:
kubectl delete constraint -l policycontroller.gke.io/bundleName=cis-k8s-v1.7.1
kpt
Remova as políticas:
kpt live destroy
Config Sync
Os operadores que usam o Config Sync para implantar políticas nos clusters podem usar as seguintes instruções:
Envie as alterações para o repositório do Config Sync:
git rm -r SYNC_ROOT_DIR/policies/cis-k8s-v1.7.1 git commit -m 'Removing CIS Kubernetes v1.7.1 policy bundle' git push
Verifique o status:
gcloud alpha anthos config sync repo list --project PROJECT_ID
Seu repo que aparece na coluna
SYNCED
confirma a remoção das políticas.