En esta página se explica cómo usar la comprobación de firmas de Sigstore de la validación continua (VC) de la autorización binaria. La comprobación verifica las firmas generadas por Sigstore de las imágenes de contenedor asociadas a los pods que se ejecutan en un clúster de GKE en el que está habilitada la verificación de contenedores. La principal diferencia entre esta comprobación y la comprobación de atestación de firma simple es que el flujo de trabajo de firma de Sigstore no usa notas de análisis de artefactos para vincular firmas a imágenes. Todas las firmas se almacenan junto con la imagen que firman.
Esta comprobación solo admite repositorios de Artifact Registry.
Costes
En esta guía se utilizan los siguientes servicios de Google Cloud :
- Autorización binaria, pero CV está disponible sin coste económico durante la fase de vista previa
- GKE
- Cloud Key Management Service
- Artifact Registry
Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Binary Authorization, Cloud Key Management Service, Google Kubernetes Engine, Artifact Registry APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable binaryauthorization.googleapis.com
cloudkms.googleapis.com container.googleapis.com artifactregistry.googleapis.com -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Binary Authorization, Cloud Key Management Service, Google Kubernetes Engine, Artifact Registry APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable binaryauthorization.googleapis.com
cloudkms.googleapis.com container.googleapis.com artifactregistry.googleapis.com - Asegúrate de que la CLI de gcloud esté actualizada a la última versión.
- Instala la herramienta de línea de comandos
kubectl. - Si tus políticas de autorización binaria y tus clústeres de GKE están en proyectos diferentes, asegúrate de que la autorización binaria esté habilitada en ambos proyectos.
- Instala la herramienta de línea de comandos
cosign. -
Si el proyecto de tu clúster es diferente del proyecto de tu política:
Evaluador de políticas de autorización binaria (
roles/binaryauthorization.policyEvaluator) en el agente de servicio de autorización binaria del proyecto del clúster -
Si el proyecto del repositorio de imágenes es diferente del proyecto de la política, haga lo siguiente:
Lector de Artifact Registry (
roles/artifactregistry.reader) en el agente de servicio de autorización binaria del proyecto de la política
Roles obligatorios
En esta sección se explica cómo asignar roles a esta comprobación.
Información general
Si ejecutas todos los productos que se mencionan en esta guía en el mismo proyecto, no tienes que definir ningún permiso. Autorización binaria configura los roles correctamente cuando la habilitas. Si ejecuta los productos en proyectos diferentes, debe asignar roles tal como se describe en esta sección.
Para asegurarte de que el agente de servicio de Autorización binaria de cada proyecto tenga los permisos necesarios para evaluar la comprobación de la firma de Sigstore de CV, pide a tu administrador que conceda al agente de servicio de Autorización binaria de cada proyecto los siguientes roles de gestión de identidades y accesos:
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Es posible que tu administrador también pueda conceder los permisos necesarios al agente de servicio de Autorización Binaria en cada proyecto a través de