Gestione dell'accesso IAM per le risorse cloud a cui si accede con i Toolchain di DevSecOps

IBM Cloud® Identity and Access Management (IAM) consente agli amministratori di assegnare ruoli specifici come Viewer, Editor, Operator e Administrator a utenti e identità di servizio. Questo definisce i loro livelli di accesso a risorse come Continuous Delivery, Secrets Manager, Container Registry, Cloud Object Storage, nonché a target di distribuzione come i cluster Kubernetes e Code Engine.

Nelle pipeline di IBM Cloud DevSecOps sono necessari diversi set di autorizzazioni IAM in base al ruolo dell'attore. In generale, i ruoli nelle pipeline di IBM Cloud DevSecOps possono essere classificati in due tipi principali:

  • Amministratori di pipeline Questi ruoli sono responsabili della gestione e della configurazione delle pipeline di DevSecOps, delle toolchain e delle risorse associate. Un amministratore di pipeline ha bisogno di ampi permessi per configurare, gestire e risolvere i problemi delle pipeline, compresi i ruoli di editor o amministratore per risorse come Toolchain, Continuous Delivery, Container Registry e Secrets Manager. Questo permette di configurare pipeline, configurare integrazioni di toolchain, integrare servizi cloud, integrare strumenti di sicurezza.

  • Esecutori di pipeline Questi ruoli sono responsabili dell'esecuzione delle pipeline DevSecOps, delle toolchain e delle risorse associate. Un Pipeline Runner, che esegue le pipeline, richiede permessi limitati per l'esecuzione delle build, la distribuzione delle applicazioni e l'accesso alle risorse necessarie. Il ruolo fornisce permessi limitati come Operatore, Scrittore o Lettore, consentendo di interagire con i servizi necessari (ad esempio, Kubernetes, Code Engine, Cloud Object Storage ) senza modificare le configurazioni critiche.

L'accesso alle condutture e alle risorse di DevSecOps può essere concesso secondo due approcci principali.

  • Accesso Approccio basato sul gruppo
  • Approccio basato sull'ID del servizio

Entrambi i metodi supportano la gestione sicura degli accessi in IBM Cloud. Le chiavi API mappate ai gruppi di accesso sono ideali per la gestione centralizzata dei ruoli, mentre le chiavi API Service ID offrono un modo più flessibile e sicuro per autenticare i flussi di lavoro automatizzati DevSecOps.

Accesso Approccio basato sul gruppo

Questo approccio prevede l'assegnazione degli utenti ai gruppi di accesso, che sono servizi con ruoli e autorizzazioni predefiniti. Utilizzando i gruppi di accesso, gli amministratori possono gestire centralmente le autorizzazioni, garantendo coerenza e scalabilità tra più utenti. Questo metodo semplifica la gestione degli accessi, poiché qualsiasi modifica apportata a un gruppo di accesso viene applicata automaticamente a tutti gli utenti. Le chiavi API create dagli utenti del gruppo di accesso ereditano automaticamente le autorizzazioni assegnate.

Di seguito è riportata una tabella che illustra i diversi gruppi di permessi richiesti per il ruolo di Amministratore di pipeline:

Risorsa / Servizio Autorizzazioni IAM Note
IAM Identity Service Creatore della chiave API dell'utente, Creatore dell'ID del servizio, Operatore
Gestione degli utenti Editor
Servizio di gruppi di accesso IAM Editor
Gruppo di risorse Visualizzatore
IBM Cloud Catena degli attrezzi Editor
Continuous Delivery Editor
Secrets Manager Manager, Amministratore Il ruolo di amministratore è necessario per creare una nuova istanza di Secret Manager e creare l'autorizzazione. Il ruolo di manager è necessario per creare gruppi segreti nell'istanza Secret Manager.
Cloud Object Storage Scrittore, redattore
Container Registry Gestore Il ruolo di manager è necessario per creare uno spazio dei nomi in Container Registry

Di seguito è riportata una tabella che illustra i diversi set di autorizzazioni richiesti per il ruolo di Pipeline Runner:

