En esta página se incluyen políticas de ejemplo para la autorización binaria especificadas en formato YAML. Para obtener instrucciones sobre cómo configurar políticas en Autorización binaria, consulta Configurar una política con la CLI de Google Cloud o Configurar una política con la consola de Google Cloud .
Permitir todos los despliegues
En el siguiente ejemplo se muestra cómo permitir que se desplieguen todas las imágenes de contenedor sin restricciones.
name: projects/example-project/policy defaultAdmissionRule: evaluationMode: ALWAYS_ALLOW enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
En este caso, la regla predeterminada tiene un
evaluationMode
de ALWAYS_ALLOW
,
lo que provoca que la autorización binaria permita el despliegue de todas las imágenes de contenedor. El valor predeterminado de enforcementMode
es ENFORCED_BLOCK_AND_AUDIT_LOG
, pero, como se permiten todas las implementaciones, esta acción nunca se lleva a cabo.
Bloquear (casi) todos los despliegues
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 correctamente.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Aquí, globalPolicyEvaluationMode
está habilitado para que las imágenes que requiere GKE no se bloqueen por la aplicación de la política.
La regla predeterminada tiene un evaluationMode
de ALWAYS_DENY
, lo que provoca que la autorización binaria deniegue el despliegue de todas las imágenes de contenedor. El valor de enforcementMode
es ENFORCED_BLOCK_AND_AUDIT_LOG
, lo que provoca que la autorización binaria bloquee el despliegue y escriba en el registro de auditoría.
Requerir que los certificadores firmen antes de la implementación
En el siguiente ejemplo se muestra cómo requerir que los certificadores autoricen una versión antes de que se pueda implementar una imagen de contenedor. La implementación se bloquea si no han firmado todos los verificadores.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG requireAttestationsBy: - projects/example-project/attestors/secure-build
En este caso, la regla predeterminada tiene un evaluationMode
de REQUIRE_ATTESTATION
, lo que provoca que la autorización binaria solo permita el despliegue de las imágenes que hayan sido autorizadas por los certificadores necesarios en requireAttestationsBy
.
Permitir implementaciones en modo de prueba
El modo de prueba es un modo de cumplimiento de una política que permite desplegar imágenes no conformes, pero escribe detalles sobre la infracción de la política y el despliegue en el registro de auditoría. El modo 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 se desplieguen todas las imágenes no conformes en el modo 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
En este caso, la regla predeterminada tiene un enforcementMode
de DRYRUN_AUDIT_LOG_ONLY
, lo que permite implementar imágenes que no han sido autorizadas por el attestor especificado, pero escribe información sobre la implementación no conforme en el registro de auditoría.
Usar una regla específica del clúster
En el siguiente ejemplo se muestra una regla específica del clúster que solo permite desplegar las imágenes de contenedor que hayan autorizado los certificadores 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
En este caso, la regla específica del clúster solo se aplica a las imágenes de contenedor desplegadas en us-east1-a.prod-cluster
. La regla requiere la atestación de dos attestors antes de que se pueda desplegar una imagen.
Añadir imágenes exentas
En el siguiente ejemplo se muestra cómo añadir rutas adicionales en Container Registry u otro registro a la lista de imágenes exentas de la 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
En este caso, los patrones de coincidencia de las imágenes exentas adicionales son gcr.io/example-project-1/*
y gcr.io/example-project-2/my-app
.