Assured OSS für die Codesicherheit einbinden

Mit der Premium-Stufe von Assured Open Source Software (Assured OSS) können Sie die Sicherheit Ihres Codes verbessern, indem Sie die OSS-Pakete verwenden, die Google für seine eigenen Entwicklerworkflows verwendet. Wenn Sie Assured OSS verwenden, können Ihre Entwickler von der Sicherheitsexpertise und der Erfahrung profitieren, die Google zum Sichern seiner eigenen Open-Source-Abhängigkeiten einsetzt.

Wenn Sie Assured OSS in das Security Command Center einbinden, können Sie Folgendes tun:

  • Wählen Sie aus Tausenden von ausgewählten und beliebten Java-, Python-, Go- und JavaScript-Paketen (NPM), einschließlich gängiger Projekte für maschinelles Lernen und künstliche Intelligenz wie TensorFlow, Pandas und Scikit-learn.
  • Konfigurieren Sie einen sicheren Proxy, um alle Java-, Python-, Go- und JavaScript-Pakete mit Attestierungen von Assured OSS herunterzuladen. Dadurch wird Google zu einem bekannten und vertrauenswürdigen Anbieter.
  • Verwenden Sie die SBOMs und VEX in Assured OSS, die in Branchenstandardformaten wie SPDX und CycloneDX bereitgestellt werden, um mehr über Ihre Komponenten zu erfahren.
  • Erhöhen Sie das Vertrauen in die Integrität der von Ihnen verwendeten Pakete durch signierte, manipulationssichere Herkunftsdaten von Google.
  • Sicherheitsrisiko reduzieren, da Google aktiv nach neuen Sicherheitslücken in ausgewählten Paketen sucht und diese behebt.

Unterstützte Regionen

Die Assured OSS-Premium-Stufe unterstützt die folgenden Google Cloud-Regionen und Multiregionen für Remote-Artifact Registry-Repositories (oder Proxy-Artifact Registry-Repositories):

  • asia-southeast2
  • australia-southeast1
  • australia-southeast2
  • europe-north1
  • europe-north2
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • northamerica-northeast1
  • northamerica-northeast2
  • europe
  • us

Die Unterstützung für Sicherheitsmetadaten ist auf die Multiregion us beschränkt.

Hinweis

Führen Sie diese Aufgaben aus, bevor Sie die verbleibenden Aufgaben auf dieser Seite erledigen.

Security Command Center Enterprise oder Premium aktivieren

Prüfen Sie, ob die Security Command Center Premium-Stufe oder die Security Command Center Enterprise-Stufe auf Organisationsebene aktiviert ist.

Berechtigungen auf Organisationsebene einrichten

Sie müssen Berechtigungen auf Organisations- und Projektebene einrichten.

    Prüfen Sie, ob Sie die folgenden Rollen für die Organisation haben: Security Center-Administrator, Organisationsadministrator

    Rollen prüfen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Suchen Sie in der Spalte Hauptkonto nach allen Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Fragen Sie Ihren Administrator, zu welchen Gruppen Sie gehören.

    4. Prüfen Sie in allen Zeilen, in denen Sie angegeben oder enthalten sind, die Spalte Rolle, um zu sehen, ob die Liste der Rollen die erforderlichen Rollen enthält.

    Rollen zuweisen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Klicken Sie auf Zugriffsrechte erteilen.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Bei einem Nutzer in einem Mitarbeiteridentitätspool ist dies in der Regel dessen Kennung. Weitere Informationen erhalten Sie unter Mitarbeiteridentitätspool-Nutzer in IAM-Richtlinien darstellen oder von Ihrem Administrator.

    5. Klicken Sie auf Rolle auswählen und suchen Sie dann nach der Rolle.
    6. Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
    7. Klicken Sie auf Speichern.

Berechtigungen auf Projektebene einrichten

    Sie benötigen die folgenden Rollen für das Projekt: Service Usage-Administrator, Dienstkontoadministrator, Project IAM Admin

    Rollen prüfen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Suchen Sie in der Spalte Hauptkonto nach allen Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Fragen Sie Ihren Administrator, zu welchen Gruppen Sie gehören.

    4. Prüfen Sie in allen Zeilen, in denen Sie angegeben oder enthalten sind, die Spalte Rolle, um zu sehen, ob die Liste der Rollen die erforderlichen Rollen enthält.

    Rollen zuweisen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Klicken Sie auf Zugriffsrechte erteilen.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Bei einem Nutzer in einem Mitarbeiteridentitätspool ist dies in der Regel dessen Kennung. Weitere Informationen erhalten Sie unter Mitarbeiteridentitätspool-Nutzer in IAM-Richtlinien darstellen oder von Ihrem Administrator.

    5. Klicken Sie auf Rolle auswählen und suchen Sie dann nach der Rolle.
    6. Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
    7. Klicken Sie auf Speichern.

Google Cloud CLI einrichten

Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:

gcloud init

Assured OSS einrichten

Console