Risorsa / Servizio Autorizzazioni IAM Note
Gruppo di risorse Visualizzatore
IBM Cloud Catena degli attrezzi Corridore di condutture, operatore Il ruolo di operatore è necessario per avviare le condotte secondarie
Secrets Manager Lettore Per visualizzare i metadati dei segreti è necessario il ruolo di lettore
Cloud Object Storage Scrittore di oggetti, lettore
Container Registry Lettore, scrittore Il ruolo di manager è necessario per creare uno spazio dei nomi in Container Registry, se non esiste già

In base al target di distribuzione, IBM Cloud Kubernetes Service (IKS) o IBM Cloud Code Engine, sono necessarie autorizzazioni IAM diverse per gli amministratori di pipeline e i runner di pipeline.

Di seguito è riportata una tabella che illustra i diversi gruppi di permessi richiesti per il ruolo di Amministratore di pipeline:

Risorsa / Servizio Autorizzazioni IAM Note
IBM Kubernetes Service Manager, redattore
Code Engine Manager, redattore

Di seguito è riportata una tabella che illustra i diversi set di autorizzazioni richiesti per il ruolo di Pipeline Runner:

Risorsa / Servizio Autorizzazioni IAM Note
IBM Kubernetes Service Scrittore, operatore
Code Engine Scrittore, operatore

Approccio basato sull'ID del servizio

Gli ID dei servizi sono identità non umane utilizzate per autenticare e autorizzare i processi automatizzati, come le pipeline di DevSecOps. Le chiavi API Service ID concedono autorizzazioni specifiche a pipeline o servizi senza legarli a un account utente individuale. Questo approccio migliora la sicurezza garantendo che le pipeline operino solo con le autorizzazioni necessarie, riducendo il rischio di accesso non autorizzato e consentendo al contempo una perfetta integrazione con i servizi di IBM Cloud.

Di seguito è riportata una tabella che illustra i diversi gruppi di permessi richiesti per il ruolo di Amministratore di pipeline:

Risorsa / Servizio Autorizzazioni IAM Note
IAM Identity Service Creatore della chiave API dell'utente, Creatore dell'ID del servizio, Operatore
Gestione degli utenti Editor
Servizio di gruppi di accesso IAM Editor
Gruppo di risorse Amministratore
IBM Cloud Catena degli attrezzi Amministratore
Continuous Delivery Editor
Secrets Manager Manager, Amministratore Il ruolo di amministratore è necessario per creare una nuova istanza di Secret Manager e creare l'autorizzazione. Il ruolo di manager è necessario per creare gruppi segreti nell'istanza Secret Manager.
Cloud Object Storage Scrittore, amministratore
Container Registry Gestore Il ruolo di manager è necessario per creare uno spazio dei nomi in Container Registry

Di seguito è riportata una tabella che illustra i diversi set di autorizzazioni richiesti per il ruolo di Pipeline Runner:

Risorsa / Servizio Autorizzazioni IAM Note
Gruppo di risorse Visualizzatore
IBM Cloud Catena degli attrezzi PipelineRunner, Operatore Il ruolo di operatore è necessario per avviare le condotte secondarie
Secrets Manager Lettore Per visualizzare i metadati dei segreti è necessario il ruolo di lettore
Cloud Object Storage Scrittore di oggetti, lettore
Container Registry Lettore, scrittore Il ruolo di manager è necessario per creare uno spazio dei nomi in Container Registry, se non esiste già

Ecco una tabella che illustra le diverse autorizzazioni IAM richieste per gli amministratori di pipeline e i runner di pipeline, in base al target di distribuzione come IBM Cloud Kubernetes Service (IKS) o IBM Cloud Code Engine:

Di seguito è riportata una tabella che illustra i diversi gruppi di permessi richiesti per il ruolo di Amministratore di pipeline:

Risorsa / Servizio Autorizzazioni IAM Note
IBM Kubernetes Service Manager, Amministratore
Code Engine Manager, Amministratore

Di seguito è riportata una tabella che illustra i diversi set di autorizzazioni richiesti per il ruolo di Pipeline Runner:

Risorsa / Servizio Autorizzazioni IAM Note
IBM Kubernetes Service Scrittore, operatore
Code Engine Scrittore, operatore