Configurar una política con la API REST

En esta página se proporcionan instrucciones para configurar una política de autorización binaria mediante la API REST. También puedes realizar estas tareas con la CLI de Google Cloud o la consola deGoogle Cloud . Este paso forma parte de la configuración de la autorización binaria.

Información general

Una política es un conjunto de reglas que rigen el despliegue de una o varias imágenes de contenedor.

Cuando configuras una política mediante la API REST, rellenas los valores en un formato JSON cuya estructura es idéntica a la estructura YAML que se usa en las interacciones de gcloud con el servicio. Para obtener más información, consulta la referencia de las políticas en YAML.

Para configurar una política, debes hacer lo siguiente:

  • Exportar un archivo JSON de una política
  • Añade las imágenes exentas que quieras (opcional).
  • Definir la regla predeterminada
  • Añadir reglas específicas del clúster (opcional)
  • Importar el archivo JSON de la política

La mayoría de las políticas del mundo real comprueban si todos los attestors necesarios han verificado que una imagen de contenedor está lista para desplegarse. En ese caso, también debe crear verificadores al configurar la política.

Definir el proyecto predeterminado

Si aún no lo has hecho, define el proyecto predeterminado: Google Cloud

PROJECT_ID=PROJECT_ID
gcloud config set project ${PROJECT_ID}

donde PROJECT_ID es el ID de tu proyecto.

Exportar la política

Esta sección se aplica a GKE, Distributed Cloud, Cloud Run y Cloud Service Mesh.

Exporta la política a un archivo JSON en tu sistema local:

curl \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "x-goog-user-project: ${PROJECT_ID}" \
    "https://binaryauthorization.googleapis.com/v1/projects/${PROJECT_ID}/policy" \
    -o "/tmp/policy.json"

De forma predeterminada, el archivo tiene el siguiente contenido:

{
  "name": "projects/PROJECT_ID/policy",
  "globalPolicyEvaluationMode": "ENABLE",
  "defaultAdmissionRule": {
    "evaluationMode": "ALWAYS_ALLOW",
    "enforcementMode": "ENFORCED_BLOCK_AND_AUDIT_LOG"
  }
}

Gestionar imágenes exentas

Esta sección se aplica a GKE, Distributed Cloud, Cloud Run y Cloud Service Mesh.

Una imagen exenta es una imagen de contenedor que no está sujeta a las reglas de las políticas. La autorización binaria siempre permite que se desplieguen imágenes exentas.

Para especificar las imágenes exentas, debes incluir sus rutas de registro en admissionWhitelistPatterns. La ruta puede hacer referencia a Container Registry u otro registro de imágenes. El encargado del cumplimiento procesa las imágenes exentas en admissionWhitelistPatterns después de que las imágenes se hayan eximido mediante el modo de evaluación de la política del sistema.