Exemplos de políticas

Esta página contém políticas de exemplo para a autorização binária especificada no formato YAML. Para ver instruções sobre a configuração de políticas na autorização binária, consulte Configurar uma política através da CLI Google Cloud ou Configurar uma política através da Google Cloud consola.

Permitir todas as implementações

O exemplo seguinte mostra como permitir que todas as imagens de contentores sejam implementadas sem restrições.

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

Aqui, a regra predefinida tem um evaluationMode de ALWAYS_ALLOW, o que faz com que a autorização binária permita a implementação de todas as imagens de contentores. O valor predefinido de enforcementMode está definido como ENFORCED_BLOCK_AND_AUDIT_LOG, mas, como todas as implementações são permitidas, esta ação nunca é realizada.

Bloqueie (quase) todas as implementações

O exemplo seguinte mostra como impedir a implementação de todas as imagens de contentores, ao mesmo tempo que permite imagens de sistemas mantidas pela Google. Estas imagens de contentores são necessárias para que a maioria dos clusters do Google Kubernetes Engine (GKE) seja iniciada com êxito.

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

Aqui, o globalPolicyEvaluationMode está ativado para que as imagens necessárias pelo GKE não sejam bloqueadas pela aplicação de políticas. A regra predefinida tem um evaluationMode de ALWAYS_DENY, o que faz com que a autorização binária recuse a implementação de todas as imagens de contentores. O valor de enforcementMode está definido como ENFORCED_BLOCK_AND_AUDIT_LOG, o que faz com que a Autorização binária bloqueie a implementação e escreva no registo de auditoria.

Exigir que os atestadores assinem antes da implementação

O exemplo seguinte mostra como exigir que os atestadores autorizem uma versão antes de uma imagem de contentor poder ser implementada. A implementação é 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 predefinida tem um evaluationMode de REQUIRE_ATTESTATION, o que faz com que a autorização binária permita a implementação apenas das imagens que foram autorizadas pelos atestadores necessários em requireAttestationsBy.

Permita implementações no modo de teste

O modo de teste é um modo de aplicação numa política que permite a implementação de imagens não conformes, mas escreve detalhes sobre a violação da política e a implementação no registo de auditoria. O modo de teste permite-lhe testar uma política no seu ambiente de produção antes de entrar em vigor.

O exemplo seguinte mostra como permitir que todas as imagens não conformes sejam implementadas no modo de teste.

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 predefinida tem um enforcementMode de DRYRUN_AUDIT_LOG_ONLY, o que permite a implementação de imagens que não foram autorizadas pelo atestador especificado para implementação, mas escreve informações sobre a implementação não conforme no registo de auditoria.

Use uma regra específica do cluster

Os exemplos seguintes mostram uma regra específica do cluster que só permite a implementação das imagens de contentores 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 aplica-se apenas às imagens de contentores implementadas em us-east1-a.prod-cluster. A regra requer atestação por parte de dois atestadores antes de uma imagem poder ser implementada.

Adicione imagens isentas

O exemplo seguinte mostra como adicionar caminhos adicionais no Container Registry ou noutro registo à lista de imagens isentos 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.