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 |