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.
Prima di iniziare
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Container Registry, Artifact Analysis and Binary Authorization APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Container Registry, Artifact Analysis and Binary Authorization APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - 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:
Visita il menu GKE nella Google Cloud console.
Fai clic su Crea cluster.
Inserisci
test-clusternel campo Nome.Seleziona A livello di zona nelle opzioni Tipo di località.
Seleziona
us-central1-adall'elenco a discesa Zona.Fai clic su Disponibilità, networking, sicurezza e funzionalità aggiuntive.
Nella sezione Sicurezza, seleziona Attiva Autorizzazione binaria.
Seleziona Solo applicazione.
Fai clic su