Cómo un job obtiene una identidad, y cómo una persona obtiene acceso
Un job demuestra dónde se ejecuta
Un job de pipeline le pide a GitLab un token firmado que nombra su repositorio, su entorno y si su ref está protegida. La federación de identidades de cargas de trabajo de Google Cloud verifica el token; un token de fuera del grupo projectairframe, incluido el de un fork en un espacio de nombres personal, se rechaza antes de leer cualquier vinculación.
Una identidad de apply responde a un solo repositorio
Cada identidad de apply está vinculada al repositorio de su producto, en una ref protegida, en su propio entorno: la de producción responde a jobs en el entorno prod, y en grafana para los paneles del producto. Un job en una rama no protegida, en otro repositorio o en otro entorno no obtiene nada.
Sin claves
No se pueden crear ni subir claves de cuentas de servicio: una política de la organización en la carpeta de la organización de demostración prohíbe ambas cosas, y una política de denegación bloquea la creación de claves para todos salvo el grupo de acceso de emergencia, la cuenta de administrador del arranque y el agente de servicio de Privileged Access Manager. Las credenciales vienen del token del job o del servidor de metadatos.
Las personas reciben concesiones, no roles administrativos permanentes
Un mantenedor que necesita cambiar algo solicita una concesión de Privileged Access Manager con una justificación. Una concesión de roles administrativos necesita la aprobación de otro miembro del grupo de plataforma y dura como máximo dos horas; el acceso de lectura a los registros y al estado de un proyecto de no producción lo aprueba el propio solicitante y dura una hora. Cada concesión queda en el registro de auditoría.
Una imagen se atesta y luego se admite
El compilador de confianza compila cada imagen a partir del commit aprobado. El ejecutor revisa el registro de Cloud Build de esa compilación antes de que una identidad separada firme la atestación de compilación, y la promoción agrega una segunda. Cada servicio que despliega el módulo de Cloud Run del golden path se acoge a la política de Binary Authorization de su proyecto, que en producción admite solo una imagen con ambas; la política se escribe una vez que los proyectos de un producto tienen facturación. La compuerta de aprobación y este sitio web funcionan con la misma regla.
Una versión defectuosa se puede revocar
Las herramientas de pipeline de la plataforma se publican como versiones con fecha. Revocar una, con un merge request a la lista de versiones permitidas, hace que la compuerta de aprobación haga fallar cada nuevo pipeline que aún la incluya, y nombra la versión a la que hay que pasar.