Verwaltung des IAM-Zugriffs für Cloud-Ressourcen, auf die von den DevSecOps Toolchains zugegriffen wird

IBM Cloud® Identity and Access Management (IAM) ermöglicht es Administratoren, Benutzern und Dienstidentitäten bestimmte Rollen wie Betrachter, Redakteur, Bediener und Administrator zuzuweisen. Dies definiert ihre Zugriffsebenen auf Ressourcen wie Continuous Delivery, Secrets Manager, Container Registry, Cloud Object Storage, sowie auf Bereitstellungsziele wie Kubernetes clusters und Code Engine.

In IBM Cloud DevSecOps Pipelines sind je nach Rolle des Akteurs unterschiedliche IAM-Berechtigungen erforderlich. Allgemein können die Rollen in IBM Cloud DevSecOps Pipelines in zwei Haupttypen eingeteilt werden:

  • Pipeline-Administratoren Diese Rollen sind für die Verwaltung und Konfiguration der DevSecOps Pipelines, Toolchains und zugehörigen Ressourcen zuständig. Ein Pipeline-Administrator benötigt weitreichende Berechtigungen, um Pipelines zu konfigurieren, zu verwalten und Fehler zu beheben, einschließlich der Rollen Editor oder Administrator für Ressourcen wie Toolchain, Continuous Delivery, Container Registry und Secrets Manager. So können sie Pipelines konfigurieren, Toolchain-Integrationen konfigurieren, Cloud-Dienste integrieren und Sicherheitstools integrieren.

  • Pipeline-Läufer Diese Rollen sind für die Ausführung der DevSecOps Pipelines, Toolchains und zugehörigen Ressourcen verantwortlich. Ein Pipeline-Runner, der Pipelines ausführt, benötigt begrenzte Berechtigungen, die sich auf die Ausführung von Builds, die Bereitstellung von Anwendungen und den Zugriff auf erforderliche Ressourcen konzentrieren. Die Rolle bietet eingeschränkte Berechtigungen wie Operator, Writer oder Reader, so dass sie mit den erforderlichen Diensten (z. B. Kubernetes, Code Engine, Cloud Object Storage ) interagieren können, ohne kritische Konfigurationen zu ändern.

Der Zugang zu DevSecOps Pipelines und Ressourcen kann auf zwei Arten gewährt werden.

  • Zugang Gruppenbasierter Ansatz
  • Service-ID-basierter Ansatz

Beide Methoden unterstützen die sichere Zugriffsverwaltung in IBM Cloud. API-Schlüssel, die Zugriffsgruppen zugeordnet sind, eignen sich ideal für die zentralisierte Rollenverwaltung, während Service-ID-API-Schlüssel eine flexiblere und sicherere Möglichkeit zur Authentifizierung automatisierter DevSecOps-Workflows bieten.

Zugang Gruppenbasierter Ansatz

Bei diesem Ansatz werden die Benutzer Zugriffsgruppen zugewiesen, die Dienste mit vordefinierten Rollen und Berechtigungen sind. Durch die Verwendung von Zugriffsgruppen können Administratoren Berechtigungen zentral verwalten und so die Konsistenz und Skalierbarkeit für mehrere Benutzer sicherstellen. Diese Methode vereinfacht die Zugangsverwaltung, da alle Änderungen an einer Zugangsgruppe automatisch für alle Benutzer gelten. Die API-Schlüssel, die von Benutzern innerhalb der Zugriffsgruppe erstellt werden, erben automatisch die zugewiesenen Berechtigungen.

In der folgenden Tabelle finden Sie eine Übersicht über die verschiedenen Berechtigungen, die für die Rolle des Pipeline-Administrators erforderlich sind:

Ressource/Dienstleistung IAM-Berechtigungen Hinweise
IAM Identity Service Ersteller des Benutzer-API-Schlüssels, Ersteller der Service-ID, Bediener
Benutzermanagement Bearbeiter
IAM-Zugriffsgruppenservice Bearbeiter
Ressourcengruppe Anzeigeberechtigter
IBM Cloud Werkzeugkette Bearbeiter
Continuous Delivery Bearbeiter
Secrets Manager Manager, Administrator Die Rolle des Administrators ist erforderlich, um eine neue Secret Manager-Instanz zu erstellen und eine Autorisierung zu erzeugen. Die Rolle Manager ist erforderlich, um geheime Gruppen in der Secret Manager-Instanz zu erstellen.
Cloud Object Storage Autorin, Redakteurin
Container Registry Manager Die Rolle Manager ist erforderlich, um einen Namensraum in Container Registry

In der folgenden Tabelle finden Sie eine Übersicht über die verschiedenen Berechtigungen, die für die Rolle des Pipeline-Runners erforderlich sind:

