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:
Supervisar: Puedes configurar la validación continua (CV) con políticas de plataforma basadas en verificaciones (Vista previa) para supervisar de forma periódica que las imágenes de contenedor asociadas con los Pods en ejecución cumplan con una política que definas. Si las imágenes no cumplen con la política, la CV produce entradas de registro en Cloud Logging.
Aplicar: puedes configurar la aplicación de Autorización Binaria para aplicar las imágenes que se implementan en una de las plataformas basadas en contenedores compatibles cumplan con una política que definas. Se permite la implementación de las imágenes si cumplen con la política. De lo contrario, no se pueden implementar.
¿Qué plataformas admite Autorización Binaria?
La autorización binaria es compatible con las siguientes plataformas:
- Google Kubernetes Engine (GKE): ejecuta imágenes en clústeres alojados en Google Cloud.
- Cloud Run ejecuta aplicaciones alojadas en contenedores en una plataforma sin servidores completamente administrada.
- Cloud Service Mesh (vista previa): Administra una malla de servicios confiable de forma local o en Google Cloud.
- Clústeres de GKE: Ejecuta las imágenes en los clústeres de GKE.
Productos relacionados con Autorización Binaria
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.
Lifecycle
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:
- Compilación y prueba de unidades
- Implementación en un entorno de desarrollo en el que los usuarios no se ven afectados
- Implementación en un entorno de QA, en el que solo los usuarios internos se ven afectados
- Implementación en un entorno de versión canary, en el que solo se ve afectada una fracción de los usuarios externos
- 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:
- Configura la autorización binaria en GKE
- Configura la autorización binaria en clústeres de GKE (vista previa)
- Configura la autorización binaria en Cloud Run
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:
- Visualiza registros de auditoría (GKE)
- Visualiza registros de auditoría (Cloud Run)
- Visualiza registros de auditoría (clústeres de GKE) (vista previa)
Para obtener más información sobre la implementación, consulta las siguientes guías:
- Implementa contenedores (GKE)
- Implementa contenedores (ejemplo de clústeres de GKE) (vista previa)
- Usa Autorización Binaria con Cloud Run
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?
- Para obtener instructivos completos, consulta los siguientes recursos:
- Configura una política de autorización binaria para Cloud Service Mesh (vista previa) mediante la consola de Google Cloud o la herramienta de línea de comandos.