Questa guida illustra come configurare Autorizzazione binaria per l'applicazione il deployment basato su criteri di servizi e job Cloud Run.
Prima di iniziare
Configura Cloud Run e abilita le API seguendo questi passaggi:
- Accedi al tuo account Google Cloud. 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 gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Cloud Run, Artifact Registry, Binary Authorization.
- 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.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Cloud Run, Artifact Registry, Binary Authorization.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Abilita Autorizzazione binaria su un servizio Cloud Run esistente
Puoi abilitare l'applicazione di Autorizzazione binaria su un servizio esistente. Per attivare l'applicazione forzata dopo averla abilitata, potresti dover eseguire il deployment di rivedere o aggiornare il traffico del servizio.
Puoi abilitare l'applicazione di Autorizzazione binaria su un servizio esistente utilizzando nella console Google Cloud o in Google Cloud CLI:
Console
Vai alla pagina Cloud Run nella console Google Cloud.
Fai clic sul servizio.
Fai clic sulla scheda Sicurezza.
Per attivare l'applicazione di Autorizzazione binaria nel servizio, fai clic su Attiva.
(Facoltativo) Per configurare il criterio di Autorizzazione binaria, fai clic su Configura criterio.
gcloud
Abilita Autorizzazione binaria sul servizio ed eseguine il deployment:
gcloud run services update SERVICE_NAME --binary-authorization=default
Sostituisci SERVICE_NAME
con un nome per il tuo servizio.
YAML
Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:
gcloud run services describe SERVICE --format export > service.yaml
Aggiorna l'annotazione
run.googleapis.com/binary-authorization:
come segue:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/binary-authorization: POLICY name: SERVICE spec: template:
Sostituisci quanto segue:
- SERVICE: il nome di Cloud Run
- POLICY: impostata su
default
Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:
gcloud run services replace service.yaml
Abilita Autorizzazione binaria su un job Cloud Run esistente
Puoi abilitare l'applicazione di Autorizzazione binaria su un job esistente utilizzando la proprietà Console Google Cloud o Google Cloud CLI:
Console
Vai alla pagina dei job Cloud Run nella console Google Cloud.
Fai clic sul job per aprirne i dettagli.
Fai clic sulla scheda Configuration (Configurazione).
In Autorizzazione binaria, seleziona un criterio dall'elenco dei criteri.
Fai clic su Applica per abilitare l'applicazione di Autorizzazione binaria sul job.
(Facoltativo) Per configurare il criterio di Autorizzazione binaria, fai clic su Configura criterio.
gcloud
Abilita Autorizzazione binaria sul job:
gcloud run jobs update JOB_NAME --binary-authorization=POLICY
Sostituisci quanto segue:
JOB_NAME
: il nome del lavoro.POLICY
: il criterio che vuoi applicare. Utilizza il valoredefault
per usare il criterio predefinito.
Ti consigliamo di richiedere Autorizzazione binaria per Cloud Run configurando un criterio dell'organizzazione per farlo. Autorizzazione binaria può essere disattivata dagli sviluppatori di Cloud Run se il criterio non è configurato.
Visualizza il criterio
Per visualizzare le norme, fai clic su Visualizza norme.
Per saperne di più, consulta la sezione sulla configurazione di un criterio di Autorizzazione binaria.
Errore di deployment del servizio o del job
Se il deployment del servizio o del job non va a buon fine perché viola l'Autorizzazione binaria , potresti visualizzare un errore simile al seguente:
Revision REVISION_NAME uses an unauthorized container image. Container image IMAGE_NAME is not authorized by policy.
L'errore contiene anche informazioni sul motivo per cui l'immagine ha violato le norme. Nella In questo caso, puoi usare il deployment di emergenza per bypassare l'applicazione forzata dei criteri ed eseguire il deployment dell'immagine.
Abilita Autorizzazione binaria su un nuovo servizio
Puoi abilitare Autorizzazione binaria in un nuovo servizio utilizzando la console Google Cloud oppure Google Cloud CLI:
Console
Vai alla pagina Cloud Run:
Fai clic su Crea servizio.
Nel modulo Crea servizio :
- Seleziona Cloud Run come piattaforma di sviluppo.
- Seleziona la regione in cui vuoi che si trovi il servizio.
- Inserisci il nome del servizio.
- Fai clic su Avanti per passare alla pagina Configura la prima revisione del servizio.
- Seleziona Esegui il deployment di una revisione da un'immagine container esistente.
- Inserisci o seleziona l'immagine di cui eseguire il deployment.
- Espandi la sezione Impostazioni avanzate.
- Fai clic sulla scheda Sicurezza.
Seleziona Verifica il deployment dei container con Autorizzazione binaria. casella di controllo.
(Facoltativo) Fai clic su Configura criterio per configurare Criterio di Autorizzazione binaria. Per scoprire di più sulla configurazione di consulta la pagina relativa alla configurazione di un criterio.
Eseguire il deployment del servizio.
gcloud
Abilita Autorizzazione binaria sul servizio ed eseguine il deployment:
gcloud run deploy SERVICE_NAME --image=IMAGE_URL --binary-authorization=default --region=REGION
Sostituisci quanto segue:
SERVICE_NAME
: un nome per il servizio.IMAGE_URL
: l'immagine di cui vuoi eseguire il deployment.REGION
: la regione in cui vuoi eseguire il deployment del servizio.
Abilita Autorizzazione binaria su un nuovo job
Puoi abilitare Autorizzazione binaria su un nuovo job utilizzando Google Cloud CLI:
gcloud
Crea un nuovo job con Autorizzazione binaria abilitata:
gcloud run jobs create JOB_NAME \ --image IMAGE_URL OPTIONS \ --binary-authorization=POLICY \ --region=REGION
Sostituisci quanto segue:
JOB_NAME
: il nome del job che che vuoi creare. Puoi omettere questo parametro, ma se lo ometti ti verrà richiesto il nome del job.POLICY
: il criterio che vuoi applicare. Utilizza il valoredefault
per usare il criterio predefinito.- IMAGE_URL con un riferimento all'immagine container, per
ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest
. REGION
: la regione in cui verrà eseguito il job.OPTIONS
: una delle opzioni disponibili descritto in Cloud Run pagina di creazione job.
Attendi il completamento della creazione del job. Una volta completata la procedura, e viene visualizzato un messaggio di operazione riuscita.
Per eseguire il job, vedi Eseguire job oppure eseguire i job in base a una pianificazione.
Quando crei un nuovo job, l'agente di servizio Cloud Run deve poter accedere al container, come avviene per impostazione predefinita.
YAML
Crea un nuovo file
service.yaml
con questi contenuti:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/binary-authorization: POLICY spec: template: spec: containers: - image: IMAGE
Sostituisci quanto segue:
- SERVICE: il nome di Cloud Run
- IMAGE: l'URL dell'immagine container.
- POLICY: impostata su
default
Esegui il deployment del nuovo servizio utilizzando il comando seguente:
gcloud run services replace service.yaml
Passaggi successivi
- Utilizza l'attestatore
built-by-cloud-build
per eseguire il deployment solo delle immagini create da Cloud Build (anteprima). - Configura il criterio di Autorizzazione binaria utilizzando la console Google Cloud o lo strumento a riga di comando.
- Utilizza le attestazioni per eseguire il deployment solo di immagini container firmate.
- Guarda un video sull'utilizzo Autorizzazione binaria in Cloud Run in modo che viene eseguito il deployment delle build.