In diesem Dokument wird beschrieben, wie Sie APIs für Software Delivery Shield aktivieren und die erforderlichen Berechtigungen zum Ansehen von Sicherheitsinformationen erteilen. Software Delivery Shield ist eine vollständig verwaltete Sicherheitslösung für die Softwarelieferkette in Google Cloud.
Für Statistiken erforderliche APIs aktivieren
Zum Erfassen und Aufrufen von Informationen zur Softwarelieferkette sind die folgenden APIs erforderlich:
- Container Analysis API zum Speichern von Metadaten, die von anderen Google Cloud-Diensten generiert und verwendet werden.
- Container Scanning API zum Scannen von in Artifact Registry gespeicherten Container-Images auf Sicherheitslücken und andere Metadaten Wenn Sie diese API aktivieren, wird die Container Analysis API automatisch aktiviert.
- Artifact Registry zum Speichern Ihrer Build-Artefakte. 1
- Cloud Build zum Generieren von Build-Herkunftsmetadaten
- (Nur GKE) Container Security API zum Scannen laufender Arbeitslasten auf Sicherheitslücken des Betriebssystems.
Sie müssen die Container Scanning API im selben Google Cloud-Projekt wie Artifact Registry ausführen. Sie können andere Google Cloud-Dienste ausführen, die die Registry in separaten Projekten verwenden.
1 Container Registry wird von der Container Scanning API automatisch aktiviert. Software Delivery Shield bietet begrenzte Daten zu vorhandenen Funktionen und unterstützt einige Funktionen in der privaten Vorschau nicht. Wenn Sie derzeit Container Registry verwenden, sollten Sie auf Artifact Registry umstellen.
So aktivieren Sie APIs, die zum Generieren und Aufrufen von Statistiken erforderlich sind:
Console
Alle Dienste im selben Projekt verwenden
Aktivieren Sie die erforderlichen APIs zusammen.
Separate Projekte verwenden
Aktivieren Sie Container Scanning und Artifact Registry in dem Projekt, in dem Sie Artifact Registry ausführen möchten.
Aktivieren Sie die Cloud Build API in Projekten, in denen Sie Cloud Build ausführen.
Aktivieren Sie die Container Security API in Projekten, in denen Sie GKE ausführen.
Google Cloud CLI
Alle Dienste im selben Projekt verwenden
Aktivieren Sie die erforderlichen APIs zusammen.
gcloud services enable containerscanning.googleapis.com \
cloudbuild.googleapis.com \
artifactregistry.googleapis.com \
containersecurity.googleapis.com
Separate Projekte verwenden
Aktivieren Sie Container Scanning und Artifact Registry in dem Projekt, in dem Sie Artifact Registry ausführen möchten. Ersetzen Sie
AR_PROJECT
durch die entsprechende Google Cloud-Projekt-ID.gcloud services enable containerscanning.googleapis.com \ artifactregistry.googleapis.com \ --project=AR_PROJECT
Aktivieren Sie die Cloud Build API in Projekten, in denen Sie Cloud Build ausführen. Ersetzen Sie
BUILD_PROJECT
durch die entsprechende Google Cloud-Projekt-ID.gcloud services enable cloudbuild.googleapis.com \ --project=BUILD_PROJECT
Aktivieren Sie die Container Security API in Projekten, in denen Sie GKE ausführen. Ersetzen Sie
GKE_PROJECT
durch die entsprechende Google Cloud-Projekt-ID.gcloud services enable containersecurity.googleapis.com \ --project=BUILD_PROJECT
Sie haben die erforderlichen Mindest-APIs aktiviert, um Statistiken in Software Delivery Shield-Feldern und im GKE-Sicherheitsstatus-Dashboard in der Google Cloud Console zu generieren und aufzurufen.
Sie können APIs für andere Dienste über die API-Bibliothek oder den Befehl gcloud services enable aktivieren.
Berechtigungen zum Aufrufen von Statistiken erteilen
Sie benötigen die folgenden Rollen oder eine Rolle mit entsprechenden Berechtigungen, um Software Delivery Shield-Statistiken in der Google Cloud Console aufzurufen:
- Cloud Build-Betrachter (
roles/cloudbuild.builds.viewer
): Sehen Sie sich Statistiken für einen Build an. - Betrachter von Container Analysis-Vorkommen (
roles/containeranalysis.occurrences.viewer
): Sehen Sie sich Sicherheitslücken, die Build-Herkunft und andere Abhängigkeiten an. - Cloud Run-Betrachter (
roles/run.viewer
): Sehen Sie sich Statistiken für eine Cloud Run-Überarbeitung an. - Kubernetes Engine-Clusterbetrachter (
roles/container.clusterViewer
): Sehen Sie Statistiken für einen GKE-Cluster an.
Diese Berechtigungen bieten Zugriff auf Statistiken, jedoch keine Berechtigungen für andere Aktionen wie das Ausführen von Builds in Cloud Build.
- Weitere Informationen zu den erforderlichen Berechtigungen für einen bestimmten Dienst finden Sie in der Dokumentation des jeweiligen Dienstes.
- Informationen zum Gewähren von Berechtigungen finden Sie in der Dokumentation zu Identity and Access Management unter Projekten Berechtigungen gewähren.
Viele Dienste haben standardmäßig Berechtigungen für andere Dienste im selben Projekt, können aber nicht auf Ressourcen in einem anderen Projekt zugreifen. Wenn Sie Dienste in verschiedenen Google Cloud-Projekten ausführen oder benutzerdefinierte IAM-Rollen oder benutzerdefinierte Dienstkonten verwenden, müssen Sie die entsprechenden Berechtigungen selbst erteilen.
Beispiel 1
Cloud Build, Artifact Registry, Container Analysis und Cloud Run werden alle im selben Projekt ausgeführt. Jeder Dienst verwendet das Standarddienstkonto, um im Namen des Dienstes zu handeln. Die Standardberechtigungen bleiben unverändert. Die Dienste können alle zusammen verwendet werden, ohne dass Berechtigungen geändert werden müssen. Sie müssen jedoch Nutzern, die Statistiken im Projekt sehen sollen, Berechtigungen erteilen.
- Berechtigungen zwischen Diensten
Es sind keine Änderungen erforderlich:
- Das standardmäßige Cloud Build-Dienstkonto hat Berechtigungen zum Hochladen und Herunterladen mit Artifact Registry sowie zum Lesen von Statistikdaten aus Container Analysis, damit der Dienst Container-Images mit Build-Herkunft signieren und an Artifact Registry übertragen kann.
- Cloud Run-Überarbeitungen verwenden das Compute Engine-Standarddienstkonto für Bereitstellungen, das Berechtigungen zum Herunterladen von Images aus Artifact Registry und zum Lesen von Statistikdaten aus Container Analysis hat.
- Nutzerberechtigungen zum Ansehen von Statistiken
Sie müssen Nutzern von Cloud Build und Cloud Run die erforderlichen Rollen gewähren, um Statistiken anzusehen.
Beispiel 2
Wenn Artifact Registry und Container Analysis in einem separaten Projekt ausgeführt werden, müssen Sie Berechtigungen für alle projektübergreifenden Aktivitäten explizit von anderen Google Cloud-Diensten gewähren. Sehen Sie sich die folgende Projekteinrichtung an:
- Cloud Build wird in Projekt A ausgeführt
- Artifact Registry und Container Analysis werden in Projekt B ausgeführt
- Cloud Run wird in Projekt C ausgeführt
- Berechtigungen zwischen Diensten
Cloud Build und Cloud Run können nicht auf Ressourcen in anderen Projekten zugreifen, ohne ihnen explizit Zugriff auf die Dienstkonten zu gewähren, die im Namen dieser Dienste handeln. Sie müssen die entsprechenden Artifact Registry-Berechtigungen und Container Analysis-Berechtigungen in Projekt B erteilen, in dem die Artefakte und Artefaktmetadaten gespeichert sind.
Für Cloud Build müssen Sie die folgenden Rollen in Projekt B gewähren:
- Artifact Registry Writer (
roles/artifactregistry.writer
) gewährt Berechtigungen zum Hochladen und Herunterladen. - Der Betrachter von Container Analysis-Ereignissen (
roles/containeranalysis.occurrences.viewer
) gewährt Berechtigungen zum Anzeigen von Statistiken.
- Artifact Registry Writer (
Für Cloud Run müssen Sie diese Rollen in Projekt B gewähren:
- Der Artifact Registry-Leser (
roles/artifactregistry.reader
) gewährt Berechtigungen zum Herunterladen für Deployments. - Der Betrachter von Container Analysis-Ereignissen (
roles/containeranalysis.occurrences.viewer
) gewährt Berechtigungen zum Anzeigen von Statistiken.
- Der Artifact Registry-Leser (
- Nutzerberechtigungen zum Ansehen von Statistiken
In Projekt B müssen Sie Nutzern von Cloud Build und Cloud Run die erforderlichen Rollen für Datenansichten zuweisen.
Nächste Schritte
- Weitere Informationen zu Software Delivery Shield-Diensten finden Sie in der Übersicht.
- Informieren Sie sich über Sicherheitsmaßnahmen für die Softwarelieferkette und wie Software Delivery Shield Ihnen bei der Implementierung helfen kann.