Deployment solo delle immagini create da Cloud Build

Questa pagina descrive come proteggere la catena di fornitura del software configurando Autorizzazione binaria per consentire solo le immagini container create da Cloud Build di cui eseguire il deployment.

Per configurare questo controllo del deployment, devi richiedere built-by-cloud-build nel criterio di Autorizzazione binaria. Cloud Build crea automaticamente l'attestatore built-by-cloud-build nel progetto quando esegui una build che genera immagini. Dopo aver creato le immagini, Cloud Build firma e crea automaticamente le attestazioni. Alle ore per il deployment, Autorizzazione binaria verifica le attestazioni built-by-cloud-build attestatore. È consentito eseguire il deployment delle immagini verificate. Le immagini che non superano la verifica non possono essere implementate, e le l'errore viene registrato in Cloud Audit Logs.

Per la guida end-to-end che descrive come utilizzare le registrazioni di Cloud Build metadati e Autorizzazione binaria, consulta Utilizzare la provenienza firmata e Autorizzazione binaria.

Prima di iniziare

Per utilizzare questa funzionalità, devi prima:

Configura il criterio

In questa sezione configurerai il criterio di Autorizzazione binaria per richiedere il built-by-cloud-build attestatore.

Per consentire il deployment solo delle immagini create da Cloud Build, esegui la seguenti passaggi:

Console

  1. Vai alla pagina Autorizzazione binaria nella console Google Cloud:

    Vai ad Autorizzazione binaria

  2. Nella scheda Norme, fai clic su Modifica criterio.

  3. Nella finestra di dialogo Modifica criterio, seleziona Consenti solo le immagini che sono state approvati da tutti i seguenti attestatori.

  4. Fai clic su Aggiungi attestatori.

  5. Nella finestra di dialogo Aggiungi attestatori, procedi nel seguente modo:

    1. Seleziona Aggiungi per nome progetto e attestatore ed esegui le seguenti operazioni passaggi:
        .
      1. Nel campo Nome progetto, inserisci il progetto in cui esegui in Cloud Build.
      2. Fai clic sul campo Nome attestatore e tieni presente che L'attestatore built-by-cloud-build è disponibile.
      3. Fai clic su built-by-cloud-build.
    2. In alternativa, seleziona Aggiungi tramite ID risorsa attestatore. In ID risorsa attestatore, inserisci

      projects/PROJECT_ID/attestors/built-by-cloud-build
      

      Sostituzione di PROJECT_ID con il progetto in cui esegui in Cloud Build.

  6. Fai clic su Aggiungi 1 attestatore.

  7. Fai clic su Save Policy (Salva criterio).

gcloud

  1. Esporta il criterio esistente in un file utilizzando il seguente comando:

    gcloud container binauthz policy export > /tmp/policy.yaml
    
  2. Modifica il file dei criteri.

  3. Modifica una delle seguenti regole:

    • defaultAdmissionRule
    • clusterAdmissionRules
    • istioServiceIdentityAdmissionRules
    • kubernetesServiceAccountAdmissionRules
  4. Aggiungi un blocco requireAttestationsBy alla regola se non ne esiste uno .

  5. Nel blocco requireAttestationsBy, aggiungi

    projects/PROJECT_ID/attestors/built-by-cloud-build
    

    Sostituzione di PROJECT_ID con il progetto in cui esegui Cloud Build.

  6. Salva il file del criterio.

  7. Importa il file dei criteri.

    gcloud container binauthz policy import /tmp/policy.yaml
    

    Di seguito è riportato un esempio di file di criteri che contiene il riferimento alla built-by-cloud-build-attestor:

    defaultAdmissionRule:
      evaluationMode: REQUIRE_ATTESTATION
      enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
      requireAttestationsBy:
        - projects/PROJECT_ID/attestors/built-by-cloud-build
    name: projects/PROJECT_ID/policy
    

    Sostituisci PROJECT_ID con l'ID progetto in cui esegui in Cloud Build.

Passaggi successivi