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
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
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/hellocomme 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 Autoriser l'accès public 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 la console Google Cloud .
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: RevisionREVISIONuses 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 la console Google Cloud .
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 dans cette démonstration 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-buildpour 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.