Configurer une stratégie d'autorisation binaire avec Cloud Run

Ce guide de démarrage rapide explique comment configurer et tester une règle de base dans une stratégie d'autorisation binaire avec Cloud Run.

Dans ce guide de démarrage rapide, vous allez utiliser l'autorisation binaire pour contrôler le déploiement d'un service Cloud Run.

Avant de commencer

  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

Créer un service avec l'autorisation binaire activée

Pour créer un service Cloud Run avec l'autorisation binaire activée, procédez comme suit :

  1. Accédez à Cloud Run

  2. Cliquez sur Create service (Créer un service) pour afficher le formulaire correspondant.

    image

    Dans le formulaire qui s'affiche, procédez comme suit :

    1. Sélectionnez Cloud Run comme plate-forme de développement.
    2. Sélectionnez la région dans laquelle vous souhaitez créer votre service.
    3. Indiquez le nom que vous souhaitez attribuer à votre service (par exemple, test-service).
    4. Cliquez sur Suivant pour passer à la page Configurer la première révision du service.

      Dans le formulaire, procédez comme suit :

      1. Sélectionnez Déployer une révision à partir d'une image de conteneur existante.
      2. Utilisez us-docker.pkg.dev/cloudrun/container/hello comme image de conteneur.

      3. Développez la section Paramètres avancés.

      4. Cliquez sur l'onglet Security (Sécurité).

      5. Cochez la case Vérifier le déploiement du conteneur avec l'autorisation binaire.

        image

        Par défaut, la stratégie d'autorisation binaire permet le déploiement de toutes les images.

      6. Cliquez sur Suivant pour passer à la page Configurer le déclenchement du service :

        image

      7. Sélectionnez Allow unauthenticated invocations (Autoriser les appels non authentifiés) pour pouvoir ouvrir le résultat dans votre navigateur Web.

      8. Cliquez sur Create (Créer) pour déployer l'image sur Cloud Run, puis patientez jusqu'à la fin du déploiement.

      Votre service est déployé. Les révisions sont soumises à l'application de la stratégie d'autorisation binaire.

Mettre à jour la stratégie d'autorisation binaire pour interdire toutes les images

La stratégie d'autorisation binaire contient une règle par défaut. Cette règle régit le déploiement du service Cloud Run que vous venez de créer.

Par défaut, la règle autorise le déploiement de toutes les images de conteneurs.

Pour afficher la stratégie par défaut, procédez comme suit :

  1. Accéder à la page "Autorisation binaire"

    Capture d'écran de l'onglet Policy (Règles) affichant la règle par défaut

  2. Cliquez sur Modifier la règle.

  3. Dans Project Default Rule (Règle par défaut du projet), notez que l'option Allow All Images (Autoriser toutes les images) est sélectionnée.

    Capture d'écran de l'option permettant de choisir un type de règle par défaut

Ensuite, modifiez la stratégie pour empêcher le déploiement de toutes les images en procédant comme suit :

  1. Accédez à la page Autorisation binaire dans Google Cloud Console.

    Accéder à la page "Autorisation binaire"

  2. Cliquez sur Modifier la règle.

  3. Dans Default rule (Règle par défaut), sélectionnez Disable All Images (Interdire toutes les images).

    Capture d'écran de l'option permettant de choisir un type de règle par défaut

  4. Cliquez sur Save Policy (Enregistrer la stratégie).

Redéployer le service

Testez la stratégie mise à jour en déployant une nouvelle révision.

Pour déployer l'image, procédez comme suit :

  1. Accédez à Cloud Run

  2. Cliquez sur le nom du service que vous avez déployé précédemment dans ce guide.

  3. Cliquez sur Modifier et Déployer la nouvelle révision.

  4. Cliquez sur Déployer.

Un message d'erreur semblable au suivant apparaît :

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

Réinitialiser la stratégie pour autoriser toutes les images

Pour réinitialiser la stratégie afin d'autoriser toutes les images, procédez comme suit :

  1. Accédez à la page Autorisation binaire dans Google Cloud Console.

    Accéder à la page "Autorisation binaire"

  2. Cliquez sur Modifier la règle.

  3. Sélectionnez Allow All Images (Autoriser toutes les images).

  4. Pour enregistrer la règle, cliquez sur Enregistrer la règle.

Vous pouvez maintenant déployer des images.

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :

Pour supprimer le service que vous avez créé dans Cloud Run, procédez comme suit :

  1. Accédez à Cloud Run

  2. Recherchez le service que vous souhaitez supprimer dans la liste des services, puis cliquez la case correspondante pour le sélectionner.

  3. Cliquez sur Supprimer pour supprimer toutes les révisions du service.

Pour désactiver l'autorisation binaire, consultez la section Désactiver l'autorisation binaire.

Étape suivante