Cette page explique comment configurer une stratégie d'autorisation binaire à l'aide de Google Cloud Console. Vous pouvez également effectuer ces tâches à l'aide de la Google Cloud CLI ou de l'API REST. Cette étape fait partie de la configuration de l'autorisation binaire.
Une stratégie est un ensemble de règles régissant le déploiement d'une ou plusieurs images de conteneurs.
Avant de commencer
Activez l'autorisation binaire pour votre plate-forme :
Pour les utilisateurs Google Kubernetes Engine (GKE) : créez un cluster avec l'autorisation binaire activée.
Pour les utilisateurs Cloud Run : activez l'autorisation binaire sur votre service.
Si vous avez l'intention d'utiliser des attestations, nous vous recommandons de créer des certificateurs avant de configurer la stratégie. Vous pouvez créer des certificateurs à l'aide de la console Google Cloud ou d'un outil de ligne de commande.
Sélectionnez l'ID du projet dans lequel vous avez activé l'autorisation binaire.
Définir la règle par défaut
Cette section s'applique à GKE, aux clusters GKE, à Cloud Run et à Anthos Service Mesh.
Une règle est la partie d'une stratégie qui définit les contraintes que les images de conteneurs doivent respecter pour pouvoir être déployées. La règle par défaut définit les contraintes qui s'appliquent à toutes les images de conteneurs non exclues qui ne possèdent pas leurs propres règles spécifiques au cluster. Chaque stratégie inclut une règle par défaut.
Pour définir la règle par défaut, procédez comme suit :
Dans la console Google Cloud, accédez à la page Autorisation binaire.
Cliquez sur l'onglet Règle.
Cliquez sur Modifier la règle.
Sélectionnez le mode d'évaluation pour la règle par défaut.
Le mode d'évaluation spécifie le type de contrainte appliquée par l'autorisation binaire au moment du déploiement. Pour définir le mode d'évaluation, sélectionnez l'une des options suivantes :
- Autoriser toutes les images : permet de déployer toutes les images.
- Refuser toutes les images : empêche le déploiement de toutes les images.
- Autoriser uniquement les images qui ont été approuvées par les certificateurs suivants : permet de déployer une image si elle contient une ou plusieurs attestations pouvant être validées par tous les certificateurs que vous ajouter à cette règle. Pour en savoir plus sur la création de certificateurs, consultez la page Créer des certificateurs.
Si vous avez sélectionné Autoriser uniquement les images qui ont été approuvées par les certificateurs suivants, procédez comme suit :
Obtenez le nom ou l'ID de ressource de votre certificateur.
Dans Google Cloud Console, sur la page Certificateurs, vous pouvez afficher vos certificateurs existants ou en créer un nouveau.
Cliquez sur Ajouter des certificateurs.
Sélectionnez l'une des options suivantes :
Ajouter par projet et nom de certificateur
Le projet fait référence à l'ID du projet qui stocke vos certificateurs. Exemple de nom de certificateur :
build-qa
.Ajouter par ID de ressource de certificateur
Un ID de ressource a le format suivant :
projects/PROJECT_ID/attestors/ATTESTOR_NAME
Sous Certificateurs, saisissez une ou plusieurs valeurs appropriées pour l'option sélectionnée.
Cliquez sur Ajouter un certificateur si vous souhaitez ajouter des certificateurs supplémentaires.
Cliquez sur Ajouter un ou plusieurs certificateurs pour enregistrer la règle.
Si vous souhaitez activer le mode de simulation, procédez comme suit :
Sélectionnez le mode de simulation.
Cliquez sur Save Policy (Enregistrer la stratégie).
Définir des règles spécifiques à un cluster (facultatif)
Cette section s'applique à GKE, aux clusters GKE et à Anthos Service Mesh.
Une stratégie peut également comporter une ou plusieurs règles spécifiques à un cluster. Ce type de règle s'applique aux images de conteneurs qui ne doivent être déployées que sur des clusters Google Kubernetes Engine (GKE) spécifiques. Les règles spécifiques à un cluster constituent une partie facultative d'une stratégie.
Ajouter une règle spécifique à un cluster (GKE)
Cette section s'applique à GKE et aux clusters GKE.
Pour ajouter une règle spécifique à un cluster pour un cluster GKE, procédez comme suit :
Dans la console Google Cloud, accédez à la page Autorisation binaire.
Cliquez sur l'onglet Règle.
Cliquez sur Modifier la règle.
Développez la section Paramètres supplémentaires pour les déploiements GKE et GKE Enterprise.
Si aucun type de règle spécifique n'est défini, cliquez sur Créer des règles spécifiques.
Pour sélectionner un type de règle, cliquez sur Type de règle spécifique.
Pour modifier le type de règle, cliquez sur Modifier.
Cliquez sur Ajouter une règle spécifique.
Dans le champ ID de ressource du cluster, saisissez l'ID de ressource du cluster.
L'ID de ressource du cluster est au format
LOCATION.NAME
(par exemple,us-central1-a.test-cluster
).Sélectionnez le mode d'évaluation pour la règle par défaut.
Le mode d'évaluation spécifie le type de contrainte appliquée par l'autorisation binaire au moment du déploiement. Pour définir le mode d'évaluation, sélectionnez l'une des options suivantes :
- Autoriser toutes les images : permet de déployer toutes les images.
- Refuser toutes les images : empêche le déploiement de toutes les images.
- Autoriser uniquement les images qui ont été approuvées par les certificateurs suivants : permet de déployer une image si elle contient une ou plusieurs attestations pouvant être validées par tous les certificateurs que vous ajouter à cette règle. Pour en savoir plus sur la création de certificateurs, consultez la page Créer des certificateurs.
Si vous avez sélectionné Autoriser uniquement les images qui ont été approuvées par les certificateurs suivants, procédez comme suit :
Obtenez le nom ou l'ID de ressource de votre certificateur.
Dans Google Cloud Console, sur la page Certificateurs, vous pouvez afficher vos certificateurs existants ou en créer un nouveau.
Cliquez sur Ajouter des certificateurs.
Sélectionnez l'une des options suivantes :
Ajouter par projet et nom de certificateur
Le projet fait référence à l'ID du projet qui stocke vos certificateurs. Exemple de nom de certificateur :
build-qa
.Ajouter par ID de ressource de certificateur
Un ID de ressource a le format suivant :
projects/PROJECT_ID/attestors/ATTESTOR_NAME
Sous Certificateurs, saisissez une ou plusieurs valeurs appropriées pour l'option sélectionnée.
Cliquez sur Ajouter un certificateur si vous souhaitez ajouter des certificateurs supplémentaires.
Cliquez sur Ajouter un ou plusieurs certificateurs pour enregistrer la règle.
Cliquez sur Ajouter pour ajouter la règle spécifique au cluster.
Le message suivant peut s'afficher : "Il semble que ce cluster n'existe pas." Cette règle s'appliquera si le cluster devient disponible dans GKE. Le cas échéant, cliquez à nouveau sur Ajouter pour enregistrer la règle.
Si vous souhaitez activer le mode de simulation, sélectionnez Mode de simulation.
Cliquez sur Save Policy (Enregistrer la stratégie).
Ajouter une règle spécifique à un cluster (clusters GKE)
Cette section s'applique aux clusters GKE.
Pour ajouter une règle spécifique à un cluster pour un cluster GKE, procédez comme suit :
Dans la console Google Cloud, accédez à la page Autorisation binaire.
Cliquez sur l'onglet Règle.
Cliquez sur Modifier la règle.
Développez la section Paramètres supplémentaires pour les déploiements GKE et GKE Enterprise.
Si aucun type de règle spécifique n'est défini, cliquez sur Créer des règles spécifiques.
Pour sélectionner un type de règle, cliquez sur Type de règle spécifique.
Pour mettre à jour le type de règle, cliquez sur Modifier.
Cliquez sur Ajouter une règle spécifique.
Dans le champ ID de ressource du cluster, saisissez l'ID de ressource du cluster.
- Pour les clusters associés à GKE et GKE sur AWS, le format est
CLUSTER_LOCATION.CLUSTER_NAME
(par exemple,us-central1-a.test-cluster
). - Pour GKE sur Bare Metal et GKE sur VMware, le format est
FLEET_MEMBERSHIP_LOCATION.FLEET_MEMBERSHIP_ID
(par exemple,global.test-membership
).
- Pour les clusters associés à GKE et GKE sur AWS, le format est
Sélectionnez le mode d'évaluation pour la règle par défaut.
Le mode d'évaluation spécifie le type de contrainte appliquée par l'autorisation binaire au moment du déploiement. Pour définir le mode d'évaluation, sélectionnez l'une des options suivantes :
- Autoriser toutes les images : permet de déployer toutes les images.
- Refuser toutes les images : empêche le déploiement de toutes les images.
- Autoriser uniquement les images qui ont été approuvées par les certificateurs suivants : permet de déployer une image si elle contient une ou plusieurs attestations pouvant être validées par tous les certificateurs que vous ajouter à cette règle. Pour en savoir plus sur la création de certificateurs, consultez la page Créer des certificateurs.
Si vous avez sélectionné Autoriser uniquement les images qui ont été approuvées par les certificateurs suivants, procédez comme suit :
Obtenez le nom ou l'ID de ressource de votre certificateur.
Dans Google Cloud Console, sur la page Certificateurs, vous pouvez afficher vos certificateurs existants ou en créer un nouveau.
Cliquez sur Ajouter des certificateurs.
Sélectionnez l'une des options suivantes :
Ajouter par projet et nom de certificateur
Le projet fait référence à l'ID du projet qui stocke vos certificateurs. Exemple de nom de certificateur :
build-qa
.Ajouter par ID de ressource de certificateur
Un ID de ressource a le format suivant :
projects/PROJECT_ID/attestors/ATTESTOR_NAME
Sous Certificateurs, saisissez une ou plusieurs valeurs appropriées pour l'option sélectionnée.
Cliquez sur Ajouter un certificateur si vous souhaitez ajouter des certificateurs supplémentaires.
Cliquez sur Ajouter un ou plusieurs certificateurs pour enregistrer la règle.
Cliquez sur Ajouter pour enregistrer la règle.
Le message suivant peut s'afficher : "Il semble que ce cluster n'existe pas." Cette règle prend effet si le cluster spécifié devient disponible dans GKE à l'avenir. Dans ce cas, cliquez à nouveau sur Ajouter pour enregistrer la règle.
Si vous souhaitez activer le mode de simulation, sélectionnez Mode de simulation.
Cliquez sur Save Policy (Enregistrer la stratégie).
Ajouter des règles spécifiques
Vous pouvez créer des règles associées à une identité de service de réseau maillé, un compte de service Kubernetes ou un espace de noms Kubernetes. Vous pouvez ajouter ou modifier une règle spécifique comme suit :
Dans la console Google Cloud, accédez à la page Autorisation binaire.
Cliquez sur l'onglet Règle.
Cliquez sur Modifier la règle.
Développez la section Paramètres supplémentaires pour les déploiements GKE et Anthos.
Si aucun type de règle spécifique n'est défini, cliquez sur Créer des règles spécifiques.
Cliquez sur Type de règle spécifique pour sélectionner le type de règle.
Cliquez sur Modifier pour mettre à jour le type de règle.
Si le type de règle spécifique existe, vous pouvez le modifier en cliquant sur Modifier le type.
Pour ajouter une règle spécifique, cliquez sur Ajouter une règle spécifique. Selon le type de règle choisi, saisissez un ID, comme suit :
- Identité du service ASM : saisissez votre identité de service ASM, au format suivant : PROJECT_ID.svc.id.goog/ns/NAMESPACE/sa/SERVICE_ACCOUNT
- Compte de service Kubernetes : saisissez votre compte de service Kubernetes, au format suivant : NAMESPACE:SERVICE_ACCOUNT.
- Espace de noms Kubernetes : saisissez votre espace de noms Kubernetes, au format suivant : NAMESPACE
Remplacez les éléments suivants, si nécessaire, en fonction du type de règle :
- PROJECT_ID : ID du projet dans lequel vous définissez vos ressources Kubernetes.
- NAMESPACE : espace de noms Kubernetes.
- SERVICE_ACCOUNT : compte de service.
Sélectionnez le mode d'évaluation pour la règle par défaut.
Le mode d'évaluation spécifie le type de contrainte appliquée par l'autorisation binaire au moment du déploiement. Pour définir le mode d'évaluation, sélectionnez l'une des options suivantes :
- Autoriser toutes les images : permet de déployer toutes les images.
- Refuser toutes les images : empêche le déploiement de toutes les images.
- Autoriser uniquement les images qui ont été approuvées par les certificateurs suivants : permet de déployer une image si elle contient une ou plusieurs attestations pouvant être validées par tous les certificateurs que vous ajouter à cette règle. Pour en savoir plus sur la création de certificateurs, consultez la page Créer des certificateurs.
Si vous avez sélectionné Autoriser uniquement les images qui ont été approuvées par les certificateurs suivants, procédez comme suit :
Obtenez le nom ou l'ID de ressource de votre certificateur.
Dans Google Cloud Console, sur la page Certificateurs, vous pouvez afficher vos certificateurs existants ou en créer un nouveau.
Cliquez sur Ajouter des certificateurs.
Sélectionnez l'une des options suivantes :
Ajouter par projet et nom de certificateur
Le projet fait référence à l'ID du projet qui stocke vos certificateurs. Exemple de nom de certificateur :
build-qa
.Ajouter par ID de ressource de certificateur
Un ID de ressource a le format suivant :
projects/PROJECT_ID/attestors/ATTESTOR_NAME
Sous Certificateurs, saisissez une ou plusieurs valeurs appropriées pour l'option sélectionnée.
Cliquez sur Ajouter un certificateur si vous souhaitez ajouter des certificateurs supplémentaires.
Cliquez sur Ajouter un ou plusieurs certificateurs pour enregistrer la règle.
Cliquez sur Mode de simulation pour activer le mode de simulation.
Cliquez sur Ajouter pour enregistrer la règle spécifique.
Cliquez sur Save Policy (Enregistrer la stratégie).
Gérer les images exclues
Cette section s'applique à GKE, aux clusters GKE, à Cloud Run et à Anthos Service Mesh.
Une image exclue est une image, spécifiée par un chemin d'accès, exclue des règles de stratégie. L'autorisation binaire autorise toujours le déploiement d'images exclues.
Il peut s'agir d'un emplacement dans Container Registry ou dans un autre registre d'images de conteneurs.
Cloud Run
Cette section s'applique à Cloud Run.
Vous ne pouvez pas directement spécifier des noms d'images contenant un tag. Par exemple, vous ne pouvez pas spécifier IMAGE_PATH
:latest.
Si vous souhaitez spécifier des noms d'image contenant des tags, vous devez spécifier le nom de l'image à l'aide d'un caractère générique comme suit :
*
pour toutes les versions d'une même image (par exemple,us-docker.pkg.dev/myproject/container/hello@*
)**
pour toutes les images d'un projet (par exemple,us-docker.pkg.dev/myproject/**
)
Vous pouvez utiliser des chemins d'accès pour spécifier un condensé au format IMAGE_PATH
@DIGEST
.
Activer la stratégie système
Cette section s'applique à GKE et aux clusters GKE.
Approuver toutes les images système fournies par Google est un paramètre qui active la stratégie système de l'autorisation binaire. Lorsque ce paramètre est activé au moment du déploiement, l'autorisation binaire exclut une liste d'images système gérées par Google requises par GKE d'une évaluation plus approfondie par la stratégie. La stratégie système est évaluée avant tout autre paramètre de votre stratégie.
Pour activer la règle de système, procédez comme suit :
Revenez à la page Autorisation binaire dans la console Google Cloud.
Cliquez sur Modifier la règle.
Développez la section Paramètres supplémentaires pour les déploiements GKE et Anthos.
Sélectionnez Approuver toutes les images système fournies par Google dans la section Exception d'image système Google.
Pour afficher les images exclues de la stratégie système, cliquez sur Afficher les détails.
Pour spécifier manuellement d'autres images exclues, développez la section Règles d'exception personnalisées sous Images non concernées par cette stratégie.
Cliquez ensuite sur Ajouter un format d'image et saisissez le chemin d'accès au registre pour toute image supplémentaire que vous souhaitez exclure.
Cliquez sur Save Policy (Enregistrer la stratégie).
Étape suivante
- Utilisez le certificateur
built-by-cloud-build
pour déployer uniquement des images créées par Cloud Build (bêta). - Utilisez des attestations.
- Déployez une image GKE.
- Afficher les événements Cloud Audit Logs.
- Utiliser la validation continue.
- Utiliser l'ancienne validation continue (obsolète) pour vérifier la conformité des règles.