|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
|
Esta é uma documentação não divulgada para Admission Controller 1.34-dev. |
Permitindo avaliações no namespace do Admission Controller
Por padrão, o Admission Controller não permite que políticas avaliem recursos em seu próprio namespace. Isso previne configurações incorretas que podem quebrar a Admission Controller instalação.
Essa medida de segurança é implementada em duas camadas. A primeira camada é controlada pela --always-accept-admission-reviews-on-deployments-namespace flag do CLI.
Essa flag, que é habilitada por padrão nos charts do Helm, faz com que o controlador configure a KUBEWARDEN_ALWAYS_ACCEPT_ADMISSION_REVIEWS_ON_NAMESPACE variável de ambiente nas implantações do PolicyServer. Essa variável informa ao servidor de políticas para sempre aceitar revisões de admissão do namespace definido na variável. A segunda camada é o próprio controlador de admissão, que por padrão adiciona um seletor de namespace às políticas de cluster para ignorar o namespace onde o controlador está em execução.
No entanto, em alguns cenários, os administradores de cluster podem querer que as políticas avaliem recursos neste namespace. Esta página explica como fazer isso desabilitando ambas as camadas de proteção.
Remover a variável de ambiente de proteção do PolicyServer
O primeiro passo é configurar o controlador para não definir a KUBEWARDEN_ALWAYS_ACCEPT_ADMISSION_REVIEWS_ON_NAMESPACE variável de ambiente nas implantações do PolicyServer.
Para fazer isso, atualize sua Admission Controller instalação e defina o alwaysAcceptAdmissionReviewsOnDeploymentsNamespace valor do kubewarden-controller chart Helm para false:
helm upgrade -n kubewarden
--set "alwaysAcceptAdmissionReviewsOnDeploymentsNamespace=false"
kubewarden-controller kubewarden/kubewarden-controller
Essa mudança permite que os servidores de políticas avaliem recursos de qualquer namespace. Uma vez feito isso, as políticas podem ser configuradas para avaliar revisões de admissão do Admission Controller namespace.
Configurar políticas para avaliar recursos no namespace do Admission Controller
Para permitir que uma política avalie recursos criados no namespace do Admission Controller, implante políticas em todo o cluster com o allowInsideAdmissionControllerNamespace campo no spec definido como true:
|
E as políticas com namespace?
Este campo de especificação está disponível apenas em políticas de cluster. Como as políticas com namespace avaliam recursos no mesmo namespace onde são implantadas, não faz sentido adicionar este campo aos seus CRDs. Além disso, o namespace do Admission Controller deve ser gerenciado pelos operadores do cluster, que podem decidir se devem implantar uma política lá. |
apiVersion: policies.kubewarden.io/v1
kind: ClusterAdmissionPolicy
metadata:
annotations:
io.kubewarden.policy.category: PSP
io.kubewarden.policy.severity: medium
name: pod-privileged-policy
spec:
module: registry://ghcr.io/kubewarden/policies/pod-privileged:v1.0.10
settings: {}
rules:
- apiGroups:
- ""
apiVersions:
- v1
resources:
- pods
operations:
- CREATE
mutating: false
allowInsideAdmissionControllerNamespace: true
Esta opção de configuração, que é false por padrão, faz com que o controlador ignore a adição do seletor de namespace que exclui o namespace do Admission Controller, permitindo que a política avalie recursos de todos os namespaces, incluindo esse namespace.
|
E quanto aos meus seletores de namespace personalizados?
Os CRDs de políticas também permitem que os usuários definam seus próprios seletores de namespace. Esses seletores não são alterados. Isso significa que, se um usuário definir um seletor que ignora o Admission Controller namespace, a política ainda ignorará esse namespace como esperado. |