Il livello premium Assured Open Source Software (Assured OSS) ti consente di migliorare la sicurezza del tuo codice utilizzando i pacchetti OSS che Google utilizza per i propri flussi di lavoro per sviluppatori. Quando utilizzi Assured OSS, i tuoi sviluppatori possono sfruttare l'esperienza e le competenze di Google in materia di sicurezza per proteggere le proprie dipendenze open source.
Quando integri Assured OSS con Security Command Center, puoi:
- Scegli tra migliaia di pacchetti Java, Python e Go selezionati e più popolari, tra cui progetti comuni di machine learning e intelligenza artificiale come TensorFlow, Pandas e Scikit-learn.
- Configura un proxy sicuro per scaricare tutti i pacchetti Java, Python, Go e JavaScript con attestazioni da Assured OSS, rendendo Google un fornitore noto e affidabile.
- Utilizza gli SBOM e i VEX in Assured OSS forniti nei formati standard del settore come SPDX e CycloneDX per scoprire di più sui tuoi ingredienti.
- Aumenta la sicurezza dell'integrità dei pacchetti che utilizzi tramite una provenienza firmata a prova di manomissione da parte di Google.
- Ridurre il rischio per la sicurezza poiché Google esegue attivamente la scansione, la ricerca e la correzione di nuove vulnerabilità nei pacchetti selezionati.
Prima di iniziare
Completa queste attività prima di completare le attività rimanenti in questa pagina.
Attiva il livello Enterprise di Security Command Center
Verifica che il livello Security Command Center Enterprise sia attivato a livello di organizzazione.
Configura le autorizzazioni a livello di organizzazione
Devi configurare le autorizzazioni a livello di organizzazione e di progetto.
-
Nella console Google Cloud vai alla pagina IAM.
Vai a IAM - Seleziona l'organizzazione.
-
Nella colonna Entità, trova tutte le righe che identificano te o un gruppo di cui fai parte. Per scoprire a quali gruppi appartieni, contatta il tuo amministratore.
- Per tutte le righe che ti specificano o ti includono, controlla la colonna Ruolo per verificare se l'elenco dei ruoli include i ruoli richiesti.
-
Nella console Google Cloud vai alla pagina IAM.
Vai a IAM - Seleziona l'organizzazione.
- Fai clic su Concedi l'accesso.
-
Nel campo Nuove entità, inserisci il tuo identificatore dell'utente. In genere si tratta dell'indirizzo email di un Account Google.
- Fai clic su Seleziona un ruolo, quindi cerca il ruolo.
- Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo successivo.
- Fai clic su Salva.
Assicurati di disporre dei seguenti ruoli nell'organizzazione: Amministratore Centro sicurezza, Amministratore organizzazione
Controlla i ruoli
Concedi i ruoli
Configura le autorizzazioni a livello di progetto
-
Nella console Google Cloud vai alla pagina IAM.
Vai a IAM - Seleziona il progetto.
-
Nella colonna Entità, trova tutte le righe che identificano te o un gruppo di cui fai parte. Per scoprire a quali gruppi appartieni, contatta il tuo amministratore.
- Per tutte le righe che ti specificano o ti includono, controlla la colonna Ruolo per verificare se l'elenco dei ruoli include i ruoli richiesti.
-
Nella console Google Cloud vai alla pagina IAM.
Vai a IAM - Seleziona il progetto.
- Fai clic su Concedi l'accesso.
-
Nel campo Nuove entità, inserisci il tuo identificatore dell'utente. In genere si tratta dell'indirizzo email di un Account Google.
- Fai clic su Seleziona un ruolo, quindi cerca il ruolo.
- Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo successivo.
- Fai clic su Salva.
Assicurati di disporre dei seguenti ruoli nel progetto: Amministratore Service Usage, Amministratore service account, Amministratore IAM progetto
Controlla i ruoli
Concedi i ruoli
Configura Google Cloud CLI
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Configura Assured OSS
Console
Nella console Google Cloud , vai alla Guida alla configurazione di Security Command Center.
Verifica di visualizzare l'organizzazione su cui hai attivato il livello Security Command Center Enterprise.
Espandi il riquadro Esamina il riepilogo delle funzionalità di sicurezza.
Fai clic su Sicurezza del codice > Configurazione.
Nel riquadro Configura la sicurezza del codice, fai clic su Configurazione AOSS.
Seleziona un nuovo account di servizio o quelli esistenti a cui vuoi aggiungere le autorizzazioni di Assured Open Source Software.
Seleziona il progetto Google Cloud in cui vuoi individuare le risorse Assured OSS.
Fai clic su Configura Assured OSS.
La procedura di configurazione completa automaticamente le seguenti operazioni:
- Se selezionata, crea il nuovo account di servizio
assuredoss@PROJECT_ID.gservicesaccount.com. - Assegna il ruolo Utente Assured OSS all'account di servizio designato da utilizzare con Assured OSS.
- Assegna il ruolo Amministratore Assured OSS all'account utente con cui è stato eseguito l'accesso in modo 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 di proxy Assured OSS in un'istanza Artifact Registry nel progetto che hai selezionato. Viene eseguito il provisioning di un repository per ogni linguaggio (Java, Python, Go e JavaScript). Questi repository possono estrarre automaticamente i pacchetti dal portfolio curato. Se un pacchetto non è disponibile nell'ambito del portfolio curato, i repository reindirizzano la richiesta ai repository canonici. Il servizio proxy supporta solo la regione Stati Uniti. Per saperne di più, consulta Opzioni del repository Assured OSS.
- Concede a te e al account di servizio le autorizzazioni per accedere a metadati dei pacchetti e notifiche dai progetti di proprietà di Google.
- Se selezionata, crea il nuovo account di servizio
Crea una account di servizio account per ogni account di servizio Assured OSS designato e scarica la chiave in formato JSON.
Nella riga di comando sulla tua macchina locale, esegui il seguente comando sul file della chiave scaricato per ottenere la stringa con codifica Base64:
base64 KEY_FILENAME.json
Sostituisci
KEY_FILENAME.jsoncon il nome della chiave del account di servizio che hai scaricato.La stringa con codifica Base64 ti serve quando configuri un repository remoto per Assured OSS.
Per scaricare i pacchetti, utilizza gli endpoint di cui Assured OSS esegue il provisioning per ogni lingua. Prendi nota di 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 - Go:
https://us-go.pkg.dev/
PROJECT_ID/assuredoss-go
Sostituisci
PROJECT_IDcon l'ID del progetto che hai selezionato durante la configurazione di Assured OSS.- Java:
Fai clic su Avanti. Configura Assured OSS con il gestore del repository di artefatti della tua organizzazione, ad esempio JFrog Artifactory o Sonatype Nexus.
gcloud
Esegui l'autenticazione in Google Cloud con un account utente che vuoi utilizzare per attivare Assured OSS:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login
Cerca il progetto in cui vuoi individuare le risorse Assured OSS:
gcloud alpha projects search --query="displayName=PROJECT_NAME"
Sostituisci
PROJECT_NAMEcon il nome del progetto.Imposta il progetto in cui vuoi individuare le risorse Assured OSS:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon l'identificatore del progetto.Concedi i 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 del tuo account utente.Abilita Assured OSS nel progetto. L'attivazione di Assured OSS abilita anche l'API Artifact Registry.
gcloud services enable assuredoss.googleapis.com
Per creare un nuovo account di servizio per Assured OSS anziché utilizzare service account esistenti, completa i seguenti passaggi:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="Service account for using Assured OSS" --display-name="Assured OSS service account"
Sostituisci
SERVICE_ACCOUNT_NAMEcon il nome del account di servizio (ad esempio,assuredoss).Configura i service account 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 account di servizio (ad esempio,assuredoss).PROJECT_ID: l'identificatore del progetto.
- Per accedere al repository dei metadati di sicurezza dopo aver configurato Assured OSS Premium utilizzando gcloud, invia un'email all'indirizzo customer-support-aoss@google.com con gli account di servizio che hai attivato per Assured OSS.
Configura il servizio proxy Assured OSS in un'istanza di Artifact Registry creando repository Assured OSS. Devi creare repository per tutte le lingue. Il servizio proxy Assured OSS che esegue il provisioning dei repository supporta solo 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"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-go -d '{"format": "GO", "mode": "AOSS_REPOSITORY"}'Sostituisci
PROJECT_IDcon l'ID del progetto che hai selezionato durante la configurazione di Assured OSS.Questi repository possono estrarre automaticamente i pacchetti dal portfolio curato. Se un pacchetto non è disponibile come parte del portfolio selezionato, i repository reindirizzano la richiesta ai repository canonici.
Crea una account di servizio account per ogni account di servizio Assured OSS e scarica la chiave in formato JSON.
Nella riga di comando, esegui questo comando sul file della chiave scaricato per ottenere la stringa con codifica Base64:
base64 KEY_FILENAME.json
Sostituisci
KEY_FILENAME.jsoncon il nome della chiave del account di servizio che hai scaricato.La stringa con codifica Base64 ti serve quando configuri un repository remoto per Assured OSS.
Per scaricare i pacchetti, utilizza gli endpoint di cui è stato eseguito il provisioning da 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 - Go:
https://us-go.pkg.dev/
PROJECT_ID/assuredoss-go
Sostituisci
PROJECT_IDcon l'ID del progetto che hai selezionato durante la configurazione di Assured OSS.- Java:
Configura Assured OSS per scaricare i pacchetti con il gestore di repository di artefatti della tua organizzazione, come JFrog Artifactory o Sonatype Nexus.
(Facoltativo) Visualizza i pacchetti Java, Python, Go e JavaScript disponibili:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login --cred-file=KEY_FILENAME.json
Sostituisci
KEY_FILENAME.jsoncon il nome della chiave del account di servizio che hai scaricato.export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILENAME.json
Sostituisci
KEY_FILENAME.jsoncon il nome della chiave del account di servizio che hai scaricato.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" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-go/packages"
Sostituisci
PROJECT_IDcon l'ID del progetto che hai selezionato durante la configurazione di Assured OSS.
Passaggi successivi
- Configurare il supporto per i Controlli di servizio VPC
- Convalidare la connessione
- Scaricare pacchetti Go
- Scarica i pacchetti Java
- Scaricare pacchetti Python
- Configurare un repository remoto
- Verificare i metadati di sicurezza
- Configurare le notifiche per gli aggiornamenti dei pacchetti