Ir para o conteúdo

Perguntas frequentes: Padrões de segurança de pod e Admissão de segurança de pod em pods do Amazon EKS

5 minuto de leitura
0

Tenho algumas perguntas sobre os Padrões de segurança de pod e a Admissão de segurança de pod nos pods do Amazon Elastic Kubernetes Service (Amazon EKS).

P: Como faço para ativar ou desativar os Padrões de segurança de pod e a Admissão de segurança de pod no meu cluster do Amazon EKS?

Por padrão, as versões 1.23 e posteriores do Kubernetes ativam todos os modos de Admissão de segurança de pod para o perfil privilegiado dos Padrões de segurança de pod no nível do cluster. A Admissão de segurança de pod permite implantações ou pods com o perfil privilegiado de Padrões de segurança de pod em todos os namespaces.

P: Como aplico modos específicos de Admissão de segurança de pod e perfis de Padrões de segurança de pod no nível do namespace Kubernetes?

Para aplicar modos específicos de Admissão de segurança de pod e perfis de Padrões de segurança de pod no nível do namespace Kubernetes, configure os rótulos de namespace.

Por exemplo, execute o comando a seguir para aplicar o modo de imposição dos Padrões básicos de segurança de pod a um único namespace:

kubectl label --overwrite ns test-namespace pod-security.kubernetes.io/enforce=baseline

Ou execute o comando a seguir para aplicar o modo de imposição dos Padrões básicos de segurança de pod a todos os namespaces disponíveis:

kubectl label --overwrite ns --all pod-security.kubernetes.io/enforce=baseline

Observação: substitua test-namespace pelo nome do seu namespace, imposição pelo seu modo de Admissão de segurança de pod e básico pelo seu perfil de política dos Padrões de segurança de pod. Para obter mais informações, consulte Pod Security Admission labels for namespaces (Rótulos de Admissão de segurança de pod para namespaces) e Pod Security Standards (Padrões de segurança de pod) no site do Kubernetes.

P: Quando eu modifico meu namespace para usar um perfil mais restritivo de Padrões de segurança de pod, isso afeta a função dos pods existentes no namespace?

Não. Se você modificar um namespace com pods existentes para usar os modos de auditoria ou aviso, receberá uma mensagem no seu terminal. Também é possível ver a mensagem na seção status.message da saída YAML do Pod. Se você modificar o namespace para usar o modo de imposição, o Kubernetes não excluirá os pods existentes no namespace. No entanto, você recebe uma mensagem semelhante ao exemplo a seguir:

"Warning: existing pods in namespace "policy-test" violate the new PodSecurity enforce level "restricted:latest"

"Warning: test-688f68dc87-htm8x: allowPrivilegeEscalation != false, unrestricted capabilities, runAsNonRoot != true, seccompProfilenamespace/policy-test configured"

Exemplo de mensagem do modo de imposição na saída YAML do pod:

lastTransitionTime: "2022-11-24T05:10:49Z"
lastUpdateTime: "2022-11-24T05:10:49Z"
message: 'pods "test-67d5fc995b-8r9t2" is forbidden: violates PodSecurity "baseline:latest": privileged (container "assets" must not set securityContext.privileged=true)'
reason: FailedCreate
status: "True"
type: ReplicaFailure

Se um pod não aderir à política de perfil dos Padrões de segurança de pod do namespace ou ao modo de Admissão de segurança de pod, atualize seu manifesto de implantação.

P: Como personalizo a política de segurança do pod que o controlador de Admissão de segurança do pod aplicou no meu nível de namespace?

Não é possível personalizar diretamente a política de segurança do pod aplicada por meio do controlador de Admissão de segurança do pod. Em vez disso, use políticas de admissão de validação para implementar e impor suas regras personalizadas ou use o controle de admissão do Webhook com código externo.

P: Posso aplicar vários modos de Admissão de segurança de pod e perfis de Padrões de segurança de pod a um único namespace Kubernetes?

Não. No entanto, é possível usar rótulos para configurar várias verificações de Padrões de segurança de pod em qualquer namespace.

Por exemplo, o comando a seguir aplica o modo de imposição aos Padrões básicos de segurança do pod e os modos de aviso and auditoria aos Padrões restritos de segurança do pod de acordo com a versão mais recente:

  kubectl label --overwrite ns test \\
  pod-security.kubernetes.io/enforce=baseline \\
  pod-security.kubernetes.io/enforce-version=latest \\
  pod-security.kubernetes.io/warn=restricted \\
  pod-security.kubernetes.io/warn-version=latest \\
  pod-security.kubernetes.io/audit=restricted \\
  pod-security.kubernetes.io/audit-version=latest

P: Posso aplicar os modos de Admissão de segurança de pod e os perfis dos Padrões de segurança de pod no nível de cluster do meu cluster Kubernetes gerenciado?

Não, é possível aplicar os modos de Admissão de segurança de pod e os perfis dos Padrões de segurança do pod somente no nível do namespace para clusters gerenciados.

P. Posso usar o webhook da Admissão de segurança de pod com meu cluster do Amazon EKS?

Sim. É possível instalar o webhook da Admissão de segurança de pod em seu cluster do Amazon EKS. Para obter mais informações, consulte pod-security-admission webhook no site do GitHub.

P. Por que devo usar o webhook da Admissão de segurança de pod no meu cluster do Amazon EKS?

Com o webhook de Admissão de segurança de pod é possível aplicar os mesmos modos de Admissão de segurança de pod e perfis dos Padrões de segurança de pod em todos os namespaces Kubernetes. Também é possível isentar namespaces. Sem o webhook da Admissão de segurança de pod, você deve aplicar as alterações no nível específico do namespace.

AWS OFICIALAtualizada há 8 meses