Gestion de l'accès IAM pour les ressources en nuage auxquelles accèdent les chaînes d'outils DevSecOps
IBM Cloud® Identity and Access Management (IAM) permet aux administrateurs d'attribuer des rôles spécifiques tels que visualiseur, éditeur, opérateur et administrateur aux utilisateurs et aux identités de service. Cela définit leurs niveaux d'accès aux ressources telles que Continuous Delivery, Secrets Manager, Container Registry, Cloud Object Storage, ainsi qu'aux cibles de déploiement telles que les clusters Kubernetes et Code Engine.
Dans les pipelines IBM Cloud DevSecOps, différents ensembles d'autorisations IAM sont nécessaires en fonction du rôle de l'acteur. D'une manière générale, les rôles dans les pipelines IBM Cloud DevSecOps peuvent être classés en deux catégories principales :
-
Administrateurs de pipelines Ces rôles sont responsables de la gestion et de la configuration des pipelines DevSecOps, des chaînes d'outils et des ressources associées. Un administrateur de pipeline a besoin d'autorisations étendues pour configurer, gérer et dépanner les pipelines, y compris des rôles d'éditeur ou d'administrateur pour des ressources telles que Toolchain, Continuous Delivery, Container Registry, et Secrets Manager. Cela leur permet de configurer des pipelines, de configurer des intégrations de chaînes d'outils, d'intégrer des services en nuage, d'intégrer des outils de sécurité.
-
Exécutants de pipeline Ces rôles sont responsables de l'exécution des pipelines DevSecOps, des chaînes d'outils et des ressources associées. Un Pipeline Runner, qui exécute des pipelines, nécessite des autorisations limitées axées sur l'exécution de builds, le déploiement d'applications et l'accès aux ressources nécessaires. Le rôle fournit des autorisations limitées telles que celles d'opérateur, de rédacteur ou de lecteur, ce qui leur permet d'interagir avec les services nécessaires (par exemple, Kubernetes, Code Engine, Cloud Object Storage ) sans modifier les configurations critiques.
L'accès aux pipelines et aux ressources de DevSecOps peut être accordé selon deux approches principales.
- Accès Approche par groupe
- Approche basée sur l'identification du service
Les deux méthodes prennent en charge la gestion sécurisée des accès dans IBM Cloud. Les clés API associées à des groupes d'accès sont idéales pour la gestion centralisée des rôles, tandis que les clés API Service ID offrent un moyen plus flexible et plus sûr d'authentifier les workflows d' DevSecOps automatisés.
Accès Approche par groupe
Cette approche consiste à affecter les utilisateurs à des groupes d'accès, qui sont des services avec des rôles et des autorisations prédéfinis. En utilisant des groupes d'accès, les administrateurs peuvent gérer les autorisations de manière centralisée, ce qui garantit la cohérence et l'évolutivité pour plusieurs utilisateurs. Cette méthode simplifie la gestion des accès, car toute modification apportée à un groupe d'accès s'applique automatiquement à tous les utilisateurs. Les clés API créées par les utilisateurs du groupe d'accès héritent automatiquement des autorisations attribuées.
Voici un tableau décrivant les différents ensembles d'autorisations requises pour le rôle d' administrateur de pipeline :
| Ressource / Service | Autorisations IAM | Remarques |
|---|---|---|
| IAM Identity Service | Créateur de la clé API de l'utilisateur, créateur de l'ID de service, opérateur | |
| Gestion des utilisateurs | Editeur | |
| Service des groupes d'accès IAM | Editeur | |
| Groupe de ressources | Afficheur | |
| IBM Cloud Chaîne d'outils | Editeur | |
| Continuous Delivery | Editeur | |
| Secrets Manager | Responsable, Administrateur | Le rôle d' administrateur est requis pour créer une nouvelle instance de Secret Manager et créer une autorisation. Le rôle de gestionnaire est nécessaire pour créer des groupes secrets dans l'instance de gestion des secrets. |
| Cloud Object Storage | Rédacteur, éditeur | |
| Container Registry | Responsable | Le rôle de gestionnaire est requis pour créer un espace de noms dans Container Registry |
Voici un tableau décrivant les différents ensembles d'autorisations requises pour le rôle de gestionnaire de pipeline :
| Ressource / Service | Autorisations IAM | Remarques |
|---|---|---|
| Groupe de ressources | Afficheur | |
| IBM Cloud Chaîne d'outils | Conducteur de pipeline, opérateur | Le rôle de l'opérateur est nécessaire pour lancer les sous-pipelines |
| Secrets Manager | Lecteur | Le rôle de lecteur est requis pour visualiser les métadonnées des secrets |
| Cloud Object Storage | Rédacteur d'objets, lecteur | |
| Container Registry | Lecteur, écrivain | Le rôle de gestionnaire est requis pour créer un espace de noms dans Container Registry, s'il n'en existe pas déjà un |
En fonction de la cible de déploiement ( IBM Cloud Kubernetes Service (IKS) ou IBM Cloud Code Engine ), différentes autorisations IAM sont requises pour les administrateurs de pipeline et les exécutants de pipeline.
Voici un tableau décrivant les différents ensembles d'autorisations requises pour le rôle d' administrateur de pipeline :
| Ressource / Service | Autorisations IAM | Remarques |
|---|---|---|
| IBM Kubernetes Service | Gestionnaire, rédacteur | |
| Code Engine | Gestionnaire, rédacteur |
Voici un tableau décrivant les différents ensembles d'autorisations requises pour le rôle de gestionnaire de pipeline :
| Ressource / Service | Autorisations IAM | Remarques |
|---|---|---|
| IBM Kubernetes Service | Rédacteur, Opérateur | |
| Code Engine | Rédacteur, Opérateur |
Approche basée sur l'identification du service
Les identifiants de service sont des identités non humaines utilisées pour authentifier et autoriser des processus automatisés, tels que les pipelines DevSecOps. Les clés API d'identification de service accordent des autorisations spécifiques aux pipelines ou aux services sans les lier à un compte d'utilisateur individuel. Cette approche renforce la sécurité en garantissant que les pipelines ne fonctionnent qu'avec les autorisations requises, ce qui réduit le risque d'accès non autorisé tout en permettant une intégration transparente avec les services IBM Cloud.
Voici un tableau décrivant les différents ensembles d'autorisations requises pour le rôle d' administrateur de pipeline :
| Ressource / Service | Autorisations IAM | Remarques |
|---|---|---|
| IAM Identity Service | Créateur de la clé API de l'utilisateur, créateur de l'ID de service, opérateur | |
| Gestion des utilisateurs | Editeur | |
| Service des groupes d'accès IAM | Editeur | |
| Groupe de ressources | Administrateur | |
| IBM Cloud Chaîne d'outils | Administrateur | |
| Continuous Delivery | Editeur | |
| Secrets Manager | Responsable, Administrateur | Le rôle d' administrateur est requis pour créer une nouvelle instance de Secret Manager et créer une autorisation. Le rôle de gestionnaire est nécessaire pour créer des groupes secrets dans l'instance de gestion des secrets. |
| Cloud Object Storage | Rédacteur, administrateur | |
| Container Registry | Responsable | Le rôle de gestionnaire est requis pour créer un espace de noms dans Container Registry |
Voici un tableau décrivant les différents ensembles d'autorisations requises pour le rôle de gestionnaire de pipeline :
| Ressource / Service | Autorisations IAM | Remarques |
|---|---|---|
| Groupe de ressources | Afficheur | |
| IBM Cloud Chaîne d'outils | PipelineRunner, Opérateur | Le rôle de l'opérateur est nécessaire pour lancer les sous-pipelines |
| Secrets Manager | Lecteur | Le rôle de lecteur est requis pour visualiser les métadonnées des secrets |
| Cloud Object Storage | Rédacteur d'objets, lecteur | |
| Container Registry | Lecteur, écrivain | Le rôle de gestionnaire est requis pour créer un espace de noms dans Container Registry, s'il n'en existe pas déjà un |
Voici un tableau décrivant les différentes autorisations IAM requises pour les administrateurs et les exécutants de pipeline, en fonction de la cible de déploiement ( IBM Cloud Kubernetes Service (IKS) ou IBM Cloud Code Engine ):
Voici un tableau décrivant les différents ensembles d'autorisations requises pour le rôle d' administrateur de pipeline :
| Ressource / Service | Autorisations IAM | Remarques |
|---|---|---|
| IBM Kubernetes Service | Responsable, Administrateur | |
| Code Engine | Responsable, Administrateur |
Voici un tableau décrivant les différents ensembles d'autorisations requises pour le rôle de gestionnaire de pipeline :
| Ressource / Service | Autorisations IAM | Remarques |
|---|---|---|
| IBM Kubernetes Service | Rédacteur, Opérateur | |
| Code Engine | Rédacteur, Opérateur |