Diese Schritte gelten nur für die Security Command Center Enterprise-Stufe.

  1. Rufen Sie in der Google Cloud Console den Einrichtungsleitfaden für das Security Command Center auf.

    Zum Einrichtungsleitfaden

  2. Prüfen Sie, ob Sie die Organisation aufrufen, für die Sie die Security Command Center Enterprise-Stufe aktiviert haben.

  3. Maximieren Sie den Bereich Zusammenfassung der Sicherheitsfunktionen lesen.

  4. Klicken Sie auf Codesicherheit > Einrichten.

  5. Klicken Sie im Bereich Codesicherheit einrichten auf AOSS-Einrichtung.

  6. Wählen Sie ein neues Dienstkonto oder die vorhandenen Dienstkonten aus, denen Sie die Assured Open Source Software-Berechtigungen hinzufügen möchten.

  7. Wählen Sie das Projekt und die Region von Google Cloud aus, in denen Sie die Assured OSS-Ressourcen platzieren möchten.

  8. Klicken Sie auf Assured OSS einrichten.

    Bei der Einrichtung wird Folgendes automatisch ausgeführt:

    • Wenn diese Option ausgewählt ist, wird das neue Dienstkonto assuredoss@PROJECT_ID.gservicesaccount.com erstellt.
    • Weist dem angegebenen Dienstkonto die Rolle „Assured OSS User“ zu, um es mit Assured OSS zu verwenden.
    • Weist dem angemeldeten Nutzerkonto die Rolle „Assured OSS Admin“ zu, damit das Konto den Dienst konfigurieren kann.
    • Aktiviert die Assured Open Source Software API und, falls noch nicht aktiviert, die Artifact Registry API.
    • Richtet den Assured OSS-Proxy-Dienst in einer Artifact Registry-Instanz im ausgewählten Projekt ein. Für jede Sprache (Java, Python, Go und JavaScript (NPM)) wird ein Repository bereitgestellt. Diese Repositories können automatisch Pakete aus dem ausgewählten Portfolio abrufen. Wenn ein Paket nicht im ausgewählten Portfolio verfügbar ist, leiten die Repositories die Anfrage an die kanonischen Repositories weiter. Weitere Informationen finden Sie unter Optionen für Assured OSS-Repositories.
    • Gewährt Ihnen und dem Dienstkonto Berechtigungen zum Zugriff auf Paketmetadaten und Benachrichtigungen aus Projekten von Google.
  9. Erstellen Sie einen Dienstkontoschlüssel für jedes angegebene Assured OSS-Dienstkonto und laden Sie den Schlüssel im JSON-Format herunter.

  10. Führen Sie in der Befehlszeile auf Ihrem lokalen Computer den folgenden Befehl für die heruntergeladene Schlüsseldatei aus, um den base64-codierten String abzurufen:

    base64 KEY_FILENAME.json
    

    Ersetzen Sie KEY_FILENAME.json durch den Namen des heruntergeladenen Dienstkontoschlüssels.

    Sie benötigen den base64-codierten String, wenn Sie ein Remote-Repository für Assured OSS einrichten.

  11. Verwenden Sie zum Herunterladen der Pakete die Endpunkte, die Assured OSS für jede Sprache bereitstellt. Notieren Sie sich diese Endpunkte für die spätere Verwendung.

    • Java:
      https://LOCATION-maven.pkg.dev/PROJECT_ID/assuredoss-java
    • Python:
      https://LOCATION-python.pkg.dev/PROJECT_ID/assuredoss-python
    • JavaScript (NPM):
      https://LOCATION-npm.pkg.dev/PROJECT_ID/assuredoss-javascript
    • Go:
      https://LOCATION-go.pkg.dev/PROJECT_ID/assuredoss-go

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, das Sie beim Einrichten von Assured OSS ausgewählt haben.

    • LOCATION: eine unterstützte Region.

  12. Klicken Sie auf Weiter. Konfigurieren Sie Assured OSS mit dem Artefakt-Repository-Manager Ihrer Organisation, z. B. JFrog Artifactory oder Sonatype Nexus.

gcloud

