Inizia a utilizzare la console Google Cloud (GKE)

Questo tutorial mostra come configurare e testare un criterio di Autorizzazione binaria che richiede attestazioni. Questo tipo di criterio protegge la catena di fornitura software basata su container definendo chi può eseguire il deployment delle immagini container su Google Kubernetes Engine (GKE) e quali immagini container GKE è autorizzato a eseguire il deployment.

In fase di deployment, Autorizzazione binaria utilizza gli attestatori per verificare le firme digitali nelle attestazioni. Le attestazioni sono state create dai signer nell'ambito del processo di compilazione.

In questo tutorial, il cluster GKE, le attestazioni e gli attestatori si trovano tutti in un unico progetto. Una configurazione a progetto singolo è utile soprattutto per testare o sperimentare il servizio. Per un esempio più realistico, consulta la configurazione multi-progetto.

I passaggi riportati di seguito descrivono le attività che esegui dalla Google Cloud console, nonché alcune attività che esegui utilizzando i comandi gcloud. Per eseguire questi passaggi utilizzando gcloud, consulta la pagina Inizia a utilizzare Google Cloud CLI.

Obiettivi

In questo tutorial imparerai a:

  • Creare un cluster (GKE) con Autorizzazione binaria abilitata
  • Creare un attestatore che l'applicazione di Autorizzazione binaria utilizza per verificare la firma su un'attestazione
  • Configurare un criterio che richiede un'attestazione
  • Creare una coppia di chiavi di crittografia per firmare le attestazioni e verificarle in un secondo momento
  • Firmare il digest di un'immagine container, creando una firma
  • Creare un'attestazione utilizzando la firma
  • Testare il criterio eseguendo il deployment di un'immagine container in GKE

Costi

In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il calcolatore prezzi.

I nuovi Google Cloud utenti potrebbero avere diritto a una prova senza costi.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Container Registry, Artifact Analysis and Binary Authorization APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. Installa Google Cloud CLI.

  6. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  7. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Container Registry, Artifact Analysis and Binary Authorization APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  11. Installa Google Cloud CLI.

  12. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  13. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  14. Installa kubectl.

Imposta il progetto predefinito

Per facilitare i comandi successivi, archivia l'ID progetto in una variabile di ambiente come segue: Google Cloud

PROJECT_ID=PROJECT_ID

dove PROJECT_ID è il nome del tuo progetto.

Se il progetto predefinito non è selezionato, impostalo ora:

gcloud config set project ${PROJECT_ID}

Crea un cluster con Autorizzazione binaria abilitata

Crea il cluster

Ora puoi creare un cluster GKE con Autorizzazione binaria abilitata. Qui crei un cluster denominato test-cluster nella zona GKE us-central1-a.

Per creare il cluster:

  1. Visita il menu GKE nella Google Cloud console.

    Vai a GKE

  2. Fai clic su Crea cluster.

  3. Inserisci test-cluster nel campo Nome.

  4. Seleziona A livello di zona nelle opzioni Tipo di località.

  5. Seleziona us-central1-a dall'elenco a discesa Zona.

  6. Fai clic su Disponibilità, networking, sicurezza e funzionalità aggiuntive.

  7. Nella sezione Sicurezza, seleziona Attiva Autorizzazione binaria.

  8. Seleziona Solo applicazione.

  9. Fai clic su