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 Entwickler-Workflows nutzt. Wenn Sie Assured OSS verwenden, können Ihre Entwickler von der Sicherheitsexpertise und -erfahrung profitieren, die Google für den Schutz 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, darunter gängige 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. So wird Google zu einem bekannten und vertrauenswürdigen Anbieter.
  • Mithilfe der SBOMs und VEX in Assured OSS, die in Branchenstandardformaten wie SPDX und CycloneDX bereitgestellt werden, können Sie mehr über Ihre Produkte erfahren.
  • Sie können die Integrität der verwendeten Pakete durch signierte, manipulationssichere Herkunftsdaten von Google besser nachvollziehen.
  • Das Sicherheitsrisiko wird reduziert, da Google kuratierte Pakete aktiv scannt, um neue Sicherheitslücken zu finden und zu beheben.

Hinweise

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

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 column 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.

      Zu IAM
    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 column 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.

        Zu IAM
      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 Einrichtungsanleitung für 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 Code-Sicherheit einrichten auf AOSS-Einrichtung.

      6. 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.

      7. Wählen Sie das Google Cloud Projekt aus, in dem sich die Assured OSS-Ressourcen befinden sollen.

      8. Klicken Sie auf Assured OSS einrichten.

        Im Rahmen der Einrichtung wird Folgendes automatisch erledigt:

        • 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, damit es mit Assured OSS verwendet werden kann.
        • 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 geschehen, 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 und JavaScript) wird ein Repository bereitgestellt. Diese Repositories können automatisch Pakete aus dem kuratierten Portfolio abrufen. Wenn ein Paket nicht im kuratierten Portfolio verfügbar ist, leiten die Repositorys die Anfrage an die kanonischen Repositorys weiter. Der Proxydienst unterstützt nur die Region USA.
        • Gewährt Ihnen und dem Dienstkonto Berechtigungen für den 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 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 Endpunkte, die von Assured OSS für jede Sprache bereitgestellt werden. Notieren Sie sich diese Endpunkte für die spätere Verwendung.

        • 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. Klicken Sie auf Weiter. Assured OSS konfigurieren mit dem Artifact-Repository-Manager Ihrer Organisation, z. B. JFrog Artifactory oder Sonatype Nexus.

      gcloud

      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 sollen:

        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. Dienstkonten für Assured OSS konfigurieren:

        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 Bereitstellung der Repositories übernimmt, unterstützt nur die USA.

        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 automatisch Pakete aus dem kuratierten Portfolio abrufen. Wenn ein Paket nicht als Teil des kuratierten Portfolios 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 für die heruntergeladene 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. Assured OSS konfigurieren, um Pakete mit dem Artefakt-Repository-Manager Ihrer Organisation herunterzuladen, z. B. JFrog Artifactory oder Sonatype Nexus.

      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