Diese Schritte gelten für Security Command Center Premium und Enterprise.

  1. Authentifizieren Sie sich bei Google Cloud mit einem Nutzerkonto, das Sie zum Aktivieren von Assured OSS verwenden möchten:

    gcloud auth revoke
    gcloud auth application-default revoke
    gcloud auth login
    
  2. Suchen Sie nach dem Projekt, in dem sich die Assured OSS-Ressourcen befinden:

    gcloud alpha projects search --query="displayName=PROJECT_NAME"
    

    Ersetzen Sie PROJECT_NAME durch den Projektnamen.

  3. Legen Sie das Projekt fest, in dem sich die Assured OSS-Ressourcen befinden sollen:

    gcloud config set project PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch die Projekt-ID.

  4. Weisen Sie dem Nutzerkonto Rollen zu, um Assured OSS einzurichten:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=user:email@domain.com \
      --role=roles/assuredoss.admin
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=user:email@domain.com \
      --role=roles/serviceusage.serviceUsageAdmin
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=user:email@domain.com \
      --role=roles/iam.serviceAccountAdmin
    

    Dabei ist email@domain.com die E-Mail-Adresse Ihres Nutzerkontos.

  5. Aktivieren Sie Assured OSS im Projekt. Wenn Sie Assured OSS aktivieren, wird auch die Artifact Registry API aktiviert.

    gcloud services enable assuredoss.googleapis.com
    
  6. So erstellen Sie ein neues Dienstkonto für Assured OSS, anstatt vorhandene Dienstkonten zu verwenden:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --description="Service account for using Assured OSS"
      --display-name="Assured OSS service account"
    

    Ersetzen Sie SERVICE_ACCOUNT_NAME durch den Namen des Dienstkontos (z. B. assuredoss).

  7. Konfigurieren Sie die Dienstkonten für Assured OSS:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID. \
      --role roles/assuredoss.user
    

    Ersetzen Sie Folgendes:

    • SERVICE_ACCOUNT_NAME: der Name des Dienstkontos (z. B. assuredoss).
    • PROJECT_ID: die Projekt-ID.
  8. Wenn Sie nach der Einrichtung von Assured OSS Premium mit gcloud auf das Repository für Sicherheitsmetadaten zugreifen möchten, senden Sie eine E-Mail an customer-support-aoss@google.com mit den Dienstkonten, die Sie für Assured OSS aktiviert haben.
  9. Richten Sie den Assured OSS-Proxy-Dienst in einer Artifact Registry-Instanz ein, indem Sie Assured OSS-Repositories erstellen. Sie müssen Repositories für alle Sprachen erstellen. Geben Sie die Region an, in der der Assured OSS-Proxy-Dienst die Repositories bereitstellen muss.

    alias gcurlj='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -X'
    
    gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-java   -d '{"format": "MAVEN", "mode": "AOSS_REPOSITORY"}'
    
    gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-javascript   -d '{"format": "NPM", "mode": "AOSS_REPOSITORY"}'
    
    gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-python   -d '{"format": "PYTHON", "mode": "AOSS_REPOSITORY"}'
    
    gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-go   -d '{"format": "GO", "mode": "AOSS_REPOSITORY"}'
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, das Sie beim Einrichten von Assured OSS ausgewählt haben.

    • LOCATION: eine unterstützte Region.

    Diese Repositories können automatisch Pakete aus dem ausgewählten Portfolio abrufen. Wenn ein Paket nicht im kuratierten Portfolio verfügbar ist, leiten die Repositories die Anfrage an die kanonischen Repositories weiter.

  10. Erstellen Sie einen Dienstkontoschlüssel für jedes Assured OSS-Dienstkonto und laden Sie den Schlüssel im JSON-Format herunter.

  11. Führen Sie in der Befehlszeile den folgenden Befehl für die heruntergeladene Schlüsseldatei aus, um den base64-codierten String abzurufen:

    base64 KEY_FILENAME.json
    

    Ersetzen Sie KEY_FILENAME.json durch den Namen des heruntergeladenen Dienstkontoschlüssels.

    Sie benötigen den base64-codierten String, wenn Sie ein Remote-Repository für Assured OSS einrichten.

  12. Verwenden Sie zum Herunterladen der Pakete die von Assured OSS für jede Sprache bereitgestellten Endpunkte. Notieren Sie sich diese Endpunkte:

    • Java:
      https://LOCATION-maven.pkg.dev/PROJECT_ID/assuredoss-java
    • Python:
      https://LOCATION-python.pkg.dev/PROJECT_ID/assuredoss-python
    • JavaScript (NPM):
      https://LOCATION-npm.pkg.dev/PROJECT_ID/assuredoss-javascript
    • Go:
      https://LOCATION-go.pkg.dev/PROJECT_ID/assuredoss-go

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, das Sie beim Einrichten von Assured OSS ausgewählt haben.

    • LOCATION: eine unterstützte Region.

  13. Konfigurieren Sie Assured OSS, um Pakete mit dem Artefakt-Repository-Manager Ihrer Organisation wie JFrog Artifactory oder Sonatype Nexus herunterzuladen.

  14. Optional können Sie sich die verfügbaren Java-, Python-, Go- und JavaScript-Pakete ansehen:

    gcloud auth revoke
    gcloud auth application-default revoke
    gcloud auth login --cred-file=KEY_FILENAME.json
    

    Ersetzen Sie KEY_FILENAME.json durch den Namen des heruntergeladenen Dienstkontoschlüssels.

    export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILENAME.json
    

    Ersetzen Sie KEY_FILENAME.json durch den Namen des heruntergeladenen Dienstkontoschlüssels.

    gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-java/packages"
    gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-python/packages"
    gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-javascript/packages"
    gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-go/packages"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, das Sie beim Einrichten von Assured OSS ausgewählt haben.

    • LOCATION: eine unterstützte Region.

Nächste Schritte