Configurare un criterio di autorizzazione binaria con Cloud Run
Questa guida rapida mostra come configurare e testare una regola di base in un criterio di Autorizzazione binaria con Cloud Run.
In questa guida rapida, utilizzerai Autorizzazione binaria per controllare il deployment di un dal servizio Cloud Run.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Crea un servizio con Autorizzazione binaria abilitata
Per creare un servizio Cloud Run con l'autorizzazione binaria attivata, segui questi passaggi:
Fai clic su Crea servizio per visualizzare il modulo Crea servizio:
Nel modulo visualizzato:
- Seleziona Cloud Run come piattaforma di sviluppo.
- Seleziona la regione in cui vuoi che si trovi il servizio.
- Specifica il nome che vuoi assegnare al servizio, ad esempio
test-service
. Fai clic su Avanti per passare al modulo Configura prima il servizio di Cloud Shell.
Nel modulo:
- Seleziona Esegui il deployment di una revisione da un'immagine container esistente.
Utilizza
us-docker.pkg.dev/cloudrun/container/hello
come immagine container.Espandi la sezione Impostazioni avanzate.
Fai clic sulla scheda Sicurezza.
Seleziona il pulsante Verifica casella di controllo per il deployment di container con Autorizzazione binaria:
Per impostazione predefinita, il criterio di Autorizzazione binaria consente a tutte le immagini il deployment.
Fai clic su Avanti per passare alla pagina Configura il funzionamento del trigger per questo servizio:
Seleziona Consenti chiamate non autenticate per poter aprire lo risultato nel browser web
Fai clic su Crea per eseguire il deployment dell'immagine in Cloud Run e attendi per completare il deployment.
È stato eseguito il deployment del servizio. Le revisioni sono soggette a Applicazione del criterio di Autorizzazione binaria.
Aggiorna il criterio di autorizzazione binaria per non consentire tutte le immagini
Il criterio di Autorizzazione binaria contiene una regola predefinita. Questa regola regola del servizio Cloud Run che hai appena creato.
Per impostazione predefinita, la regola consente di eseguire il deployment di tutte le immagini container.
Per visualizzare il criterio predefinito:
-
Fai clic su Modifica criterio.
In Regola predefinita del progetto, tieni presente che l'opzione Consenti tutte le immagini è selezionato.
Ora modifica il criterio per bloccare il deployment di tutte le immagini, procedendo nel seguente modo:
Vai alla pagina Autorizzazione binaria nella console Google Cloud.
Fai clic su Modifica criterio.
In Regola predefinita, seleziona Non consentire tutte le immagini.
Fai clic su Save Policy (Salva criterio).
Esegui nuovamente il deployment del servizio
Testa il criterio aggiornato eseguendo il deployment di una nuova revisione.
Per eseguire il deployment dell'immagine, segui questi passaggi:
Fai clic sul nome del servizio di cui hai eseguito il deployment in precedenza in questa guida.
Fai clic su Modifica ed esegui il deployment di una nuova revisione.
Fai clic su Esegui il deployment.
Viene visualizzato un messaggio di errore simile al seguente:
Service update rejected by Binary Authorization policy: RevisionREVISION
uses unauthorized container image. Container image 'us-docker.pkg.dev/cloudrun/container/hello@SHA
' is not authorized by policy. Denied by an ALWAYS_DENY admission rule
Reimposta il criterio per consentire tutte le immagini
Per reimpostare il criterio in modo da consentire tutte le immagini, procedi nel seguente modo:
Vai alla pagina Autorizzazione binaria nella console Google Cloud.
Fai clic su Modifica criterio.
Seleziona Consenti tutte le immagini.
Per salvare il criterio, fai clic su Salva criterio.
Ora puoi eseguire il deployment delle immagini.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Per eliminare il servizio che hai creato in Cloud Run, esegui la seguenti:
Individua il servizio che desideri eliminare nell'elenco dei servizi e fai clic su relativa alla casella di controllo per selezionarla.
Fai clic su Elimina. Questa operazione elimina tutte le revisioni del servizio.
Per disattivare l'autorizzazione binaria, consulta Disattivare l'autorizzazione binaria.
Passaggi successivi
Utilizza il deployment di emergenza per aggirare l'applicazione di Autorizzazione binaria.
Utilizza l'attestatore
built-by-cloud-build
per eseguire il deployment solo delle immagini create da Cloud Build.Configura il criterio di Autorizzazione binaria utilizzando la console Google Cloud o lo strumento a riga di comando.
Visualizza gli eventi di Autorizzazione binaria per Cloud Run in Cloud Audit Logs.