Restreindre l'utilisation des images

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 membres 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

    • Images disponibles lorsque vous créez des instances via d'autres services Google Cloud.

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

  • Les règlements relatifs 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 organisation ou votre dossier. Vous devez pour cela être autorisé à modifier les règles d'administration. Par exemple, le rôle resourcemanager.organizationAdmin dispose des autorisations nécessaires pour définir ces contraintes. Pour en savoir plus sur la gestion des règles au niveau de l'organisation, consultez la page Utiliser des contraintes.

Console

  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 redéfinir les contraintes existantes associées aux images de confiance.
  4. Définissez des contraintes autorisant ou interdisant l'utilisation d'un ou de plusieurs projets comme sources d'images pour votre projet. La liste des projets autorisés ou non à publier est une succession de chaînes présentant le format suivant :

    projects/[PROJECT_ID]
    

    où [PROJECT_ID] est l'ID du projet que vous souhaitez marquer comme source de confiance pour les images.

    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.

  5. Cliquez sur Enregistrer pour appliquer les paramètres relatifs aux contraintes.

gcloud

  1. Obtenez les paramètres des règles définies pour votre projet.

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

    [PROJECT_ID] correspond à l'ID de votre 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/unwanted-images
    

    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.

    gcloud beta resource-manager org-policies set-policy \
    --project [PROJECT_ID] policy.yaml
    

    [PROJECT_ID] correspond à l'ID de votre projet.

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

Étapes suivantes