Políticas de ejemplo

Esta página contiene políticas de ejemplo para la autorización binaria especificada en formato YAML. Si quieres obtener instrucciones para configurar políticas en la autorización binaria, consulta Configura una política mediante la CLI o Configura una política mediante Console.

Permite todas las implementaciones

En el siguiente ejemplo, se muestra cómo permitir que se implementen todas las imágenes de contenedor sin restricciones.

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

Aquí, la regla predeterminada tiene un evaluationMode de ALWAYS_ALLOW, que hace que la autorización binaria permita la implementación de todas las imágenes de contenedor. El enforcementMode predeterminado está configurado como ENFORCED_BLOCK_AND_AUDIT_LOG, pero como se permiten todas las implementaciones, esta acción nunca se realiza.

Bloquea (casi) todas las implementaciones

En el siguiente ejemplo, se muestra cómo bloquear la implementación de todas las imágenes de contenedor y permitir las imágenes del sistema mantenidas por Google. Estas imágenes de contenedor son necesarias para que la mayoría de los clústeres de Google Kubernetes Engine (GKE) se inicien de manera correcta.

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

Aquí, se habilita globalPolicyEvaluationMode para que la aplicación de las políticas no bloquee las imágenes que requiere GKE. La regla predeterminada tiene un evaluationMode de ALWAYS_DENY, que hace que la autorización binaria rechace la implementación de todas las imágenes de contenedor. El enforcementMode está configurado en ENFORCED_BLOCK_AND_AUDIT_LOG, lo que hace que la autorización binaria bloquee la implementación y escriba en el registro de auditoría.

Exige que los certificadores firmen antes de la implementación

En el siguiente ejemplo, se muestra cómo solicitar a los certificadores que autoricen una versión antes de que se pueda implementar una imagen de contenedor. La implementación se bloquea si ningún certificador firma.

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

Aquí, la regla predeterminada tiene un evaluationMode de REQUIRE_ATTESTATION, que hace que la autorización binaria permita la implementación de solo las imágenes que autorizaron los certificadores requeridos en requireAttestationsBy.

Permite implementaciones en modo de ejecución de prueba

El modo de ejecución de prueba es un modo de aplicación en una política que permite que se implementen imágenes que no cumplen con las políticas, pero escribe detalles sobre el incumplimiento de la política y la implementación en el registro de auditoría. El modo de ejecución de prueba te permite probar una política en tu entorno de producción antes de que entre en vigor.

En el siguiente ejemplo, se muestra cómo permitir que todas las imágenes que no cumplen con las políticas se implementen en modo de ejecución de prueba.

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

Aquí, la regla predeterminada tiene un enforcementMode de DRYRUN_AUDIT_LOG_ONLY, que permite la implementación de imágenes que el certificador especificado no autorizó, pero escribe información sobre la implementación que no cumple con la política en el registro de auditoría.

Usa una regla específica del clúster

En los siguientes ejemplos, se muestra una regla específica del clúster que solo permite que se implementen las imágenes de contenedor que los certificadores especificados autorizaron:

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

Aquí, la regla específica del clúster solo se aplica a las imágenes de contenedor implementadas en us-east1-a.prod-cluster. La regla requiere la certificación de dos certificadores antes de que se pueda implementar una imagen.

Agrega imágenes exentas

En el siguiente ejemplo, se muestra cómo agregar rutas adicionales en Container Registry o en otro registro a la lista de imágenes exentas de la política:

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

Aquí, los patrones de coincidencia de las imágenes exentas adicionales son grc.io/example-project-1/* y grc.io/example-project-2/my-app.