Integra Assured OSS per la sicurezza del codice

Software open source Assured (Assured OSS) consente di migliorare la sicurezza del codice mediante i pacchetti OSS utilizzati da Google per i suoi flussi di lavoro degli sviluppatori. Quando utilizzi Assured OSS, i tuoi gli sviluppatori possono sfruttare l'esperienza e le competenze in materia di sicurezza Google si applica alla protezione delle proprie dipendenze open source.

Quando integri Assured OSS con Security Command Center, puoi eseguire le seguenti:

  • Scegli tra migliaia di formati Java e Python curati e più popolari pacchetti, tra cui machine learning e intelligenza artificiale con progetti come TensorFlow, Pandas e Scikit-learn.
  • Configura un proxy sicuro per scaricare tutto Java, Python e JavaScript di pacchetti con attestazioni di Assured OSS, il che rende Google un noto e affidabile.
  • Utilizza SBOM e VEX in Assured OSS forniti nello standard formati come SPDX e CycloneDX per saperne di più sui tuoi ingredienti.
  • Aumenta la fiducia nell'integrità dei pacchetti in uso tramite la provenienza di Google firmata in modo da rilevare eventuali manomissioni.
  • Riduci i rischi per la sicurezza perché Google sta attivamente analizzando, trovando e correggendo nuovi le vulnerabilità in pacchetti selezionati.

Prima di iniziare

Completa queste attività prima di completare quelle rimanenti in questa pagina.

Attiva il livello Security Command Center Enterprise

Verifica che Security Command Center Enterprise viene attivata al livello organizzazione e di aver completato i primi sei passaggi della guida alla configurazione.

Configurare le autorizzazioni a livello di organizzazione

