Attivare Autorizzazione binaria per Cloud Run

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

Prima di iniziare

Configura Cloud Run e abilita le API seguendo questa procedura:

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Attivare l'Autorizzazione binaria su un servizio Cloud Run esistente

Puoi attivare l'applicazione di Autorizzazione binaria su un servizio esistente. Per attivare l'applicazione dopo l'abilitazione, potrebbe essere necessario eseguire il deployment di una revisione o aggiornare il traffico del servizio.

Puoi attivare l'applicazione dell'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 attivare l'applicazione di Autorizzazione binaria sul servizio, fai clic su Attiva.

  5. (Facoltativo) Per configurare il criterio di autorizzazione binaria, fai clic su Configura criterio.

gcloud

Attiva Autorizzazione binaria sul servizio e esegui il deployment:

gcloud run services update SERVICE_NAME --binary-authorization=default

Sostituisci SERVICE_NAME con un nome per il servizio.

YAML

  1. 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
  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 di Cloud Run
    • POLICY: impostato su default
  3. Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:

gcloud run services replace service.yaml

Attivare l'autorizzazione binaria in un job Cloud Run esistente

Puoi attivare l'applicazione dell'autorizzazione binaria su un job esistente utilizzando la console Google Cloud o Google Cloud CLI:

Console

  1. Vai alla pagina dei 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.

  5. Fai clic su Applica per attivare l'applicazione di Autorizzazione binaria sul job.

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

gcloud

Attiva Autorizzazione binaria sul job:

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

Sostituisci quanto segue:

  • JOB_NAME: il nome del tuo job.
  • POLICY: il criterio che vuoi applicare. Utilizza il valore default per utilizzare il criterio predefinito.

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

Visualizza le norme

Per visualizzare le norme, fai clic su Visualizza norme.

Per ulteriori informazioni, consulta la 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 il criterio di 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. In questo caso, puoi utilizzare la funzionalità di emergenza per bypassare l'applicazione dei criteri e implementare l'immagine.

Attivare l'Autorizzazione binaria su un nuovo servizio

Puoi attivare l'autorizzazione binaria su un nuovo servizio utilizzando la console Google Cloud o Google Cloud CLI:

Console

  1. Vai alla pagina 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 Configura la prima revisione del servizio.
    5. Seleziona Esegui il deployment di una revisione da un'immagine container esistente.
    6. Inserisci o seleziona l'immagine da implementare.
    7. Espandi la sezione Impostazioni avanzate.
    8. Fai clic sulla scheda Sicurezza.
    9. Seleziona la casella di controllo Verifica il deployment dei 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 Configurare un criterio

    11. Esegui il deployment del servizio.

gcloud

Attiva Autorizzazione binaria sul servizio e esegui 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.

Attivare Autorizzazione binaria in un nuovo job

Puoi attivare l'autorizzazione binaria su 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 fai ti verrà chiesto il nome del job.
    • POLICY: il criterio che vuoi applicare. Utilizza il valore default per utilizzare il criterio predefinito.
    • IMAGE_URL con un riferimento all'immagine del container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.
    • REGION: la regione in cui verrà eseguito il job.
    • OPTIONS: una delle opzioni disponibili descritte nella pagina di creazione dei job di Cloud Run.
  2. Attendi il completamento della creazione del job. Al termine dell'operazione, la console visualizza un messaggio di operazione riuscita.

  3. Per eseguire il job, consulta Eseguire job o Eseguire job in base a una pianificazione.

Quando crei un nuovo job, l'agente di servizio Cloud Run deve essere in grado di accedere al contenitore, il che accade per impostazione predefinita.

YAML

  1. Crea un nuovo file job.yaml con i seguenti contenuti:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
      annotations:
        run.googleapis.com/binary-authorization: POLICY
    spec:
      template:
        spec:
          containers:
          - image: IMAGE

    Sostituisci quanto segue:

    • JOB: il nome del job Cloud Run
    • IMAGE: l'URL dell'immagine del contenitore
    • POLICY: impostato su default
  2. Esegui il deployment del nuovo job utilizzando il seguente comando:

    gcloud run jobs replace job.yaml

Passaggi successivi