Información general sobre la autorización binaria

En este documento se ofrece una descripción general de la autorización binaria.

¿Qué es la autorización binaria?

Autorización binaria es un Google Cloud producto que puedes usar para implementar medidas de seguridad en la cadena de suministro de software al desarrollar y desplegar aplicaciones basadas en contenedores.

¿Qué hace la autorización binaria?

Puedes usar la autorización binaria para hacer lo siguiente:

¿Qué plataformas admite Autorización de compilación?

Autorización binaria admite las siguientes plataformas:

La autorización binaria forma parte de una arquitectura de implementación que incluye los siguientes productos relacionados:

  • Artifact Registry, Container Registry y otros registros que almacenan las imágenes que quieres desplegar.
  • Artifact Analysis proporciona información sobre vulnerabilidades que puedes usar con Autorización binaria para controlar el despliegue. Por otro lado, Artifact Analysis almacena metadatos de confianza que se utilizan en el proceso de autorización.
  • Monitorización de seguridad: un panel de control que puedes usar para evaluar la postura de seguridad de tu aplicación en productos Google Cloud interdependientes, incluido Autorización binaria.
  • Cloud Build, que genera atestaciones y procedencia que la autorización binaria puede usar para la monitorización y la aplicación.
  • Cloud Deploy es un servicio de entrega continua gestionado que automatiza el envío de aplicaciones a una serie de entornos de destino en una secuencia definida.

La autorización binaria se basa en la especificación Kritis, que forma parte del proyecto de software libre Grafeas.

Fondo

La seguridad de la cadena de suministro de software tiene como objetivo asegurar que el software se obtenga, se compile, se pruebe, se lance y se despliegue de acuerdo con las prácticas recomendadas y los estándares internos.

Las arquitecturas basadas en contenedores permiten a los equipos desarrollar sistemas con un alto nivel de desacoplamiento (por ejemplo, los que se basan en arquitecturas de microservicios) y fomentan el uso de prácticas de desarrollo de ciclo de vida corto, como la integración continua (CI) y el despliegue continuo (CD).

En un entorno de desarrollo basado en contenedores, las imágenes se pueden desplegar en una sucesión de clústeres (como pruebas, preproducción y lanzamiento) que forman parte de la cadena de suministro de software.

El objetivo de la autorización binaria es reducir el riesgo de implementar software defectuoso, vulnerable o no autorizado en este tipo de entornos. Con este servicio, puedes evitar que se desplieguen imágenes a menos que cumplan una política que definas.

Aunque la autorización binaria no prescribe procesos internos ni prácticas recomendadas, te ayuda a aplicar tus propias prácticas restringiendo el despliegue de imágenes que no hayan superado las comprobaciones necesarias.

Ciclo de vida

El ciclo de vida de una implementación de imágenes puede constar de las siguientes fases, donde completar una fase es un requisito previo para pasar a la siguiente. Por ejemplo:

  1. Compilación y pruebas unitarias
  2. Implementación en un entorno de desarrollo en el que los usuarios no se vean afectados
  3. Implementación en un entorno de control de calidad, donde solo se ven afectados los usuarios internos
  4. Implementación en un entorno canary, donde solo se ve afectada una pequeña parte de los usuarios externos
  5. Despliegue en producción

Cada fase puede tener su propio entorno de implementación (por ejemplo, un clúster de GKE o un proyecto de Google Cloud ) y sus propios criterios, que deben cumplirse para que una imagen pueda pasar a la siguiente fase. La autorización binaria te permite definir las reglas por las que una imagen pasa de una fase a otra y proporciona los medios para aplicar esas reglas.

Atestaciones

Los casos prácticos más habituales de la autorización binaria implican atestaciones. Una atestación certifica que una imagen específica ha completado una fase anterior, tal como se ha descrito anteriormente. Puedes configurar la política de autorización binaria para verificar la atestación antes de permitir que se despliegue la imagen. En el momento de la implementación, en lugar de rehacer las actividades que se completaron en fases anteriores, Binary Authorization solo necesita verificar la atestación.

