Configura 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, utilizzi Autorizzazione binaria per controllare il deployment di un servizio Cloud Run.

Prima di iniziare

  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. Verify 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. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  7. Per inizializzare gcloud CLI, esegui questo comando:

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

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

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

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  13. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  14. Crea un servizio con Autorizzazione binaria abilitata

    Per creare un servizio Cloud Run con Autorizzazione binaria abilitata:

    1. Vai a Cloud Run

    2. Fai clic su Crea servizio per visualizzare il modulo Crea servizio:

      immagine

      Nel modulo visualizzato, segui questi passaggi:

      1. Seleziona Cloud Run come piattaforma di sviluppo.
      2. Seleziona la regione in cui vuoi che si trovi il servizio.
      3. Specifica il nome che vuoi dare al tuo servizio, ad esempio test-service.
      4. Fai clic su Avanti per passare alla pagina Configura la prima revisione del servizio.

        Nel modulo, esegui le seguenti operazioni:

        1. Seleziona Esegui il deployment di una revisione da un'immagine container esistente.
        2. Utilizza us-docker.pkg.dev/cloudrun/container/hello come immagine container.

        3. Espandi la sezione Impostazioni avanzate.

        4. Fai clic sulla scheda Sicurezza.

        5. Seleziona la casella di controllo Verifica il deployment dei container con Autorizzazione binaria:

          immagine

          Per impostazione predefinita, il criterio di Autorizzazione binaria consente il deployment di tutte le immagini.

        6. Fai clic su Avanti per continuare alla pagina Configura il funzionamento del trigger per questo servizio:

          immagine

        7. Seleziona Consenti chiamate non autenticate per poter aprire il risultato nel tuo browser web.

        8. Fai clic su Crea per eseguire il deployment dell'immagine su Cloud Run e attendi il completamento del deployment.

        Il servizio è stato implementato. Le revisioni sono soggette all'applicazione del criterio di Autorizzazione binaria.

    Aggiorna la policy di Autorizzazione binaria per non consentire tutte le immagini

    Il criterio di Autorizzazione binaria contiene una regola predefinita. Questa regola regola il deployment del servizio Cloud Run che hai appena creato.

    Per impostazione predefinita, la regola consente il deployment di tutte le immagini container.

    Per visualizzare la policy predefinita, segui questi passaggi:

    1. Vai all'autorizzazione binaria

      Screenshot della scheda Criteri che mostra la regola predefinita

    2. Fai clic su Modifica criterio.

    3. In Regola predefinita del progetto, nota che l'opzione Consenti tutte le immagini è selezionata.

      Screenshot dell'opzione per scegliere un tipo di regola predefinito

    Ora, modifica la policy per bloccare il deployment di tutte le immagini, procedendo nel seguente modo:

    1. Vai alla pagina Autorizzazione binaria nella console Google Cloud .

      Vai all'autorizzazione binaria

    2. Fai clic su Modifica criterio.

    3. In Regola predefinita, seleziona Non consentire tutte le immagini.

      Screenshot dell'opzione per scegliere un tipo di regola predefinito

    4. Fai clic su Save Policy (Salva criterio).

    Esegui nuovamente il deployment del servizio

    Testa la policy aggiornata eseguendo il deployment di una nuova revisione.

    Per eseguire il deployment dell'immagine:

    1. Vai a Cloud Run

    2. Fai clic sul nome del servizio di cui hai eseguito il deployment in precedenza in questa guida.

    3. Fai clic su Modifica ed esegui il deployment di una nuova revisione.

    4. Fai clic su Esegui il deployment.

    Viene visualizzato un messaggio di errore simile al seguente:

    Service update rejected by Binary Authorization policy: Revision
    REVISION 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:

    1. Vai alla pagina Autorizzazione binaria nella console Google Cloud .

      Vai all'autorizzazione binaria

    2. Fai clic su Modifica criterio.

    3. Seleziona Consenti tutte le immagini.

    4. Per salvare la norma, fai clic su Salva norma.

    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 creato in Cloud Run, procedi nel seguente modo:

    1. Vai a Cloud Run

    2. Individua il servizio che vuoi eliminare nell'elenco dei servizi e fai clic sulla relativa casella di controllo per selezionarlo.

    3. Fai clic su Elimina. Vengono eliminate tutte le revisioni del servizio.

    Per disabilitare Autorizzazione binaria, vedi Disabilitazione di Autorizzazione binaria.

    Passaggi successivi