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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
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 :
Cliquez sur Create service (Créer un service) pour afficher le formulaire correspondant.
Dans le formulaire qui s'affiche, procédez comme suit :
- Sélectionnez Cloud Run comme plate-forme de développement.
- Sélectionnez la région dans laquelle vous souhaitez créer votre service.
- Indiquez le nom que vous souhaitez attribuer à votre service (par exemple,
test-service
). Cliquez sur Suivant pour passer à la page Configurer la première révision du service.
Dans le formulaire, procédez comme suit :
- Sélectionnez Déployer une révision à partir d'une image de conteneur existante.
Utilisez
us-docker.pkg.dev/cloudrun/container/hello
comme image de conteneur.Développez la section Paramètres avancés.
Cliquez sur l'onglet Security (Sécurité).
Cochez la case Vérifier le déploiement du conteneur avec l'autorisation binaire.
Par défaut, la stratégie d'autorisation binaire permet le déploiement de toutes les images.
Cliquez sur Suivant pour passer à la page Configurer le déclenchement du service :
Sélectionnez Allow unauthenticated invocations (Autoriser les appels non authentifiés) pour pouvoir ouvrir le résultat dans votre navigateur Web.
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 :
Accéder à la page "Autorisation binaire"
Cliquez sur Modifier la règle.
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.
Ensuite, modifiez la stratégie pour empêcher le déploiement de toutes les images en procédant comme suit :
Accédez à la page Autorisation binaire dans Google Cloud Console.
Cliquez sur Modifier la règle.
Dans Default rule (Règle par défaut), sélectionnez Disable All Images (Interdire toutes les images).
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 :
Cliquez sur le nom du service que vous avez déployé précédemment dans ce guide.
Cliquez sur Modifier et Déployer la nouvelle révision.
Cliquez sur Déployer.
Un message d'erreur semblable au suivant apparaît :
Service update rejected by Binary Authorization policy: RevisionREVISION
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 :
Accédez à la page Autorisation binaire dans Google Cloud Console.
Cliquez sur Modifier la règle.
Sélectionnez Allow All Images (Autoriser toutes les images).
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 :
Recherchez le service que vous souhaitez supprimer dans la liste des services, puis cliquez la case correspondante pour le sélectionner.
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
Utilisez le mode bris de glace pour contourner l'application de l'autorisation binaire.
Utilisez le certificateur
built-by-cloud-build
pour déployer uniquement les images créées par Cloud Build.Configurez la règle d'autorisation binaire en utilisant la console Google Cloud ou l'outil de ligne de commande.
Affichez l'autorisation binaire pour les événements Cloud Run dans Cloud Audit Logs.