Cette page explique comment vous assurer que VM Manager est activé sur toutes les instances Compute Engine, y compris les VM Google Kubernetes Engine d'une organisation, d'un dossier ou d'un projet, à l'aide du service de règles d'organisation.
Ce guide s'adresse aux équipes de sécurité qui souhaitent s'assurer que tous les programmes requis, tels que les agents de sécurité et de surveillance, s'exécutent sur toutes les instances d'une organisation, d'un dossier ou d'un projet. Pour appliquer la configuration avec la règle d'administration uniquement, consultez ce guide. Pour une approche de configuration en tant que code, utilisez Config Sync. Config Sync vous permet de configurer et de contrôler de nombreux aspects de vos clusters, et offre des avantages au-delà des règles d'administration.
Avant de lire cette page, assurez-vous de connaître le gestionnaire de VM et les contraintes de Resource Manager.
Ce guide vous explique comment appliquer l'utilisation de VM Manager dans tous les projets d'une organisation ou d'un dossier. Ce guide ne vous explique pas comment configurer et utiliser VM Manager avec des règles d'OS. Pour obtenir ces instructions, consultez la page Créer une attribution de règle d'OS.
À propos de VM Manager
VM Manager est une suite d'outils qui permet de gérer les systèmes d'exploitation des grands parcs de machines virtuelles (VM) exécutant Windows et Linux sur Compute Engine. Vous pouvez utiliser VM Manager pour appliquer des règles d'OS afin de personnaliser les programmes exécutés sur les VM. Par exemple, vous pouvez définir une stratégie pour installer un agent sur une ressource et réutiliser cette stratégie sur plusieurs ressources. VM Manager est désactivé par défaut dans les projetsGoogle Cloud .
Vous pouvez affiner les emplacements où VM Manager applique des règles à l'aide de OSPolicyAssignments
, qui vous permet de définir le champ d'application des règles de l'OS sur des VM spécifiques à l'aide de sélecteurs. Par exemple, toutes les VM de nœuds GKE portent le libellé goog-gke-node
, que vous pouvez cibler avec une attribution de règles d'OS.
Règles d'administration et VM Manager
Si votre organisation Google Cloud comporte plusieurs niveaux de hiérarchie, tels que des dossiers et des sous-dossiers, activer manuellement VM Manager pour tous ces projets peut entraîner des frais de gestion inutiles. Vous pouvez exiger que tous les projets de dossiers ou d'une organisation activent VM Manager sur toutes les VM à l'aide du service de règles d'administration avec la contrainte constraints/compute.requireOsConfig
. Voici quelques avantages de l'application de VM Manager à l'aide d'une règle d'administration:
- Tous les nouveaux projets ajoutent le libellé de métadonnées
enable-osconfig=TRUE
à chaque projet et VM. - Si quelqu'un tente de supprimer ce libellé ou de le définir sur une valeur autre que
true
, ce changement est refusé. - Si quelqu'un tente de créer ou de mettre à jour une VM de manière à définir la clé de métadonnées
enable-osconfig
sur une valeur autre quetrue
, ce changement est refusé.
Avant de commencer
Avant de commencer, effectuez les tâches suivantes :
- Activez l'API Google Kubernetes Engine. Activer l'API Google Kubernetes Engine
- Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande
gcloud components update
.
- Assurez-vous d'utiliser déjà VM Manager avec des règles d'OS et des attributions de règles d'OS pour exécuter des agents sur vos VM. Pour obtenir des instructions, consultez la section Créer une attribution de règle d'OS.
-
Enable the Cloud Resource Manager API, OS Config API APIs.
Limites
La règle d'administration constraints/compute.requireOsConfig
présente les limites suivantes:
- Les ressources présentant des cas de non-respect préexistants ne sont pas modifiées par la nouvelle règle d'administration. Vous pouvez définir les métadonnées de la stratégie manuellement ou à l'aide de
gcloud
sur des ressources existantes. - Toute personne autorisée à modifier les métadonnées des instances Compute Engine du projet peut désactiver
osconfig-agent
sur la VM en définissant le champ de métadonnéesosconfig-disabled-features
. - Si
osconfig-agent
n'est pas en cours d'exécution, la VM s'affiche comme non conforme dans le tableau de bord de VM Manager. Par exemple, cela peut se produire si un utilisateur a désactivé manuellement l'agent.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer des règles d'administration, demandez à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'administration (roles/orgpolicy.policyAdmin
) dans l'organisation.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Activer compute.requireOsConfig dans une organisation
Une fois que vous avez activé VM Manager et défini le champ d'application d'un OSPolicyAssignment
sur vos VM, vous pouvez vous assurer que VM Manager est activé par défaut pour tous les nouveaux projets avec la règle d'administration constraints/compute.requireOsConfig
. La manière dont vous appliquez constraints/compute.requireOsConfig
dépend de la version de l'API que vous utilisez.
API Organization Policy v2
Vous pouvez appliquer la contrainte constraints/compute.requireOsConfig
à une ressourceGoogle Cloud , comme un dossier ou une organisation, à l'aide de gcloud CLI ou de la console Google Cloud .
gcloud
Vérifiez que la contrainte
compute.requireOsConfig
n'est pas déjà appliquée:gcloud org-policies describe \ constraints/compute.requireOsConfig \ --organization=ORGANIZATION_ID
Remplacez
ORGANIZATION_ID
par votre ID d'organisation.Si aucune règle n'est définie, cette commande renvoie une erreur
NOT_FOUND
:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
Si la règle existe, la commande renvoie la règle actuelle. L'application d'une nouvelle stratégie écrase la stratégie existante, le cas échéant.
Créez un fichier temporaire
/tmp/policy.yaml
pour stocker la règle :name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: true
Exécutez la commande
set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Vérifiez que la nouvelle règle est appliquée:
gcloud org-policies describe \ constraints/compute.requireOsConfig --effective \ --organization=ORGANIZATION_ID
La sortie de la commande ressemble à ceci :
name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: true
Console
Dans la console Google Cloud , accédez à la page Règles d'administration.
Dans le sélecteur de projet, sélectionnez le projet, le dossier ou l'organisation dont vous souhaitez modifier les règles d'administration.
Sur la page Règles d'administration, utilisez le filtre pour rechercher
compute.requireOsConfig
.Cliquez sur le nom de la règle pour ouvrir la page Détails de la règle.
Cliquez sur Gérer la règle pour mettre à jour la règle d'administration de l'organisation pour cette ressource.
Sur la page Modifier la règle, sélectionnez Remplacer la règle parente.
Sélectionnez Ajouter une règle.
Sous Application, définissez l'application de cette règle d'administration sur Activée.
Pour appliquer la règle, cliquez sur Définir la règle.
API Resource Manager v1
Vérifiez que la contrainte
compute.requireOsConfig
n'est pas déjà appliquée:gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --organization ORGANIZATION_ID
Remplacez
ORGANIZATION_ID
par votre ID d'organisation.Si aucune règle n'est définie, cette commande renvoie une règle incomplète, comme dans l'exemple suivant:
constraint: "constraints/compute.requireOsConfig" etag: BwVJi0OOESU=
Si la règle existe, la commande renvoie la règle actuelle. L'application d'une nouvelle stratégie écrase la stratégie existante, le cas échéant.
Définissez la règle à appliquer à l'organisation:
gcloud resource-manager org-policies enable-enforce constraints/compute.requireOsConfig \ --organization ORGANIZATION_ID
La sortie de la commande ressemble à ceci :
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig etag: BwVJitxdiwY=
Vérifiez que la nouvelle règle est appliquée:
gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --effective \ --organization ORGANIZATION_ID
La sortie de la commande ressemble à ceci :
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig
L'application complète des modifications de règles d'administration peut prendre jusqu'à 15 minutes.
Pour en savoir plus sur les autres règles que vous pouvez appliquer, ou sur la façon de les modifier ou de les supprimer, consultez la documentation de Resource Manager.
Étape suivante
En savoir plus sur la journalisation d'audit de GKE