Für Codesicherheit in Assured OSS einbinden

Assured Open-Source-Software (Assured OSS) können Sie die Codesicherheit verbessern, indem Sie die von Google verwendeten OSS-Pakete nutzen. für seine eigenen Entwickler-Workflows. Wenn Sie Assured OSS verwenden, Entwickelnden das Sicherheits-Know-how und die Erfahrung zu nutzen, die Google schützt seine eigenen Open-Source-Abhängigkeiten.

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

  • Wählen Sie aus über 3.700 ausgewählten und beliebtesten Java und Python Pakete, darunter gängige Methoden für maschinelles Lernen und künstliche Intelligenz wie TensorFlow, Pandas und Scikit-learn.
  • Sicheren Proxy konfigurieren, um alle Java-, Python- und JavaScript-Dateien herunterzuladen Pakete mit Attestierungen von Assured OSS, wodurch Google eines bekannten und vertrauenswürdigen Anbieters.
  • Verwenden Sie die SBOMs und VEX in Assured OSS, die im Branchenstandard bereitgestellt werden wie SPDX und CycloneDX, um mehr über die Zutaten zu erfahren.
  • Vertrauen in die Integrität der von Ihnen verwendeten Pakete erhöhen durch signierte, manipulationssichere Herkunft von Google.
  • Geringeres Sicherheitsrisiko, da Google aktiv neue Sicherheitslücken in ausgewählten Paketen.

Hinweise

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. Prüfen Sie, ob Sie die folgenden Rollen für die Organisation haben: Security Center Admin, Organization Admin

    Auf Rollen prüfen

    1. Öffnen Sie in der Google Cloud Console die Seite IAM.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Suchen Sie in der Spalte Hauptkonto die Zeile mit Ihrer E-Mail-Adresse.

      Ist Ihre E-Mail-Adresse nicht in dieser Spalte enthalten, haben Sie keine Rollen.

    4. Prüfen Sie in der Spalte Rolle der Zeile mit Ihrer E-Mail-Adresse, ob die Liste der Rollen die erforderlichen Rollen enthält.

    Rollen zuweisen

    1. Öffnen Sie in der Google Cloud Console die Seite IAM.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Klicken Sie auf Zugriff erlauben.
    4. Geben Sie in das Feld Neue Hauptkonten Ihre E-Mail-Adresse ein.
    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. Prüfen Sie, ob Sie die folgenden Rollen für das Projekt haben: Service Usage Admin, Service Account Admin, Project IAM Admin

    Auf Rollen prüfen

    1. Öffnen Sie in der Google Cloud Console die Seite IAM.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Suchen Sie in der Spalte Hauptkonto die Zeile mit Ihrer E-Mail-Adresse.

      Ist Ihre E-Mail-Adresse nicht in dieser Spalte enthalten, haben Sie keine Rollen.

    4. Prüfen Sie in der Spalte Rolle der Zeile mit Ihrer E-Mail-Adresse, ob die Liste der Rollen die erforderlichen Rollen enthält.

    Rollen zuweisen

    1. Öffnen Sie in der Google Cloud Console die Seite IAM.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Klicken Sie auf Zugriff erlauben.
    4. Geben Sie in das Feld Neue Hauptkonten Ihre E-Mail-Adresse ein.
    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

Sie können die gcloud CLI-Beispiele auf dieser Seite über eine der folgenden Entwicklungsumgebungen verwenden:

  • Cloud Shell: Aktivieren Sie Cloud Shell, um ein Onlineterminal mit der bereits eingerichteten gcloud CLI zu verwenden.

    Unten auf dieser Seite wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  • Lokale Shell: Zur Verwendung der gcloud CLI in einer lokalen Entwicklungsumgebung müssen Sie die gcloud CLI installieren und initialisieren.

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. Stellen Sie sicher, dass Sie die Organisation sehen, in der Sie das Security Command Center Enterprise-Stufe aktiviert.

  3. Klicken Sie auf Einrichtungsleitfaden 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 erstellt assuredoss@PROJECT_ID.gservicesaccount.com
    • 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 sie nicht bereits aktiviert ist, die Artifact Registry API
    • Richtet den Assured OSS-Proxy-Dienst in einer Artifact Registry-Instanz im ausgewählten Projekt. A für jede Sprache (Java, Python und JavaScript). Diese Repositories können automatisch Pakete von des ausgewählten Portfolios. Wenn ein Paket nicht als Teil des eines ausgewählten Portfolios, leiten die Repositories die Anfrage an den kanonischen Repositories erstellen. Der Proxy-Dienst unterstützt nur die Region USA.
    • Gewährt Ihnen und dem Dienstkonto Berechtigungen für den Zugriff auf das Paket Metadaten und Benachrichtigungen aus Projekten von Google.
  8. Dienstkonto erstellen Schlüssel für jedes festgelegte Assured OSS-Dienstkonto und Laden Sie den Schlüssel im JSON-Format herunter.

  9. Führen Sie in der Befehlszeile auf Ihrem lokalen Computer Führen Sie den folgenden Befehl für die heruntergeladene Schlüsseldatei aus, um den Base64-codierter String:

    base64 KEY_FILENAME.json
    

    Ersetzen Sie KEY_FILENAME.json durch den Namen des Dienstkontoschlüssel, den Sie heruntergeladen haben.

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

  10. Verwenden Sie zum Herunterladen der Pakete die Endpunkte, die Assured OSS-Bereitstellungen für jede Sprache. Notieren Sie sich 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 die Sie bei der Einrichtung von Assured OSS ausgewählt haben.

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

gcloud

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

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

    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. Assured OSS im Projekt aktivieren 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 Proxy-Dienst, der die Repositories bereitstellt, unterstützt die US-Region .

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

    Diese Repositories können automatisch Pakete aus den ausgewählten Ihres Portfolios. Wenn ein Paket nicht im Rahmen des ausgewählten Portfolios verfügbar ist, Die Repositories leiten die Anfrage an die kanonischen Repositories weiter.

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

  10. Geben Sie in der Befehlszeile Führen Sie den folgenden Befehl für die heruntergeladene Schlüsseldatei aus, um den Base64-codierter String:

    base64 KEY_FILENAME.json
    

    Ersetzen Sie KEY_FILENAME.json durch den Namen des Dienstkontoschlüssel, den Sie heruntergeladen haben.

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

  11. Verwenden Sie zum Herunterladen der Pakete die von ihm bereitgestellten Endpunkte. Assured OSS für jede Sprache. 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. Sehen Sie sich optional die verfügbaren Java-, Python- und JavaScript-Pakete an:

    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 Dienstkontoschlüssel, den Sie heruntergeladen haben.

    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