Assured OSS für die Codesicherheit einbinden

Mit dem Premium-Tarif für 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 den Sicherheitskenntnissen und der Erfahrung profitieren, die Google für die Sicherung seiner eigenen Open-Source-Abhängigkeiten einsetzt.

Wenn Sie Assured OSS in Security Command Center einbinden, haben Sie folgende Möglichkeiten:

  • Wählen Sie aus Tausenden von ausgewählten und beliebtesten Java- und Python-Paketen, 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- und JavaScript-Pakete mit Attestierungen von Assured OSS herunterzuladen. Google wird dadurch zu einem bekannten und vertrauenswürdigen Anbieter.
  • Verwenden Sie die SBOMs und VEX in Assured OSS, die in Branchenstandards wie SPDX und CycloneDX verfügbar sind, um mehr über Ihre Komponenten zu erfahren.
  • Steigern Sie das Vertrauen in die Integrität der von Ihnen verwendeten Pakete durch signierte, manipulationssichere Herkunftsdaten von Google.
  • Sicherheitsrisiken reduzieren, da Google neue Sicherheitslücken in ausgewählten Paketen aktiv scannt, findet und behebt.

Hinweise

Führen Sie diese Aufgaben aus, bevor Sie mit den verbleibenden Aufgaben auf dieser Seite fortfahren.

Security Command Center Enterprise-Stufe aktivieren

Prüfen Sie, ob die Security Command Center Enterprise-Stufe auf Organisationsebene aktiviert ist und ob Sie die ersten sechs Schritte im Einrichtungsleitfaden ausgeführt haben.

Berechtigungen auf Organisationsebene einrichten

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

  1. Make sure that you have the following role or roles on the organization: Security Center Admin, Organization Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the organization.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Klicken Sie auf Zugriff erlauben.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.

    5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
    6. Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
    7. Klicken Sie auf Speichern.

    Berechtigungen auf Projektebene einrichten

    1. Make sure that you have the following role or roles on the project: Service Usage Admin, Service Account Admin, Project IAM Admin

      Check for the roles

      1. In the Google Cloud console, go to the IAM page.

        Go to IAM
      2. Select the project.
      3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

      4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

      Grant the roles

      1. In the Google Cloud console, go to the IAM page.

        IAM aufrufen
      2. Wählen Sie das Projekt aus.
      3. Klicken Sie auf Zugriff erlauben.
      4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.

      5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
      6. Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
      7. Klicken Sie auf Speichern.

      Google Cloud CLI einrichten

      In the Google Cloud console, activate Cloud Shell.

      Activate Cloud Shell

      At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

      Assured OSS einrichten

      Console

      1. Rufen Sie in der Google Cloud Console die Seite Risikoübersicht von Security Command Center auf.

        Zur Risikoübersicht

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

      3. Klicken Sie auf Einrichtungsanleitung ansehen.

      4. Klicken Sie auf Codesicherheit einrichten.

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

      6. Wählen Sie das Google Cloud-Projekt aus, in dem Sie die Ressourcen für versicherte Open-Source-Software ablegen möchten.

      7. Klicken Sie auf Assured OSS einrichten.

        Im Rahmen der Einrichtung werden automatisch folgende Schritte ausgeführt:

        • Wenn diese Option ausgewählt ist, wird das neue Dienstkonto assuredoss@PROJECT_ID.gservicesaccount.com erstellt.
        • Weisen Sie dem angegebenen Dienstkonto, das mit Assured OSS verwendet werden soll, die Rolle „Assured OSS User“ zu.
        • Dem angemeldeten Nutzerkonto wird die Rolle „Assured OSS Admin“ zugewiesen, damit das Konto den Dienst konfigurieren kann.
        • Aktiviert die Assured Open Source Software API und, falls noch nicht geschehen, die Artifact Registry API.
        • Der Assured OSS-Proxydienst wird in einer Artifact Registry-Instanz im ausgewählten Projekt eingerichtet. Für jede Sprache (Java, Python und JavaScript) wird ein Repository bereitgestellt. Diese Repositories können Pakete automatisch aus dem kuratierten Portfolio abrufen. Wenn ein Paket nicht im kuratierten Portfolio verfügbar ist, leiten die Repositories die Anfrage an die kanonischen Repositories weiter. Der Proxydienst wird nur in den USA unterstützt.
        • Gewährt Ihnen und dem Dienstkonto Berechtigungen zum Zugriff auf Paketmetadaten und Benachrichtigungen aus Projekten von Google.
      8. Erstellen Sie einen Dienstkontoschlüssel für jedes angegebene Assured OSS-Dienstkonto und laden Sie den Schlüssel im JSON-Format herunter.

      9. Führen Sie in der Befehlszeile auf Ihrem lokalen Computer den folgenden Befehl auf der heruntergeladenen Schlüsseldatei aus, um den base64-codierten String zu erhalten:

        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.

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

        • Java:
          https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
        • Python:
          https://us-python.pkg.dev/PROJECT_ID/assuredoss-python
        • JavaScript:
          https://us-npm.pkg.dev/PROJECT_ID/assuredoss-javascript

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

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

      gcloud

      1. Authentifizieren Sie sich mit einem Nutzerkonto bei Google Cloud, mit dem Sie Assured OSS aktivieren möchten:

        gcloud auth revoke
        gcloud auth application-default revoke
        gcloud auth login
        
      2. Suchen Sie nach dem Projekt, in dem Sie die Ressourcen für Open-Source-Software mit Garantie finden möchten:

        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. Wenn Sie ein neues Dienstkonto für Assured OSS erstellen möchten, anstatt vorhandene Dienstkonten zu verwenden, gehen Sie so vor:

        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.iam.gserviceaccount.com \
          --role roles/assuredoss.user
        

        Ersetzen Sie Folgendes:

        • SERVICE_ACCOUNT_NAME: der Name des Dienstkontos (z. B. assuredoss)
        • PROJECT_ID: die Projekt-ID.
      8. Richten Sie den Assured OSS-Proxydienst in einer Artifact Registry-Instanz ein, indem Sie Assured OSS-Repositories erstellen. Sie müssen Repositories für alle Sprachen erstellen. Der Assured-OSS-Proxydienst, der die Repositories bereitstellt, wird nur in den USA unterstützt.

        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/us/repositories\?repositoryId\=assuredoss-java   -d '{"format": "MAVEN", "mode": "AOSS_REPOSITORY"}'
        
        gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-javascript   -d '{"format": "NPM", "mode": "AOSS_REPOSITORY"}'
        
        gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-python   -d '{"format": "PYTHON", "mode": "AOSS_REPOSITORY"}'
        

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

        Diese Repositories können Pakete automatisch 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.

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

      10. Führen Sie in der Befehlszeile den folgenden Befehl auf der heruntergeladenen Schlüsseldatei aus, um den base64-codierten String zu erhalten:

        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 von Assured OSS für jede Sprache bereitgestellten Endpunkte. Notieren Sie sich diese Endpunkte:

        • Java:
          https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
        • Python:
          https://us-python.pkg.dev/PROJECT_ID/assuredoss-python
        • JavaScript:
          https://us-npm.pkg.dev/PROJECT_ID/assuredoss-javascript

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

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

      13. Optional können Sie sich die verfügbaren Java-, Python- 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/us/repositories/assuredoss-java/packages"
        gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-python/packages"
        gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-javascript/packages"
        

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

      Nächste Schritte