Exemplos de política

Esta página contém exemplos de políticas para autorização binária especificada no formato YAML. Para ver instruções sobre como configurar políticas na autorização binária, consulte Configurar uma política usando a ferramenta de linha de comando gcloud ou Configurar uma política usando o Console do Google Cloud.

Permitir todas as implantações

O exemplo a seguir mostra como permitir que todas as imagens de contêiner sejam implantadas sem restrições.

name: projects/example-project/policy
defaultAdmissionRule:
  evaluationMode: ALWAYS_ALLOW
  enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG

Aqui, a regra padrão tem um evaluationMode de ALWAYS_ALLOW, que faz com que a autorização binária permita a implantação de todas as imagens de contêiner. O enforcementMode padrão é definido como ENFORCED_BLOCK_AND_AUDIT_LOG, mas como todas as implantações são permitidas, essa ação nunca é realizada.

Bloquear (quase) todas as implantações

O exemplo a seguir mostra como bloquear a implantação de todas as imagens de contêiner e permitir imagens do sistema mantidas pelo Google. Essas imagens de contêiner são necessárias para que a maioria dos clusters do Google Kubernetes Engine (GKE) seja iniciada.

name: projects/example-project/policy
globalPolicyEvaluationMode: ENABLE
defaultAdmissionRule:
  evaluationMode: ALWAYS_DENY
  enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG

Aqui, globalPolicyEvaluationMode é ativado para que as imagens exigidas pelo GKE não sejam bloqueadas pela aplicação da política. A regra padrão tem um evaluationMode ALWAYS_DENY, o que faz com que a autorização binária negue a implantação de todas as imagens de contêiner. O enforcementMode está definido como ENFORCED_BLOCK_AND_AUDIT_LOG, o que faz com que a autorização binária bloqueie a implantação e grave no registro de auditoria.

Exigir atestadores para assinar antes da implantação

O exemplo a seguir mostra como exigir que atestadores autorizem uma versão antes que uma imagem de contêiner possa ser implantada. A implantação será bloqueada se todos os atestadores não tiverem assinado.

name: projects/example-project/policy
globalPolicyEvaluationMode: ENABLE
defaultAdmissionRule:
  evaluationMode: REQUIRE_ATTESTATION
  enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
  requireAttestationsBy:
  - projects/example-project/attestors/secure-build

Aqui, a regra padrão tem evaluationMode como REQUIRE_ATTESTATION, o que faz com que a autorização binária permita a implantação apenas das imagens que foram autorizadas pelos atestadores obrigatórios em requireAttestationsBy.

Permitir implantações no modo de simulação

O modo de simulação é um modo de aplicação em uma política que permite a implantação de imagens não compatíveis, mas grava detalhes sobre a violação da política e a implantação no registro de auditoria. O modo de simulação permite testar uma política no ambiente de produção antes que ela entre em vigor.

O exemplo a seguir mostra como permitir que todas as imagens não representativas sejam implantadas no modo de simulação.

name: projects/example-project/policy
globalPolicyEvaluationMode: ENABLE
defaultAdmissionRule:
  evaluationMode: REQUIRE_ATTESTATION
  enforcementMode: DRYRUN_AUDIT_LOG_ONLY
  requireAttestationsBy:
  - projects/example-project/attestors/secure-build

Aqui, a regra padrão tem um enforcementMode de DRYRUN_AUDIT_LOG_ONLY, que permite a implantação de imagens que não foram autorizadas pelo atestador especificado, mas grava informações sobre o não compatível implantação no registro de auditoria.

Usar uma regra específica do cluster

Os exemplos a seguir mostram uma regra específica do cluster que permite a implantação dessas imagens de contêiner que foram autorizadas pelos atestadores especificados:

name: projects/example-project/policy
globalPolicyEvaluationMode: ENABLE
defaultAdmissionRule:
  evaluationMode: ALWAYS_DENY
  enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
clusterAdmissionRules:
  us-east1-a.prod-cluster:
    evaluationMode: REQUIRE_ATTESTATION
    enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
    requireAttestationsBy:
    - projects/example-project/attestors/secure-build
    - projects/example-project/attestors/prod-qualified

Aqui, a regra específica do cluster se aplica apenas às imagens de contêiner implantadas no us-east1-a.prod-cluster. A regra exige a confirmação de dois atestadores para que uma imagem possa ser implantada.

Adicionar imagens isentas

O exemplo a seguir mostra como adicionar outros caminhos no Container Registry ou em outro registro à lista de imagens isentas da política:

name: projects/example-project/policy
globalPolicyEvaluationMode: ENABLE
admissionWhitelistPatterns:
- namePattern: gcr.io/example-project-1/*
- namePattern: gcr.io/example-project-2/my-app
defaultAdmissionRule:
  evaluationMode: ALWAYS_DENY
  enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG

Aqui, os padrões correspondentes para imagens isentas adicionais são gcr.io/example-project-1/* e gcr.io/example-project-2/my-app.