En este documento, se describen los permisos de IAM necesarios para ver las estadísticas de seguridad de Software Delivery Shield. Software Delivery Shield es una solución de seguridad de la cadena de suministro de software completamente administrada en Google Cloud.
Funciones obligatorias
Para ver las estadísticas de Software Delivery Shield en la consola de Google Cloud, debes tener los siguientes roles o una función con permisos equivalentes:
- Visualizador de Cloud Build (
roles/cloudbuild.builds.viewer
): Visualiza estadísticas de una compilación. - Visualizador de casos de Artifact Analysis (
roles/containeranalysis.occurrences.viewer
): Visualiza las vulnerabilidades, la procedencia de la compilación y otra información sobre las dependencias. - Visualizador de Cloud Run (
roles/run.viewer
): Visualiza las estadísticas de una revisión de Cloud Run. - Visualizador de clústeres de Kubernetes Engine (
roles/container.clusterViewer
): Consulta las estadísticas de un clúster de GKE.
Estos permisos proporcionan acceso a las estadísticas, pero no proporcionan permisos para realizar otras acciones, como ejecutar compilaciones en Cloud Build.
- Si quieres obtener detalles sobre los permisos necesarios para un servicio específico, consulta la documentación de ese servicio.
- Para obtener información sobre cómo otorgar permisos, consulta la documentación de Identity and Access Management sobre cómo otorgar permisos a proyectos.
De forma predeterminada, muchos servicios tienen permisos predeterminados para otros servicios en el mismo proyecto, pero no pueden acceder a los recursos de otro proyecto. Si ejecutas servicios en diferentes proyectos de Google Cloud o si usas funciones de IAM personalizadas o cuentas de servicio personalizadas, debes otorgar los permisos correspondientes por tu cuenta.
Otorga permisos cuando los servicios están en el mismo proyecto
Si Cloud Build, Artifact Registry, Artifact Analysis y Cloud Run se ejecutan en el mismo proyecto, cada servicio usa la cuenta de servicio predeterminada para actuar en nombre del servicio, y los permisos predeterminados no se modifican. Los servicios pueden funcionar en conjunto sin cambios en los permisos, pero debes otorgar permisos a los usuarios que necesiten ver las estadísticas del proyecto.
- Permisos entre servicios
No se requieren cambios:
- La cuenta de servicio de Cloud Build predeterminada tiene permisos para subir y descargar con Artifact Registry y leer datos de estadísticas de Artifact Analysis, de modo que el servicio pueda firmar imágenes de contenedor con origen de compilación y enviarlas a Artifact Registry.
- Las revisiones de Cloud Run usan la cuenta de servicio predeterminada de Compute Engine para las implementaciones, que tiene permisos para descargar imágenes de Artifact Registry y leer datos de estadísticas de Artifact Analysis.
- Permisos de los usuarios para ver las estadísticas
Debes otorgar a los usuarios de Cloud Build y Cloud Run los roles necesarios para ver las estadísticas.
Otorga permisos cuando los servicios están en proyectos diferentes
Cuando Artifact Registry y Artifact Analysis se ejecutan en un proyecto independiente de otros servicios de Google Cloud, debes otorgar permisos de forma explícita para toda la actividad entre proyectos. Considera la siguiente configuración del proyecto:
- Cloud Build se ejecuta en el proyecto A
- Artifact Registry y Artifact Analysis se ejecutan en el proyecto B
- Cloud Run se ejecuta en el proyecto C
- Permisos entre servicios
Cloud Build y Cloud Run no pueden acceder a los recursos de otros proyectos sin otorgar de forma explícita acceso a las cuentas de servicio que actúan en nombre de estos servicios. Debes otorgar los permisos de Artifact Registry y los permisos de Artifact Analysis en el proyecto B, en el que se almacenan los artefactos y sus metadatos.
Para Cloud Build, debes otorgar estos roles en el proyecto B:
- El escritor de Artifact Registry (
roles/artifactregistry.writer
) otorga permisos para subir y descargar. - El Visualizador de casos de Artifact Analysis (
roles/containeranalysis.occurrences.viewer
) otorga permisos para mostrar estadísticas.
- El escritor de Artifact Registry (
Para Cloud Run, debes otorgar estos roles en el proyecto B:
- El lector de Artifact Registry (
roles/artifactregistry.reader
) otorga permisos de descarga para implementaciones. - El Visualizador de casos de Artifact Analysis (
roles/containeranalysis.occurrences.viewer
) otorga permisos para mostrar estadísticas.
- El lector de Artifact Registry (
- Permisos de los usuarios para ver las estadísticas
En el proyecto B, debes otorgar a los usuarios de Cloud Build y Cloud Run los roles requeridos para ver las estadísticas.
¿Qué sigue?
- Obtén más información sobre los servicios de Software Delivery Shield en la descripción general.
- Obtén más información sobre las prácticas de seguridad de la cadena de suministro de software y cómo Software Delivery Shield puede ayudarte a implementarlas.