Abilita Autorizzazione binaria per Cloud Run

Questa guida mostra come configurare Autorizzazione binaria per applicare il deployment basato su criteri di servizi e job Cloud Run.

Prima di iniziare

Per configurare Cloud Run e abilitare le API, segui questi passaggi:

  1. 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.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Abilita le API Cloud Run, Artifact Registry, Binary Authorization.

    Abilita le API

  5. Installa Google Cloud CLI.
  6. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  7. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  8. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  9. Abilita le API Cloud Run, Artifact Registry, Binary Authorization.

    Abilita le API

  10. Installa Google Cloud CLI.
  11. Per initialize gcloud CLI, esegui questo comando:

    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, potrebbe essere necessario eseguire il deployment di una revisione o aggiornare il traffico del servizio.

Puoi abilitare l'applicazione di Autorizzazione binaria su un servizio esistente utilizzando la console Google Cloud o Google Cloud CLI:

Console

  1. Vai alla pagina Cloud Run nella console Google Cloud.

    Vai a Cloud Run

  2. Fai clic sul servizio.

  3. Fai clic sulla scheda Sicurezza.

  4. Per abilitare l'applicazione di Autorizzazione binaria sul servizio, fai clic su Abilita.

  5. (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 servizio.

YAML

Puoi scaricare e visualizzare le configurazioni di servizio esistenti utilizzando il comando gcloud run services describe --format export, che restituisce risultati puliti in formato YAML. Puoi quindi modificare i campi descritti di seguito e caricare il file YAML modificato usando il comando gcloud run services replace. Assicurati di modificare solo i campi come documentato.

  1. Per visualizzare e scaricare la configurazione:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 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 del tuo Cloud Run
    • POLICY: impostato su default
  3. Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:

gcloud run services replace service.yaml

Abilita Autorizzazione binaria per un job Cloud Run esistente

Puoi abilitare l'applicazione di Autorizzazione binaria su un job esistente utilizzando la console Google Cloud o Google Cloud CLI:

Console

  1. Vai alla pagina Job Cloud Run nella console Google Cloud.

    Vai a Cloud Run

  2. Fai clic sul job per aprire i relativi dettagli.

  3. Fai clic sulla scheda Configuration (Configurazione).

  4. In Autorizzazione binaria, seleziona un criterio dall'elenco dei criteri.

  5. Fai clic su Applica per abilitare l'applicazione di Autorizzazione binaria per il job.

  6. (Facoltativo) Per configurare il criterio di Autorizzazione binaria, fai clic su Configura criterio.

gcloud

Abilita Autorizzazione binaria per il job:

gcloud run jobs update JOB_NAME --binary-authorization=POLICY

Sostituisci quanto segue:

  • JOB_NAME: il nome del lavoro.
  • POLICY: il criterio da applicare. Utilizza il valore default per utilizzare il criterio predefinito.

Ti consigliamo di richiedere Autorizzazione binaria per Cloud Run configurando un criterio dell'organizzazione per farlo. Autorizzazione binaria può essere disabilitata dagli sviluppatori di Cloud Run se il criterio non è configurato.

Visualizza le norme

Per visualizzare la norma, fai clic su Visualizza criterio.

Per ulteriori informazioni, 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 riesce perché viola il criterio di Autorizzazione binaria, potresti visualizzare un errore come il 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. In questo caso, puoi utilizzare il deployment di emergenza per ignorare l'applicazione dei criteri ed eseguire il deployment dell'immagine.

Abilita Autorizzazione binaria in un nuovo servizio

Puoi abilitare Autorizzazione binaria su un nuovo servizio utilizzando la console Google Cloud o Google Cloud CLI:

Console

  1. Vai alla pagina di Cloud Run:

    Vai a Cloud Run

  2. Fai clic su Crea servizio.

  3. Nel modulo Crea servizio :

    1. Seleziona Cloud Run come piattaforma di sviluppo.
    2. Seleziona la regione in cui vuoi che si trovi il servizio.
    3. Inserisci il nome del servizio.
    4. Fai clic su Avanti per passare alla pagina Configurare la prima revisione del servizio.
    5. Seleziona Esegui il deployment di una revisione da un'immagine container esistente.
    6. Inserisci o seleziona l'immagine di cui eseguire il deployment.
    7. Espandi la sezione Impostazioni avanzate.
    8. Fai clic sulla scheda Sicurezza.
    9. Seleziona la casella di controllo Verifica il deployment del container con Autorizzazione binaria.

    10. (Facoltativo) Fai clic su Configura criterio per configurare il criterio di Autorizzazione binaria. Per scoprire di più sulla configurazione di un criterio, consulta Configurazione di un criterio

    11. 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 per un nuovo job

Puoi attivare Autorizzazione binaria in un nuovo job utilizzando Google Cloud CLI:

gcloud

  1. 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 vuoi creare. Puoi omettere questo parametro, ma se lo ometti, ti verrà richiesto il nome del job.
    • POLICY: il criterio da applicare. Utilizza il valore default per utilizzare il criterio predefinito.
    • IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.
    • REGION: la regione in cui verrà eseguito il job.
    • OPTIONS: una qualsiasi delle opzioni disponibili descritte nella pagina di creazione dei job di Cloud Run.
  2. Attendi il completamento della creazione del job. Al termine, la console mostra un messaggio di operazione riuscita.

  3. Per eseguire il job, consulta Esecuzione di job o esecuzione di job in base a una pianificazione.

Quando crei un nuovo job, l'agente di servizio Cloud Run deve essere in grado di accedere al container, come avviene per impostazione predefinita.

YAML

  1. 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 del tuo Cloud Run
    • IMAGE: l'URL dell'immagine container.
    • POLICY: impostato su default
  2. Esegui il deployment del nuovo servizio utilizzando questo comando:

gcloud run services replace service.yaml

Passaggi successivi