Inizia a utilizzare Software Delivery Shield

Questo documento descrive come abilitare le API per Software Delivery Shield e le autorizzazioni necessarie per visualizzare gli insight sulla sicurezza. Software Delivery Shield è una soluzione completamente gestita per la sicurezza delle catene di fornitura su Google Cloud.

Abilita le API richieste per gli insight

Per raccogliere e visualizzare gli insight relativi alla catena di fornitura del software, sono necessarie le seguenti API:

  • l'API Container Analysis per archiviare i metadati che altri servizi Google Cloud generano e utilizzano.
  • Container Scanning API per eseguire la scansione delle immagini container archiviate in Artifact Registry per rilevare vulnerabilità e altri metadati. L'abilitazione di questa API attiva automaticamente l'API Container Analysis.
  • Artifact Registry per l'archiviazione degli artefatti della build. 1
  • Cloud Build per generare metadati di provenienza della build.
  • (Solo GKE) L'API Container Security per la scansione dei carichi di lavoro in esecuzione per rilevare eventuali vulnerabilità del sistema operativo.

Devi eseguire l'API Container Scanning nello stesso progetto Google Cloud di Artifact Registry. Puoi eseguire altri servizi Google Cloud che utilizzano il registry in progetti separati.

1 Container Registry viene abilitato automaticamente dall'API Container Scanning. Software Delivery Shield fornisce dati limitati per le funzionalità esistenti e non supporta alcune funzionalità nell'anteprima privata. Se attualmente utilizzi Container Registry, valuta la possibilità di passare ad Artifact Registry.

Per abilitare le API necessarie per generare e visualizzare insight:

Console

Utilizzare tutti i servizi nello stesso progetto

Abilitare insieme le API richieste.

Abilita le API

Utilizza progetti separati

  1. Abilita Container Scanning e Artifact Registry nel progetto in cui vuoi eseguire Artifact Registry.

    Abilita le API

  2. Abilita l'API Cloud Build nei progetti in cui esegui Cloud Build.

    Abilita Cloud Build

  3. Abilita l'API Container Security nei progetti in cui esegui GKE.

    Abilita sicurezza del container

Google Cloud CLI

Utilizzare tutti i servizi nello stesso progetto

Abilitare insieme le API richieste.

gcloud services enable containerscanning.googleapis.com \
    cloudbuild.googleapis.com \
    artifactregistry.googleapis.com \
    containersecurity.googleapis.com

Utilizza progetti separati

  1. Abilita Container Scanning e Artifact Registry nel progetto in cui vuoi eseguire Artifact Registry. Sostituisci AR_PROJECT con l'ID progetto Google Cloud appropriato.

    gcloud services enable containerscanning.googleapis.com \
        artifactregistry.googleapis.com \
        --project=AR_PROJECT
    
  2. Abilita l'API Cloud Build nei progetti in cui esegui Cloud Build. Sostituisci BUILD_PROJECT con l'ID progetto Google Cloud appropriato.

    gcloud services enable cloudbuild.googleapis.com \
        --project=BUILD_PROJECT
    
  3. Abilita l'API Container Security nei progetti in cui esegui GKE. Sostituisci GKE_PROJECT con l'ID progetto Google Cloud appropriato.

    gcloud services enable containersecurity.googleapis.com \
         --project=BUILD_PROJECT
    

Hai abilitato le API minime richieste per generare e visualizzare insight nei pannelli Software Delivery Shield e nella dashboard della strategia di sicurezza GKE in Google Cloud Console.

Puoi abilitare le API per altri servizi dalla libreria API o dal comando gcloud services enabled.

Concedere autorizzazioni per visualizzare gli insight

Per visualizzare gli insight di Software Delivery Shield in Google Cloud Console, devi disporre dei seguenti ruoli o di un ruolo con autorizzazioni equivalenti:

Queste autorizzazioni forniscono accesso agli insight, ma non consentono di eseguire altre azioni come l'esecuzione di build in Cloud Build.

  • Per i dettagli sulle autorizzazioni richieste per un servizio specifico, consulta la documentazione di quel servizio.
  • Per saperne di più sulla concessione delle autorizzazioni, consulta la documentazione su Identity and Access Management sulla concessione delle autorizzazioni ai progetti.

Per impostazione predefinita, molti servizi dispongono di autorizzazioni predefinite per altri servizi nello stesso progetto, ma non possono accedere alle risorse in un altro progetto. Se esegui servizi in diversi progetti Google Cloud o se utilizzi ruoli IAM o account di servizio personalizzati, devi concedere personalmente le autorizzazioni appropriate.

Esempio 1

Cloud Build, Artifact Registry, Container Analysis e Cloud Run sono tutti in esecuzione nello stesso progetto. Ogni servizio utilizza l'account di servizio predefinito per agire per conto del servizio e le autorizzazioni predefinite rimangono invariate. I servizi possono interagire tutti insieme senza modificare le autorizzazioni, ma è necessario concedere le autorizzazioni agli utenti che devono visualizzare gli insight nel progetto.

Autorizzazioni tra i servizi

Non sono richieste modifiche:

  • L'account di servizio Cloud Build predefinito ha le autorizzazioni per caricare e scaricare con Artifact Registry e leggere i dati di insight da Container Analysis, in modo che il servizio possa firmare immagini container con provenienza di build e inviarle ad Artifact Registry.
  • Le revisioni di Cloud Run utilizzano l'account di servizio predefinito di Compute Engine per i deployment, che dispone delle autorizzazioni per scaricare le immagini da Artifact Registry e leggere i dati di insight da Container Analysis.
Autorizzazioni degli utenti per visualizzare gli approfondimenti

Per visualizzare gli insight, devi concedere agli utenti di Cloud Build e Cloud Run i ruoli obbligatori.

Esempio 2

Quando Artifact Registry e Container Analysis sono in esecuzione in un progetto separato da altri servizi Google Cloud, devi concedere esplicitamente le autorizzazioni per tutte le attività tra progetti. Considera la seguente configurazione del progetto:

  • Cloud Build viene eseguito nel progetto A
  • Artifact Registry e Container Analysis in esecuzione nel progetto B
  • Cloud Run viene eseguito nel progetto C.
Autorizzazioni tra i servizi

Cloud Build e Cloud Run non possono accedere alle risorse in altri progetti senza concedere esplicitamente l'accesso agli account di servizio che agiscono per conto di questi servizi. Devi concedere le autorizzazioni di Artifact Registry e le autorizzazioni di Container Analysis appropriate nel progetto B, in cui sono archiviati gli artefatti e i metadati degli artefatti.

Per Cloud Build, devi concedere questi ruoli nel progetto B:

  • Artifact Registry Writer (roles/artifactregistry.writer) concede le autorizzazioni per il caricamento e il download.
  • Il visualizzatore occorrenze di Container Analysis (roles/containeranalysis.occurrences.viewer) concede le autorizzazioni per visualizzare gli insight.

Per Cloud Run, devi concedere i seguenti ruoli nel progetto B:

  • Il lettore Artifact Registry (roles/artifactregistry.reader) concede le autorizzazioni per il download dei deployment.
  • Il visualizzatore occorrenze di Container Analysis (roles/containeranalysis.occurrences.viewer) concede le autorizzazioni per visualizzare gli insight.
Autorizzazioni degli utenti per visualizzare gli approfondimenti

Nel progetto B, devi concedere agli utenti di Cloud Build e Cloud Run i ruoli obbligatori per visualizzare gli insight.

Passaggi successivi