Configurer des règlements relatifs aux images de confiance

Par défaut, les utilisateurs de votre projet peuvent créer des disques persistants ou copier des images en utilisant les images publiques de leur choix ainsi que toutes les images auxquelles les membres du projet peuvent accéder via les rôles IAM. Toutefois, dans certains cas, vous pouvez être amené à limiter l'accès des membres de votre projet de telle sorte qu'ils ne puissent créer de disques de démarrage qu'à partir d'images contenant des logiciels approuvés conformes à vos règles ou exigences de sécurité.

Exploitez les images de confiance pour définir des règles d'administration qui n'autorisent les comptes principaux de votre projet à créer des disques persistants qu'à partir des images présentes dans des projets spécifiques.

Pour limiter les emplacements où vos images peuvent être utilisées, consultez la section Restreindre l'utilisation de vos images, disques et instantanés partagés.

Avant de commencer

Limites

  • Les règlements relatifs aux images de confiance ne limitent pas l'accès aux images suivantes :

    • Images personnalisées disponibles dans votre projet local

    • Fichiers d'image se trouvant dans des buckets Cloud Storage

  • Les règles relatives aux images de confiance n'empêchent pas les utilisateurs de créer des ressources d'image dans leurs projets locaux.

Définir des contraintes d'accès aux images

Pour activer une règle d'accès aux images, définissez une contrainte compute.trustedImageProjects portant sur votre projet, votre dossier ou votre organisation. Vous devez pour cela être autorisé à modifier les règles d'administration. Par exemple, roles/orgpolicy.policyAdmin est autorisé à définir ces contraintes. Pour en savoir plus sur la gestion des règles au niveau du projet, du dossier ou de l'organisation, consultez la section Utiliser des contraintes.

Vous pouvez définir des contraintes sur toutes les images publiques disponibles sur Compute Engine. Pour obtenir la liste des noms de projets d'images, consultez la section Détails des systèmes d'exploitation. Vous pouvez également limiter les images de machine learning (ML) disponibles sur Compute Engine à l'aide du projet ml-images.

Utilisez Google Cloud Console ou l'outil de ligne de commande gcloud pour définir des contraintes d'accès aux images.

Console

Par exemple, pour définir une contrainte au niveau du projet, procédez comme suit :

  1. Accédez à la page Règles d'administration.

    Accéder à la page Règles d'administration

  2. Dans la liste des règles, cliquez sur Définir les projets relatifs aux images de confiance.
  3. Cliquez sur Modifier pour personnaliser les contraintes existantes associées aux images de confiance.
  4. Sur la page Modifier, sélectionnez Personnaliser.
  5. Dans la liste déroulante Valeurs de règles, sélectionnez Personnalisées pour définir la contrainte sur des projets d'image spécifiques.
  6. Dans la liste déroulante Type de règle, spécifiez une valeur comme suit :
    • Pour limiter les projets d'image spécifiés, sélectionnez Refuser.
    • Pour supprimer les restrictions sur les projets d'image spécifiés, sélectionnez Autoriser.
  7. Dans le champ Valeurs personnalisées, saisissez les noms des projets d'image au format projects/IMAGE_PROJECT. Remplacez IMAGE_PROJECT par le projet d'image sur lequel vous souhaitez définir une contrainte.

    Si vous définissez des contraintes au niveau du projet, celles-ci peuvent entrer en conflit avec les contraintes existantes définies sur votre organisation ou votre dossier.

  8. Cliquez sur Nouvelle valeur de règle pour ajouter plusieurs projets d'image.

  9. Cliquez sur Enregistrer pour appliquer la contrainte.

Pour plus d'informations sur la création de règles d'administration, consultez la section Création et gestion des règles d'administration.

gcloud

Par exemple, pour définir une contrainte au niveau du projet, procédez comme suit :

  1. Obtenez les paramètres des règles définies pour votre projet à l'aide de la commande resource-manager org-policies describe.

    gcloud resource-manager org-policies describe \
       compute.trustedImageProjects --project=PROJECT_ID \
       --effective > policy.yaml
    

    Remplacez PROJECT_ID par l'ID du projet.

  2. Ouvrez le fichier policy.yaml dans un éditeur de texte, puis modifiez la contrainte compute.trustedImageProjects. Ajoutez les restrictions dont vous avez besoin ou supprimez celles qui sont inutiles. Lorsque vous avez terminé de modifier le fichier, enregistrez vos modifications. Par exemple, vous pouvez définir l'entrée de contrainte suivante dans votre fichier de règles :

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
     allowedValues:
        - projects/debian-cloud
        - projects/cos-cloud
     deniedValues:
        - projects/IMAGE_PROJECT
    

    Remplacez IMAGE_PROJECT par le nom du projet d'image que vous souhaitez restreindre dans votre projet.

    Vous pouvez éventuellement être amené à interdire l'accès à toutes les images autres que les images personnalisées de votre projet. Dans ce cas de figure, conformez-vous à l'exemple suivant :

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
     allValues: DENY
    

  3. Appliquez le code policy.yaml à votre projet. Si des contraintes ont déjà été définies pour votre organisation ou votre dossier, elles peuvent entrer en conflit avec les contraintes que vous définissez au niveau du projet. Pour appliquer la contrainte, utilisez la commande resource-manager org-policies set-policy.

    gcloud resource-manager org-policies set-policy \
       policy.yaml --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID du projet.

Lorsque vous avez terminé de configurer les contraintes, testez-les pour vous assurer qu'elles créent les restrictions nécessaires.

Étape suivante