Descripción general de la autorización binaria

En esta página, se proporciona una descripción general de Autorización Binaria.

¿Qué es Autorización Binaria?

Autorización Binaria es un producto de Google Cloud que puedes usar para implementar medidas de seguridad de la cadena de suministro de software cuando desarrollas e implementas aplicaciones basadas en contenedores.

¿Qué hace Autorización Binaria?

Puedes usar Autorización Binaria para realizar las siguientes acciones:

¿Qué plataformas admite Autorización Binaria?

La autorización binaria es compatible con 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 deseas implementar.
  • Artifact Analysis proporciona información sobre las vulnerabilidades que puedes usar con Autorización Binaria para controlar la implementación. Por su lado, Artifact Analysis almacena metadatos de confianza que se usan en el proceso de autorización.
  • Supervisión de seguridad es un panel que puedes usar para evaluar la posición de seguridad de la aplicación en los productos interdependientes de Google Cloud, incluida la autorización binaria.
  • Cloud Build, que produce certificaciones y procedencia que Autorización Binaria puede usarse para la aplicación y la supervisión.
  • Cloud Deploy es un servicio de entrega continua administrado, que automatiza la entrega de aplicaciones a una serie de entornos de destino en una secuencia definida.

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

Fondo

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

Las arquitecturas basadas en contenedores permiten que los equipos desarrollen sistemas muy separados (por ejemplo, los basados en arquitecturas de microservicios) y fomenta el uso de prácticas de desarrollo de ciclo de vida corto, incluida la integración continua (CI) y la implementación continua (CD).

En un entorno de desarrollo basado en contenedores, las imágenes se pueden implementar en una sucesión de clústeres, como pruebas, etapa de pruebas y actualización, que son 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 entorno. Con este servicio, puedes evitar que se implementen imágenes, a menos que cumplan con una política que definas.

Si bien la autorización binaria no prescribe procesos internos ni prácticas recomendadas, te ayuda a aplicar tus propias prácticas mediante la restricción de la implementación de imágenes que no aprobaron las verificaciones requeridas.

Ciclo de vida

Un ciclo de vida de implementación para imágenes puede constar de las siguientes etapas, en las que completar una etapa es un requisito a fin de avanzar a la siguiente, por ejemplo:

  1. Compilación y prueba de unidades
  2. Implementación en un entorno de desarrollo en el que los usuarios no se ven afectados
  3. Implementación en un entorno de QA, en el que solo los usuarios internos se ven afectados
  4. Implementación en un entorno de versión canary, en el que solo se ve afectada una fracción de los usuarios externos
  5. Implementación en la producción

Cada etapa 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 antes de que una imagen pueda pasar a la siguiente etapa. La autorización binaria te permite definir las reglas mediante las que una imagen pasa de una etapa a otra y proporciona los medios para aplicar esas reglas.

Certificaciones

Los casos de uso de autorización binaria más comunes incluyen certificaciones. Una certificación certifica que una imagen específica completó una etapa anterior, como se describió antes. Configura la política de autorización binaria para verificar la certificación antes de permitir que se implemente la imagen. En el momento de la implementación, en lugar de rehacer las actividades que se completaron en etapas anteriores, la autorización binaria solo necesita verificar la certificación.

Los casos de uso que involucran certificaciones incluyen los siguientes:

  • Verificación de compilación, en la que la autorización binaria usa certificaciones para verificar que una imagen se compiló mediante un sistema de compilación específico o una canalización de integración continua (CI).

    Para obtener información sobre cómo configurar una canalización de CI, basada en Cloud Build, que pueda crear una certificación, consulta Integración de Cloud Build.

  • Análisis de vulnerabilidades, en el que Artifact Analysis también analizó la imagen compilada con CI en busca de vulnerabilidades. En este caso, la certificación solo se crea si las vulnerabilidades identificadas cumplen con una política de firma de vulnerabilidades.

    Aprende a configurar una canalización de CI de análisis de vulnerabilidades con Voucher o Kritis Signer.

  • Verificación manual, en la que una persona, por ejemplo, un representante de QA, crea de forma manual la certificación.

    Para obtener información sobre cómo crear una certificación de forma manual, consulta Crea certificaciones.

Consulta Comienza a usar la consola de Google Cloud para obtener un instructivo de certificación de extremo a extremo.

Características

La autorización binaria proporciona las siguientes características:

  • Un modelo de políticas que te permite describir las restricciones bajo las que se pueden implementar las imágenes de contenedor
  • Un modelo de certificación que te permite definir autoridades de confianza que pueden certificar o verificar que se completaron los procesos necesarios en tu entorno antes de la implementación
  • Un ejecutor de tiempo de implementación que impide la implementación de imágenes que infringen la política

Modelo de políticas

La autorización binaria implementa un modelo de políticas, en el que una política es un conjunto de reglas que rige la implementación de imágenes de contenedor. Las reglas en una política proporcionan criterios específicos que una imagen debe satisfacer antes de que se pueda implementar.

Para obtener más información sobre el modelo de políticas de autorización binaria y otros conceptos, consulta Conceptos clave.

Configuración

A fin de configurar la autorización binaria, primero debes habilitar el servicio para los proyectos de Google Cloud que componen la canalización de implementación y autorización.

Luego, debes definir la política que especifique las restricciones bajo las que se pueden implementar las imágenes de contenedor. Si tu política requiere certificaciones antes de la implementación, también debes configurar certificadores que puedan verificar las certificaciones antes de permitir que se implementen imágenes de contenedor asociadas.

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

Autorización

Antes de que se pueda implementar una imagen de contenedor, cualquier firmante obligatorio debe crear una certificación que verifique que la imagen esté lista para avanzar a la siguiente etapa de implementación. La certificación es un registro que contiene la ruta de registro y el resumen de la imagen de contenedor y que se firmó de forma digital con la clave criptográfica privada del firmante.

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

Aplicación

Cuando implementas una imagen, la autorización binaria verifica la política y aplica cualquier regla que encuentre que rija su implementación.

Si la imagen pasa las restricciones definidas en la política, la autorización binaria permite que se implemente. De lo contrario, el servicio bloquea la implementación y escribe un mensaje a los Registros de auditoría de Cloud en el que se describe por qué la imagen no cumple con las políticas.

Para ver los eventos de aplicación de la autorización binaria en los 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 (CV) con políticas de plataforma basadas en verificaciones es una función de la Autorización Binaria que verifica de forma periódica los metadatos de las imágenes de contenedor asociadas con los Pods en ejecución para garantizar el cumplimiento continuo de las políticas.

Obtén más información sobre la CV.

Autorización binaria segura con Controles del servicio de VPC

Los Controles del servicio de VPC mejoran tu capacidad de mitigar el riesgo de copias o transferencias de datos no autorizadas de los servicios y recursos administrados por Google.

Para obtener más información sobre cómo proteger los recursos relacionados con Autorización Binaria, consulta Protege con Controles del servicio de VPC.

Software Delivery Shield

Autorización Binaria forma parte de la solución de Software Delivery Shield. Software Delivery Shield es una solución de seguridad de la cadena de suministro de software completamente administrada y de extremo a extremo que te ayuda a mejorar la seguridad de flujos de trabajo de desarrolladores y herramientas, dependencias de software, sistemas de CI/CD utilizados para compilar y, luego, implementar tu software y entornos de ejecución, como Google Kubernetes Engine y Cloud Run. Si deseas obtener información para usar la autorización binaria con otros componentes de Software Delivery Shield para mejorar la postura de seguridad de la cadena de suministro de software, consulta Descripción general de Software Delivery Shield.

¿Qué sigue?