Gestión del acceso IAM para los recursos en la nube a los que accede la cadena de herramientas DevSecOps

IBM Cloud® Identity and Access Management (IAM) permite a los administradores asignar funciones específicas como espectador, editor, operador y administrador a usuarios e identidades de servicio. Esto define sus niveles de acceso a recursos como Continuous Delivery, Secrets Manager, Container Registry, Cloud Object Storage, así como a objetivos de despliegue como Kubernetes clusters y Code Engine.

En IBM Cloud DevSecOps pipelines, se requieren diferentes conjuntos de permisos IAM basados en el rol del actor. A grandes rasgos, las funciones en IBM Cloud DevSecOps pueden clasificarse en dos tipos principales:

  • Administradores de canalizaciones Estos roles son los responsables de gestionar y configurar los pipelines de DevSecOps, las cadenas de herramientas y los recursos asociados. Un administrador de pipelines necesita amplios permisos para configurar, gestionar y solucionar problemas de pipelines, incluidas las funciones de editor o administrador para recursos como Toolchain, Continuous Delivery, Container Registry y Secrets Manager. Esto les permite configurar canalizaciones, configurar integraciones de cadenas de herramientas, integrar servicios en la nube, integrar herramientas de seguridad.

  • Ejecutores de canalizaciones Estas funciones se encargan de ejecutar las canalizaciones de DevSecOps, las cadenas de herramientas y los recursos asociados. Un Pipeline Runner, que ejecuta pipelines, requiere permisos limitados centrados en ejecutar builds, desplegar aplicaciones y acceder a los recursos necesarios. El rol proporciona permisos limitados como Operador, Escritor o Lector, permitiéndoles interactuar con los servicios necesarios (por ejemplo, Kubernetes, Code Engine, Cloud Object Storage ) sin modificar configuraciones críticas.

El acceso a los conductos y recursos de DevSecOps puede concederse con dos enfoques principales.

  • Acceso Enfoque basado en grupos
  • Enfoque basado en la identificación del servicio

Ambos métodos admiten la gestión segura del acceso en IBM Cloud. Las claves API asignadas a grupos de acceso son ideales para la gestión centralizada de roles, mientras que las claves API de ID de servicio ofrecen una forma más flexible y segura de autenticar flujos de trabajo automatizados de DevSecOps.

Acceso Enfoque basado en grupos

Este enfoque consiste en asignar usuarios a grupos de acceso, que son servicios con funciones y permisos predefinidos. Mediante el uso de grupos de acceso, los administradores pueden gestionar los permisos de forma centralizada, garantizando la coherencia y la escalabilidad entre varios usuarios. Este método simplifica la gestión de accesos, ya que cualquier cambio en un grupo de acceso se aplica automáticamente a todos los usuarios. Las claves API creadas por los usuarios dentro del grupo de acceso heredan automáticamente los permisos asignados.

A continuación se muestra una tabla en la que se describen los distintos conjuntos de permisos necesarios para la función de administrador de canalizaciones:

Recurso / Servicio Permisos de IAM Notas
IAM Identity Service Creador de la clave API de usuario, Creador del ID de servicio, Operador
Gestión de usuarios Editor
Servicio de grupos de acceso de IAM Editor
Grupo de recursos Visor
IBM Cloud Cadena de herramientas Editor
Continuous Delivery Editor
Secrets Manager Gestor, Administrador Se requiere el rol de Administrador para crear una nueva instancia de Secret Manager y crear la autorización. El rol de Manager es necesario para crear grupos secretos en la instancia Secret Manager.
Cloud Object Storage Escritora, editora
Container Registry Gestor Se requiere el rol de administrador para crear un espacio de nombres en Container Registry

A continuación se muestra una tabla con los distintos conjuntos de permisos necesarios para la función Pipeline Runner:

Recurso / Servicio Permisos de IAM Notas
Grupo de recursos Visor
IBM Cloud Cadena de herramientas Operador de tuberías Se requiere la función de operador para poner en marcha los subductos
Secrets Manager Lector La función de lector es necesaria para ver los metadatos de los secretos
Cloud Object Storage Escritor de objetos, lector
Container Registry Lector, Escritor La función de administrador es necesaria para crear un espacio de nombres en Container Registry, si aún no existe

Basado en el destino de despliegue como IBM Cloud Kubernetes Service (IKS) o IBM Cloud Code Engine, se requieren diferentes permisos IAM para los Administradores de Pipeline y los Ejecutores de Pipeline.

A continuación se muestra una tabla en la que se describen los distintos conjuntos de permisos necesarios para la función de administrador de canalizaciones:

Recurso / Servicio Permisos de IAM Notas
IBM Kubernetes Service Director, Editor
Code Engine Director, Editor

A continuación se muestra una tabla con los distintos conjuntos de permisos necesarios para la función Pipeline Runner:

Recurso / Servicio Permisos de IAM Notas
IBM Kubernetes Service Escritor, Operador
Code Engine Escritor, Operador

Enfoque basado en la identificación del servicio

Los Service ID son identidades no humanas que se utilizan para autenticar y autorizar procesos automatizados, como los pipelines de DevSecOps. Las claves API de ID de servicio conceden permisos específicos a los conductos o servicios sin vincularlos a una cuenta de usuario individual. Este planteamiento mejora la seguridad al garantizar que los conductos funcionen sólo con los permisos necesarios, lo que reduce el riesgo de accesos no autorizados al tiempo que permite una integración perfecta con los servicios de IBM Cloud.

A continuación se muestra una tabla en la que se describen los distintos conjuntos de permisos necesarios para la función de administrador de canalizaciones:

Recurso / Servicio Permisos de IAM Notas
IAM Identity Service Creador de la clave API de usuario, Creador del ID de servicio, Operador
Gestión de usuarios Editor
Servicio de grupos de acceso de IAM Editor
Grupo de recursos Administrador
IBM Cloud Cadena de herramientas Administrador
Continuous Delivery Editor
Secrets Manager Gestor, Administrador Se requiere el rol de Administrador para crear una nueva instancia de Secret Manager y crear la autorización. El rol de Manager es necesario para crear grupos secretos en la instancia Secret Manager.
Cloud Object Storage Escritor, Administrador
Container Registry Gestor Se requiere el rol de administrador para crear un espacio de nombres en Container Registry

A continuación se muestra una tabla con los distintos conjuntos de permisos necesarios para la función Pipeline Runner:

Recurso / Servicio Permisos de IAM Notas
Grupo de recursos Visor
IBM Cloud Cadena de herramientas PipelineRunner, Operador Se requiere la función de operador para poner en marcha los subductos
Secrets Manager Lector La función de lector es necesaria para ver los metadatos de los secretos
Cloud Object Storage Escritor de objetos, lector
Container Registry Lector, Escritor La función de administrador es necesaria para crear un espacio de nombres en Container Registry, si aún no existe

A continuación se muestra una tabla en la que se describen los distintos permisos de IAM necesarios para los administradores y los gestores de canalizaciones, en función del destino de despliegue como IBM Cloud Kubernetes Service (IKS) o IBM Cloud Code Engine:

A continuación se muestra una tabla en la que se describen los distintos conjuntos de permisos necesarios para la función de administrador de canalizaciones:

Recurso / Servicio Permisos de IAM Notas
IBM Kubernetes Service Gestor, Administrador
Code Engine Gestor, Administrador

A continuación se muestra una tabla con los distintos conjuntos de permisos necesarios para la función Pipeline Runner:

Recurso / Servicio Permisos de IAM Notas
IBM Kubernetes Service Escritor, Operador
Code Engine Escritor, Operador