Devi impostare le autorizzazioni a livello di organizzazione e di progetto.

  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.

      Vai a IAM
    2. Seleziona l'organizzazione.
    3. Fai clic su Concedi l'accesso.
    4. Nel campo Nuove entità, inserisci l'identificatore utente. In genere si tratta dell'indirizzo email di un Account Google.

    5. Nell'elenco Seleziona un ruolo, seleziona un ruolo.
    6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungiamo ogni altro ruolo.
    7. Fai clic su Salva.

    Configurare le autorizzazioni a livello di progetto

    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.

        Vai a IAM
      2. Seleziona il progetto.
      3. Fai clic su Concedi l'accesso.
      4. Nel campo Nuove entità, inserisci l'identificatore utente. In genere si tratta dell'indirizzo email di un Account Google.

      5. Nell'elenco Seleziona un ruolo, seleziona un ruolo.
      6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungiamo ogni altro ruolo.
      7. Fai clic su Salva.

      Configura Google Cloud CLI

      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.

      Configura Assured OSS

      Console

      1. Nella console Google Cloud, vai alla pagina Panoramica dei rischi di Security Command Center.

        Vai a Panoramica rischi

      2. Accertati di visualizzare l'organizzazione per la quale hai attivato Livello Security Command Center Enterprise attivo.

      3. Fai clic su Visualizza la guida alla configurazione.

      4. Fai clic su Configura la sicurezza del codice.

      5. Seleziona un nuovo account di servizio o gli account di servizio esistenti che a cui vuoi aggiungere le autorizzazioni di Assured Open Source Software.

      6. Seleziona il progetto Google Cloud in cui vuoi individuare il cluster Risorse Assured OSS.

      7. Fai clic su Configura Assured OSS.

        La procedura di configurazione completa automaticamente quanto segue:

        • Se questa opzione è selezionata, crea il nuovo account di servizio assuredoss@PROJECT_ID.gservicesaccount.com.
        • Assegna il ruolo Utente Assured OSS all'account di servizio designato a con Assured OSS.
        • Assegna il ruolo Amministratore Assured OSS all'account utente che ha effettuato l'accesso in modo che che l'account possa configurare il servizio.
        • Abilita l'API Assured Open Source Software e, se non è già abilitata, l'API Artifact Registry.
        • Configura il servizio proxy Assured OSS in un Artifact Registry nel progetto selezionato. R viene eseguito il provisioning di un repository per ogni linguaggio (Java, JavaScript). Questi repository possono eseguire automaticamente il pull di pacchetti il portfolio selezionato. Se un pacchetto non è disponibile nell'ambito della portfolio selezionato, i repository reindirizzano la richiesta repository canonici. Il servizio di proxy supporta solo la regione degli Stati Uniti.
        • Concede a te e all'account di servizio le autorizzazioni per accedere al pacchetto metadati e notifiche dai progetti di proprietà di Google.
      8. Crea un account di servizio chiave per ciascun account di servizio Assured OSS designato scarica la chiave in formato JSON.

      9. Nella riga di comando sulla macchina locale, esegui questo comando sul file di chiave scaricato per ottenere Stringa con codifica base64:

        base64 KEY_FILENAME.json
        

        Sostituisci KEY_FILENAME.json con il nome del chiave dell'account di servizio scaricata.

        Quando configuri un repository remoto per la configurazione di un repository remoto, è necessaria la stringa con codifica base64 Assured OSS,

      10. Per scaricare i pacchetti, usa gli endpoint Esegui il provisioning di Assured OSS per ogni lingua. Prendi nota questi endpoint per utilizzarli in un secondo momento.

        • 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

        Sostituisci PROJECT_ID con l'ID del progetto che che hai selezionato quando hai configurato Assured OSS.

      11. Fai clic su Avanti. Configura Assured OSS con il gestore di repository di artefatti della tua organizzazione, come JFrog. Artifactory o Sonatype Nexus.

      gcloud

      1. Autentica in Google Cloud con un account utente a cui vuoi per abilitare Assured OSS:

        gcloud auth revoke
        gcloud auth application-default revoke
        gcloud auth login
        
      2. Cerca il progetto in cui vuoi individuare Risorse Assured OSS:

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

        Sostituisci PROJECT_NAME con il nome del progetto.

      3. Imposta il progetto in cui vuoi individuare Assured OSS di risorse:

        gcloud config set project PROJECT_ID
        

        Sostituisci PROJECT_ID con l'identificatore del progetto.

      4. Concedi ruoli all'account utente per configurare 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
        

        Dove email@domain.com è l'indirizzo email di il tuo account utente.

      5. Abilita Assured OSS nel progetto. Abilitazione in corso... Assured OSS abilita anche l'API Artifact Registry.

        gcloud services enable assuredoss.googleapis.com
        
      6. Per creare un nuovo account di servizio per Assured OSS invece di usando account di servizio esistenti, completa le seguenti operazioni:

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

        Sostituisci SERVICE_ACCOUNT_NAME con il nome del (ad esempio assuredoss).

      7. Configura gli account di servizio per Assured OSS:

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

        Sostituisci quanto segue:

        • SERVICE_ACCOUNT_NAME: il nome del (ad esempio assuredoss).
        • PROJECT_ID: l'identificatore del progetto.
      8. Configura il servizio proxy Assured OSS in un Artifact Registry creando repository Assured OSS. Devi e creare repository per tutte le lingue. Assured OSS il servizio di proxy che esegue il provisioning dei repository supporta la regione degli Stati Uniti .

        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"}'
        

        Sostituisci PROJECT_ID con l'ID del progetto che che hai selezionato quando hai configurato Assured OSS.

        Questi repository possono eseguire automaticamente il pull di pacchetti portfolio. Se un pacchetto non è disponibile all'interno del portfolio selezionato, i repository reindirizzano la richiesta ai repository canonici.

      9. Crea un account di servizio chiave per ciascun account di servizio Assured OSS e scarica la chiave in formato JSON.

      10. Nella riga di comando, esegui questo comando sul file di chiave scaricato per ottenere Stringa con codifica base64:

        base64 KEY_FILENAME.json
        

        Sostituisci KEY_FILENAME.json con il nome del chiave dell'account di servizio scaricata.

        Quando configuri un repository remoto per la configurazione di un repository remoto, è necessaria la stringa con codifica base64 Assured OSS,

      11. Per scaricare i pacchetti, utilizza gli endpoint di cui è stato eseguito il provisioning Assured OSS per ogni lingua. Prendi nota di questi endpoint:

        • 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

        Sostituisci PROJECT_ID con l'ID del progetto che che hai selezionato quando hai configurato Assured OSS.

      12. Configura Assured OSS per scaricare i pacchetti con il gestore di repository di artefatti della tua organizzazione come JFrog Artifactory o Sonatype Nexus.

      13. Facoltativamente, visualizza i pacchetti Java, Python e JavaScript disponibili:

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

        Sostituisci KEY_FILENAME.json con il nome del chiave dell'account di servizio scaricata.

        export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILENAME.json
        

        Sostituisci KEY_FILENAME.json con il nome del chiave dell'account di servizio scaricata.

        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"
        

        Sostituisci PROJECT_ID con l'ID del progetto che che hai selezionato quando hai configurato Assured OSS.

      Passaggi successivi