Configurare una policy di Autorizzazione binaria con Cloud Run

Questa guida rapida mostra come configurare e testare una regola di base in una policy 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. Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    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.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Installa 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.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    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.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. Installa 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

Creare 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, procedi come segue:

    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 assegnare al servizio, ad esempio test-service.
    4. Fai clic su Avanti per continuare alla pagina Configura la prima revisione del servizio.

      Nel modulo, procedi come segue:

      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, la policy 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 l'accesso pubblico per poter aprire il risultato nel browser web.

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

      Il servizio è stato sottoposto a deployment. Le revisioni sono soggette all'applicazione della policy di Autorizzazione binaria.

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

La policy di Autorizzazione binaria contiene una regola predefinita. Questa regola disciplina 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:

  1. Vai ad Autorizzazione binaria

    Screenshot della scheda Criteri che mostra la regola predefinita

  2. Fai clic su Modifica policy.

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

    Screenshot dell'opzione per scegliere un tipo di regola predefinito

Ora, modifica la policy in modo da impedire il deployment di tutte le immagini, procedendo come segue:

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

    Vai ad Autorizzazione binaria

  2. Fai clic su Modifica policy.

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

    Screenshot dell'opzione per scegliere un tipo di regola predefinito

  4. Fai clic su Salva policy.

Rieseguire il deployment del servizio

Esegui il test della 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

Reimpostare la policy per consentire tutte le immagini

Per reimpostare la policy in modo da consentire tutte le immagini:

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

    Vai ad Autorizzazione binaria

  2. Fai clic su Modifica policy.

  3. Seleziona Consenti tutte le immagini.

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

Ora puoi eseguire il deployment delle immagini.

Libera spazio

Per evitare che al tuo Google Cloud account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

Per eliminare il servizio creato in Cloud Run:

  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. Verranno eliminate tutte le revisioni del servizio.

Per disabilitare Autorizzazione binaria, vedi Disabilitare Autorizzazione binaria.

Passaggi successivi