Ressource/Dienstleistung IAM-Berechtigungen Hinweise
Ressourcengruppe Anzeigeberechtigter
IBM Cloud Werkzeugkette Pipeline-Läufer, Bediener Die Rolle des Betreibers ist erforderlich, um die Teilleitungen in Betrieb zu nehmen
Secrets Manager Leseberechtigter Die Leserrolle ist erforderlich, um die Metadaten der Geheimnisse anzuzeigen
Cloud Object Storage Objektschreiber, Leser
Container Registry Leser, Schreiber Die Rolle "Manager" ist erforderlich, um einen Namespace in Container Registry zu erstellen, falls dieser noch nicht vorhanden ist

Je nach Bereitstellungsziel ( IBM Cloud Kubernetes Service (IKS) oder IBM Cloud Code Engine ) sind unterschiedliche IAM-Berechtigungen für Pipeline-Administratoren und Pipeline-Läufer erforderlich.

In der folgenden Tabelle finden Sie eine Übersicht über die verschiedenen Berechtigungen, die für die Rolle des Pipeline-Administrators erforderlich sind:

Ressource/Dienstleistung IAM-Berechtigungen Hinweise
IBM Kubernetes Service Manager, Redakteur
Code Engine Manager, Redakteur

In der folgenden Tabelle finden Sie eine Übersicht über die verschiedenen Berechtigungen, die für die Rolle des Pipeline-Runners erforderlich sind:

Ressource/Dienstleistung IAM-Berechtigungen Hinweise
IBM Kubernetes Service Autorin, Operatorin
Code Engine Autorin, Operatorin

Service-ID-basierter Ansatz

Service-IDs sind nicht-menschliche Identitäten, die zur Authentifizierung und Autorisierung von automatisierten Prozessen verwendet werden, wie z. B. DevSecOps pipelines. Service-ID-API-Schlüssel gewähren bestimmte Berechtigungen für Pipelines oder Dienste, ohne sie an ein individuelles Benutzerkonto zu binden. Dieser Ansatz erhöht die Sicherheit, indem er sicherstellt, dass die Pipelines nur mit den erforderlichen Berechtigungen betrieben werden, wodurch das Risiko eines unbefugten Zugriffs verringert und gleichzeitig eine nahtlose Integration mit den Diensten von IBM Cloud ermöglicht wird.

In der folgenden Tabelle finden Sie eine Übersicht über die verschiedenen Berechtigungen, die für die Rolle des Pipeline-Administrators erforderlich sind:

Ressource/Dienstleistung IAM-Berechtigungen Hinweise
IAM Identity Service Ersteller des Benutzer-API-Schlüssels, Ersteller der Service-ID, Bediener
Benutzermanagement Bearbeiter
IAM-Zugriffsgruppenservice Bearbeiter
Ressourcengruppe Administrator
IBM Cloud Werkzeugkette Administrator
Continuous Delivery Bearbeiter
Secrets Manager Manager, Administrator Die Rolle des Administrators ist erforderlich, um eine neue Secret Manager-Instanz zu erstellen und eine Autorisierung zu erzeugen. Die Rolle Manager ist erforderlich, um geheime Gruppen in der Secret Manager-Instanz zu erstellen.
Cloud Object Storage Autorin, Administratorin
Container Registry Manager Die Rolle Manager ist erforderlich, um einen Namensraum in Container Registry

In der folgenden Tabelle finden Sie eine Übersicht über die verschiedenen Berechtigungen, die für die Rolle des Pipeline-Runners erforderlich sind:

Ressource/Dienstleistung IAM-Berechtigungen Hinweise
Ressourcengruppe Anzeigeberechtigter
IBM Cloud Werkzeugkette PipelineRunner, Betreiber Die Rolle des Betreibers ist erforderlich, um die Teilleitungen in Betrieb zu nehmen
Secrets Manager Leseberechtigter Die Leserrolle ist erforderlich, um die Metadaten der Geheimnisse anzuzeigen
Cloud Object Storage Objektschreiber, Leser
Container Registry Leser, Schreiber Die Rolle "Manager" ist erforderlich, um einen Namespace in Container Registry zu erstellen, falls dieser noch nicht vorhanden ist

In der folgenden Tabelle sind die verschiedenen IAM-Berechtigungen aufgeführt, die für Pipeline-Administratoren und Pipeline-Runner erforderlich sind, basierend auf dem Bereitstellungsziel als IBM Cloud Kubernetes Service (IKS) oder IBM Cloud Code Engine:

In der folgenden Tabelle finden Sie eine Übersicht über die verschiedenen Berechtigungen, die für die Rolle des Pipeline-Administrators erforderlich sind:

Ressource/Dienstleistung IAM-Berechtigungen Hinweise
IBM Kubernetes Service Manager, Administrator
Code Engine Manager, Administrator

In der folgenden Tabelle finden Sie eine Übersicht über die verschiedenen Berechtigungen, die für die Rolle des Pipeline-Runners erforderlich sind:

Ressource/Dienstleistung IAM-Berechtigungen Hinweise
IBM Kubernetes Service Autorin, Operatorin
Code Engine Autorin, Operatorin