Assured OSS für die Codesicherheit einbinden

Der Premium-Preis von Assured Open Source Software (Assured OSS) Mit tier können Sie Ihren Code Sicherheit durch die Nutzung der OSS-Pakete, die Google für seine eigenen Entwickler nutzt Workflows. Wenn Sie Assured OSS verwenden, können Ihre Entwickler das Fachwissen und die Erfahrung, die Google im Bereich Sicherheit einsetzt, ihre eigenen Open-Source-Abhängigkeiten.

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

  • Wählen Sie aus Tausenden von ausgewählte und beliebteste Java- und Python-Pakete, einschließlich gängiger ML- und künstlicher 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.
  • Vertrauen in die Integrität der von Ihnen verwendeten Pakete erhöhen durch signierte, manipulationssichere Herkunft von Google.
  • Sicherheitsrisiken reduzieren, da Google neue Sicherheitslücken in ausgewählten Paketen aktiv scannt, findet und behebt.

Hinweis

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

Security Command Center Enterprise-Stufe aktivieren

Prüfen Sie, ob die Security Command Center Enterprise- Stufe auf der ersten Organisationsebene und dass Sie die ersten sechs Schritte des Einrichtungsleitfadens durchgeführt haben.

Berechtigungen auf Organisationsebene einrichten

Sie müssen Berechtigungen auf Organisationsebene 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, Sie die Berechtigungen für Assured Open Source Software hinzufügen möchten.

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

      7. Klicken Sie auf Assured OSS einrichten.

        Bei der Einrichtung wird Folgendes automatisch abgeschlossen:

        • 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 mit Assured OSS verwendet werden.
        • Weist dem angemeldeten Nutzerkonto die Rolle „Assured OSS Admin“ zu, damit 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. Für jede Sprache (Java, Python und JavaScript) wird ein Repository bereitgestellt. Diese Repositories können automatisch Pakete von des ausgewählten Portfolios. Wenn ein Paket nicht im kuratierten Portfolio verfügbar ist, leiten die Repositories die Anfrage an die kanonischen Repositories weiter. Der Proxy-Dienst wird nur in den USA unterstützt.
        • Gewährt Ihnen und dem Dienstkonto Berechtigungen für den Zugriff auf das Paket Metadaten 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 Sie das Assured OSS finden möchten Ressourcen:

        gcloud config set project PROJECT_ID
        

        Ersetzen Sie PROJECT_ID durch die Projekt-ID.

      4. Gewähren Sie dem Nutzerkonto Rollen zum Einrichten von Assured OSS:

        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 für Ihrem Nutzerkonto.

      5. Aktivieren Sie Assured OSS im Projekt. Wird aktiviert Assured OSS aktiviert auch die Artifact Registry API.

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

        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 Dienstkonto (z. B. assuredoss) zu erstellen.

      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 Dienstkonto (z. B. assuredoss) zu erstellen.
        • PROJECT_ID: die Projekt-ID.
      8. Assured OSS-Proxydienst in einer Artifact Registry einrichten durch Erstellen von Assured OSS-Repositories Du musst 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 Rahmen des ausgewählten Portfolios verfügbar ist, Die Repositories leiten 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 die Sie bei der Einrichtung von Assured OSS ausgewählt haben.

      12. Assured OSS konfigurieren zum Herunterladen von Paketen mit dem Artifact Repository Manager Ihrer Organisation wie 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 Dienstkontoschlüssel, den Sie heruntergeladen haben.

        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 die Sie bei der Einrichtung von Assured OSS ausgewählt haben.

      Nächste Schritte