Exemplos de política

Esta página contém exemplos de políticas para autorização binária especificada no formato YAML. Para instruções sobre como configurar políticas na autorização binária, consulte Configurar uma política usando a Google Cloud CLI 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.