Descripción general de la autorización binaria

En esta página, se incluye una descripción general de la autorización binaria.

La autorización binaria es un servicio en Google Cloud que proporciona seguridad para la cadena de suministro de software a las aplicaciones basadas en contenedores. Te permite configurar una política que el servicio aplica cuando se intenta implementar una imagen de contenedor en una de las plataformas basadas en contenedores compatibles.

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
  • Container Analysis proporciona información sobre las vulnerabilidades que puedes usar con la autorización binaria para controlar la implementación. Por su lado, Container Analysis almacena metadatos de confianza que se usan en el proceso de autorización.
  • Supervisión de seguridad: un panel que puedes usar para evaluar la posición de seguridad de tu aplicación en los productos independientes de Google Cloud, incluida la autorización binaria.
  • Google 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, que permite o bloquea la implementación de imágenes según la política que configuras.

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

Segundo plano

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.

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.

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 para 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 Container Analysis también analizó la imagen compilada por 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 Google Cloud Console para obtener un instructivo de certificación de extremo a extremo.

Funciones

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 la autorización binaria y otros conceptos, consulta Conceptos clave.

Configuración

Para 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 administre 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 en el registro de auditoría 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) es una función de la autorización binaria que verifica de forma periódica las imágenes de contenedor asociadas con Pods en ejecución para garantizar la conformidad de las políticas.

Obtén más información sobre 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 la autorización binaria, consulta Protege con Controles del servicio de VPC.

¿Qué sigue?