Estos son algunos de los usos de las atestaciones:

  • Verificación de compilación: la autorización binaria usa atestaciones para verificar que una imagen se ha compilado con un sistema de compilación o una canalización de integración continua (CI) específicos.

    Para saber cómo configurar un flujo de procesamiento de CI basado en Cloud Build que pueda crear una certificación, consulta la integración de Cloud Build.

  • Comprobación manual: una persona, por ejemplo, un representante del equipo de control de calidad, crea la certificación manualmente.

    Para saber cómo crear una atestación manualmente, consulta Crear atestaciones.

Consulta el artículo Empezar a usar la consola Google Cloud para ver un tutorial completo sobre la certificación.

Funciones

Autorización binaria ofrece lo siguiente:

  • Un modelo de política que te permite describir las restricciones en las que se pueden desplegar las imágenes
  • Un modelo de atestación que te permite definir autoridades de confianza que puedan atestiguar o verificar que se han completado los procesos necesarios en tu entorno antes de la implementación.
  • Un verificador en tiempo de implementación que impide que se implementen imágenes que infringen la política

Modelo de política

La autorización binaria implementa un modelo de política en el que una política es un conjunto de reglas que rigen el despliegue de imágenes de contenedor. Las reglas de una política proporcionan criterios específicos que una imagen debe cumplir para que pueda desplegarse.

Para obtener más información sobre el modelo de política de Autorización Binaria y otros conceptos, consulta Conceptos clave.

Configuración

Para configurar la autorización binaria, primero debes habilitar el servicio en losGoogle Cloud proyectos que componen tu implementación y tu canalización de autorización.

A continuación, define la política que especifica las restricciones en las que se pueden implementar las imágenes de contenedor. Si tu política requiere atestaciones antes del despliegue, también debes configurar atestadores que puedan verificar las atestaciones antes de permitir que se desplieguen las imágenes asociadas.

Para configurar la autorización binaria, consulta las siguientes guías:

Autorización

Para que se pueda desplegar una imagen, los firmantes necesarios deben crear una atestación que verifique que la imagen está lista para pasar a la siguiente fase de despliegue. La certificación es un registro que contiene la ruta del registro y el digest de la imagen, y que se ha firmado digitalmente con la clave criptográfica privada del firmante.

Para obtener más información sobre la autorización, consulta Usar certificaciones.

Aplicación

Cuando despliegas una imagen, la autorización binaria comprueba la política y aplica cualquier regla que encuentre que rija su despliegue.

Si la imagen cumple las restricciones definidas en la política, la autorización binaria permite que se despliegue. De lo contrario, el servicio bloqueará la implementación y escribirá un mensaje en los registros de auditoría de Cloud que describa por qué la imagen no cumple los requisitos.

Para ver los eventos de aplicación de la autorización binaria en Registros de auditoría de Cloud, consulta las siguientes guías:

Para obtener más información sobre la implementación, consulta las siguientes guías:

Validación continua

La validación continua (VC) con políticas de plataforma basadas en comprobaciones es una función de la autorización binaria que comprueba periódicamente los metadatos de las imágenes de contenedor asociadas a los pods en ejecución para verificar que se siguen cumpliendo las políticas.

Más información sobre el CV

Proteger la autorización binaria con Controles de Servicio de VPC

Controles de Servicio de VPC te permite mitigar el riesgo de que se copien o transfieran datos de tus servicios y recursos gestionados por Google sin autorización.

Para obtener más información sobre cómo proteger los recursos relacionados con Autorización binaria, consulta Protección con los Controles de Servicio de VPC.

Seguridad de la cadena de suministro de software

Autorización binaria es uno de los Google Cloud componentes que puedes usar para proteger tu cadena de suministro de software. Puedes usar la autorización binaria junto con otros Google Cloud productos y funciones para mejorar la seguridad de los flujos de trabajo y las herramientas de los desarrolladores, las dependencias de software, los sistemas de CI/CD que se usan para compilar e implementar tu software, y los entornos de tiempo de ejecución, como Google Kubernetes Engine y Cloud Run. Para obtener más información, consulta el artículo Seguridad de la cadena de suministro de software.

Siguientes pasos