Vous créez et gérez des règles d'agent à l'aide du groupe de commandes gcloud compute instances ops-agents policies
dans la Google Cloud CLI ou du module Terraform ops-agent-policy
.
Les règles d'agent utilisent la suite d'outils VM Manager de Compute Engine pour gérer les règles d'OS, ce qui peut automatiser le déploiement et la maintenance de configurations logicielles comme l'agent Ops. Ces règles ne peuvent pas être appliquées à l'ancien agent Monitoring ni à l'ancien agent Logging.
gcloud compute os-config os-policy-assignments
, le groupe de commandes gcloud compute instances ops-agents policies
est conçu spécifiquement pour les règles d'agent décrites dans ce document.
Avant de commencer
Le module Terraform ops-agent-policy
est basé sur les commandes gcloud compute instances ops-agents policies
de Google Cloud SDK. Pour en savoir plus sur le fonctionnement de Terraform, consultez la section Utiliser Terraform.
Avant d'utiliser la Google Cloud CLI ou le module Terraform pour créer des règles d'agent, procédez comme suit:
Si vous prévoyez d'utiliser les commandes
gcloud compute instances ops-agents policies
et si vous ne l'avez pas déjà fait, installez Google Cloud CLI.Si vous allez utiliser le module Terraform, procédez comme suit:
Pour en savoir plus sur l'installation de Terraform, consultez Installer et configurer Terraform. Terraform est déjà installé dans Cloud Shell.
Clonez le dépôt
terraform-google-cloud-operations
, qui contient le moduleops-agent-policy
:git clone https://github.com/terraform-google-modules/terraform-google-cloud-operations
Téléchargez et exécutez le script
prepare-for-ops-agents-policies.sh
pour activer les API requises et définir les autorisations nécessaires à l'aide de la Google Cloud CLI ou de Terraform.Pour en savoir plus sur ce script, consultez Le script
prepare-for-ops-agents-policies.sh
.
Désinstaller l'ancien agent Monitoring et l'ancien agent Logging
Si vous créez une règle pour l'agent Ops, assurez-vous que l'ancien agent Logging ou Monitoring n'est pas installé sur vos VM. L'exécution de l'agent Ops et des anciens agents sur la même VM peut entraîner l'ingestion de journaux en double ou créer un conflit dans l'ingestion des métriques. Si nécessaire, désinstallez l'agent Monitoring et désinstallez l'agent Logging avant de créer une règle pour installer l'agent Ops.Vérifier que l'agent OS Config est installé
Vous devrez peut-être installer et configurer manuellement l'agent OS Config sur les VM antérieures à OS Config. Pour savoir comment installer et valider manuellement l'agent OS Config, consultez la checklist de validation de VM Manager.
Rechercher des valeurs pour les informations sur le système d'exploitation
Si vous souhaitez appliquer des règles d'agent à des systèmes d'exploitation ou versions spécifiques, vous devez connaître les valeurs utilisées par OS Config pour les désigner.
Pour trouver les valeurs des champs osShortName
et osVersion
d'une VM, utilisez les commandes suivantes:
gcloud compute instances os-inventory describe INSTANCE_NAME \
--zone ZONE | grep "^ShortName: "
gcloud compute instances os-inventory describe INSTANCE_NAME \
--zone ZONE | grep "^Version: "
Ces commandes nécessitent que l'agent OS Config soit installé sur la VM.
Créer une règle d'agent pour gérer l'agent Ops
Ligne de commande
Pour créer une règle d'agent, utilisez la commandegcloud compute instances ops-agents policies
create
.
Cette commande a la structure suivante:
gcloud compute instances ops-agents policies
create
POLICY_ID \
--zone ZONE \
--file path/to/policy-description-file.yaml \
--project PROJECT_ID
Lorsque vous utilisez cette commande, remplacez les variables comme suit:
- POLICY_ID est le nom de votre règle.
- ZONE est une zone Compute Engine. Les règles d'agent ne sont appliquées qu'aux VM de la zone spécifiée ; pour appliquer une règle dans plusieurs zones, vous devez créer plusieurs règles.
- path/to/policy-description-file.yaml correspond au chemin d'accès à un fichier YAML décrivant la stratégie. Pour en savoir plus sur la structure de ce fichier, consultez la section Décrire les règles d'agent.
- PROJECT_ID est l'ID du projet Google Cloud.
Pour en savoir plus sur les autres commandes du groupe de commandes et les options disponibles, consultez la documentation sur gcloud compute instances ops-agents policies
.
Décrire les règles d'agent
Fournissez les informations de règle au gcloud compute instances ops-agents policies
create
en créant un fichier YAML décrivant la stratégie et en le transmettant à la commande en tant que valeur de l'option --file
.
Cette section décrit la structure du fichier de description des règles. Pour en savoir plus, consultez la section Exemples de fichiers de description de règles.
Format du fichier YAML de description de stratégie
Le fichier de description d'une stratégie d'agent doit inclure deux groupes de champs:
agentsRule
, qui indique à la stratégie de l'agent s'il doit installer ou supprimer l'agent Ops, et spécifie la version de l'agent Ops à utiliser.instanceFilter
, qui décrit les VM sur lesquelles appliquer la stratégie.
Structure du groupe de champs agentsRule
Le groupe de champs agentsRule
présente la structure suivante:
agentsRule:
packageState: installed|removed
version: latest|2.*.*|2.x.y
- Le champ
packageState
indique à la stratégie l'état prévu de l'Agent Ops. Les valeurs valides sontinstalled
etremoved
. Le champ
version
indique la version de l'agent Ops à installer ou à supprimer. Vous pouvez spécifier les valeurs suivantes :latest
est la version la plus récente de l'agent Ops.2.*.*
est la version la plus récente de la version majeure 2 de l'agent Ops.2.x.y
indique une version spécifique de la version majeure 2.
Pour en savoir plus sur les versions disponibles de l'agent Ops, consultez le dépôt GitHub de l'agent.
Structure du groupe de champs instanceFilter
Le groupe de champs instanceFilter
indique les VM d'une zone à laquelle le filtre s'applique. Ce groupe de champs est une représentation YAML de la structure InstanceFilter
utilisée par la ressource OSPolicyAssignment
dans l'API OS Config.
Le groupe de champs instanceFilter
présente l'une des structures suivantes:
Pour appliquer la règle d'agent à toutes les VM d'une zone, utilisez ce qui suit :
instanceFilter: all: True
Si vous utilisez le filtre
all: True
, vous ne pouvez spécifier aucun autre critère.Pour appliquer la règle d'agent à un ensemble spécifique de VM dans une zone, décrivez les VM à l'aide d'une combinaison des éléments suivants:
- Libellés sur la VM, pour l'inclusion ou l'exclusion :
inclusionLabels:
exclusionLabels:
- Système d'exploitation :
inventories:
Par exemple, le filtre suivant applique la stratégie de l'agent aux VM avec les systèmes d'exploitation spécifiés qui portent le libellé "env=prod" et ne portent pas le libellé "app=web":
instanceFilter: inclusionLabels: - labels: env: prod exclusionLabels: - labels: app: web inventories: - osShortName: rhel osVersion: '7.*' - osShortName: debian osVersion: '11'
Pour savoir comment trouver les valeurs du système d'exploitation, consultez la section Trouver des informations sur le système d'exploitation.
- Libellés sur la VM, pour l'inclusion ou l'exclusion :
Terraform
Pour créer une règle d'agent entièrement personnalisée, utilisez le module ops-agent-policy
dans le répertoire modules
du dépôt terraform-google-cloud-operations
.
Ce module nécessite les mêmes informations que la commande
.
Pour obtenir une description de tous les champs utilisés pour décrire une règle d'agent, sélectionnez l'onglet Ligne de commande.gcloud compute instances ops-agents policies
create
Le répertoire examples
du dépôt terraform-google-cloud-operations
contient des fichiers qui fournissent de nombreuses variables requises par le module ops-agent-policy
. Pour en savoir plus, consultez la section Exemples de configurations de règles.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus sur le fonctionnement de Terraform, consultez la section Utiliser Terraform.
Vérifier l'état des règles de l'agent
Cette section explique comment vérifier l'état des règles créées et l'installation de l'agent Ops. Ces informations peuvent également vous aider à résoudre les problèmes liés à vos règles d'agent.
Page Règles d'OS de Compute Engine
La page Règles d'OS de Compute Engine fournit des informations sur les règles d'agent qui gèrent l'Agent Ops et sur les VM dans l'onglet Instances de VM. Exemple :
- La colonne State (État) indique si une règle a été ou non installée avec succès ("Compliant"), est en cours ("Pending"), a peut-être échoué ("Unknown") ou est manquante ("No policies").
- La colonne VM monitored (VM surveillée) indique si l'agent Ops est géré par OS Config ("Monitored") ou non ("Not monitored").
Si une règle est "Compliant" (Conforme), mais que la VM affiche "Not monitored" (Non surveillée), il est possible qu'un problème soit survenu lors de l'installation de l'agent Ops. Par exemple, il est possible qu'un ancien agent soit déjà installé.
Dans la console Google Cloud, accédez à la page Règles d'OS.
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
L'onglet Instances de VM de l'onglet Règles d'OS Compute Engine affiche des informations sur les agents gérés par toutes les règles d'OS de votre projet Google Cloud. Ces règles sont identifiées par le libellé goog-ops-agent-policy
.
- L'indicateur
goog-ops-agent-policy
inclut plusieurs types de règles :- Règles créées à l'aide des commandes
gcloud compute instances ops-agents policies
. - Règles créées pour vous si vous avez demandé l'installation de l'Agent Ops lors de la création de la VM.
- Stratégies créées à l'aide de Terraform pour gérer l'agent Ops.
Pour faire la distinction entre les règles, utilisez l'onglet Attributions de règles d'OS de la page pour afficher les ID de règle de toutes les attributions de règles de votre projet Google Cloud.
- Règles créées à l'aide des commandes
- La colonne VM monitored (VM surveillée) ne reflète pas l'installation de l'agent Ops par d'autres moyens, comme une installation manuelle ou des règles d'agent bêta.
Page Instances de VM de Cloud Monitoring
La page Instances de VM dans Cloud Monitoring inclut une colonne Agent qui liste l'agent installé sur chaque VM et, pour l'agent Ops, elle inclut un indicateur pour les agents installés qui sont antérieurs à la dernière version.
Dans la console Google Cloud, accédez à la page Tableau de bord des instances de VM :
Accéder au tableau de bord des instances de VM
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
Exemples de configurations de règles
Cette section décrit des exemples de configuration de stratégies d'agent lorsque vous utilisez Google Cloud SDK ou Terraform.
Ligne de commande
Exemples de fichiers de description de règles
Cette section fournit des exemples de fichiers de description de stratégie YAML pour divers scénarios. Les exemples supposent que vous placez le fichier YAML dans un fichier nomméagent-policy-description.yaml
et que vous créez la stratégie dans la zone us-central1-a
à l'aide d'une commande semblable à la suivante:
gcloud compute instances ops-agents policies
create
POLICY_ID \
--zone us-central1-a \
--file agent-policy-description.yaml \
--project PROJECT_ID
Installer sur toutes les VM
Pour installer la dernière version de l'Agent Ops sur toutes les VM de la zone us-central1-a
, utilisez la description de règle suivante:
agentsRule:
packageState: installed
version: latest
instanceFilter:
all: True
Supprimer de toutes les VM
Pour supprimer la dernière version de l'Agent Ops sur toutes les VM de la zone us-central1-a
, utilisez la description de règle suivante:
agentsRule:
packageState: removed
version: latest
instanceFilter:
all: True
Installer sur des VM en fonction des libellés
Pour installer la dernière version de l'Agent Ops sur toutes les VM de la zone us-central1-a
avec le libellé "env=prod" ou "app=web", utilisez la description de règle suivante:
agentsRule:
packageState: installed
version: latest
instanceFilter:
inclusionLabels:
- labels:
env: prod
- labels:
app: web
Lorsque vous spécifiez plusieurs entrées labels:
pour l'inclusion ou l'exclusion, une VM correspond si l'un des libellés est présent. Autrement dit, les ensembles de libellés pour l'inclusion ou l'exclusion sont mis en correspondance en tant qu'opération OR
logique, et non en tant qu'opération AND
logique.
Installer sur des VM en fonction d'autres libellés
Pour installer la dernière version de l'Agent Ops sur toutes les VM de la zone us-central1-a
exécutant Debian 11, à l'exception de celles portant les libellés "env=prod" et "app=web6", utilisez la description de règle suivante:
agentsRule:
packageState: installed
version: latest
instanceFilter:
exclusionLabels:
- labels:
env: prod
app: web6
inventories:
- osShortName: debian
osVersion: '11'
Lorsque vous spécifiez plusieurs paires clé/valeur sous une même entrée labels:
pour l'inclusion ou l'exclusion, une VM correspond si tous les libellés sont présents. Autrement dit, les libellés sont mis en correspondance en tant qu'opération AND
operation, et non en tant qu'opération OR
logique.
Installer sur des VM en fonction du système d'exploitation
Pour installer la dernière version 2 de l'agent Ops sur toutes les VM exécutant Debian 11 ou RHEL 7.* dans la zone us-central1-a
, utilisez la description de règle suivante:
agentsRule:
packageState: installed
version: 2.*.*
instanceFilter:
inventories:
- osShortName: rhel
osVersion: '7.*'
- osShortName: debian
osVersion: '11'
Terraform
Cette section décrit les exemples du répertoire examples
du dépôt terraform-google-cloud-operations
. Ces exemples contiennent des fichiers qui configurent pour vous de nombreuses variables requises par le module ops-agent-policy
. Vous pouvez également copier et modifier les exemples. Par exemple, ces exemples installent tous l'agent Ops. Vous pouvez les modifier pour supprimer l'agent à la place.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Exemple : ops_agent_policy_install_all
Cet exemple installe la dernière version de l'agent Ops sur toutes les VM éligibles de votre projet Google Cloud.
Lorsque vous exécutez la commande terraform plan
ou terraform apply
, vous êtes invité à saisir les valeurs suivantes:
- PROJECT_ID: ID de votre projet Google Cloud
Exemple : ops_agent_policy_install_all_in_region
Cet exemple installe la dernière version de l'agent Ops sur toutes les VM éligibles d'une région donnée, comme us-west1
. Une région contient plusieurs zones, dans ce cas us-west-1a
, us-west-1b
et us-west-1c
.
Lorsque vous exécutez la commande terraform plan
ou terraform apply
, vous êtes invité à saisir les valeurs suivantes:
- PROJECT_ID: ID de votre projet Google Cloud
- REGION: région dans laquelle installer l'agent sur les VM
Exemple : ops_agent_policy_install_all_in_zone
Cet exemple installe la dernière version de l'agent Ops sur toutes les VM éligibles d'une zone donnée, comme us-central1-a
.
Lorsque vous exécutez la commande terraform plan
ou terraform apply
, vous êtes invité à saisir les valeurs suivantes:
- PROJECT_ID: ID de votre projet Google Cloud
- ZONE: zone dans laquelle installer l'agent sur les VM
Résoudre les problèmes liés aux règles d'agent DG
Cette section fournit des informations pour vous aider à résoudre les problèmes liés aux règles d'agent DG pour l'agent Ops. Les informations décrites dans la section Vérifier l'état des règles des agents peuvent également vous être utiles.
Échec des commandes ops-agents policy
Lorsqu'une commande gcloud compute instances ops-agents policies
échoue, la réponse affiche une erreur de validation. Corrigez ces erreurs en corrigeant les arguments de commande et les options, comme indiqué par le message d'erreur.
Outre les erreurs de validation, les erreurs suivantes peuvent s'afficher:
Les sections suivantes décrivent ces conditions plus en détail.
Autorisation IAM insuffisante
Si une commande gcloud compute instances ops-agents policies
échoue et affiche une erreur d'autorisation, assurez-vous d'avoir exécuté le script prepare-for-ops-agents-policies.sh
comme décrit dans la section Avant de commencer pour configurer les rôles de stratégie OS Config:
-
OSPolicyAssignment Admin
(
roles/osconfig.osPolicyAssignmentAdmin
) : fournit un accès complet aux attributions de règles d'OS.
-
Éditeur OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentEditor
) : permet aux utilisateurs d'obtenir, de mettre à jour et de répertorier les attributions de règles d'OS.
-
Lecteur OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentViewer
) : permet d'accéder en lecture seule pour obtenir et répertorier les attributions de règles d'OS.
Pour en savoir plus sur le script prepare-for-ops-agents-policies.sh
, consultez Le script prepare-for-ops-agents-policies.sh
.
L'API OS Config n'est pas activée
Voici un exemple d'erreur:
API [osconfig.googleapis.com] not enabled on project PROJECT_ID.
Would you like to enable and retry (this will take a few minutes)?
(y/N)?
Vous pouvez entrer y
pour activer l'API, ou vous pouvez exécuter le script prepare-for-ops-agents-policies.sh
, décrit dans
Avant de commencer,
afin d'accorder toutes les autorisations requises. Si vous saisissez y
à l'invite du message d'erreur, vous devez toujours exécuter le script prepare-for-ops-agents-policies.sh
pour définir les autorisations requises.
Pour vérifier que l'API OS Config est activée pour le projet, exécutez les commandes suivantes:
gcloud services list --project PROJECT_ID | grep osconfig.googleapis.com
Le résultat attendu est le suivant:
osconfig.googleapis.com Cloud OS Config API
La règle existe déjà
Voici un exemple d'erreur:
ALREADY_EXISTS: Requested entity already exists
Cette erreur signifie que cette règle existe déjà avec le même nom, le même ID de projet et la même région. Vous pouvez le vérifier à l'aide de la commande describe
gcloud compute instances ops-agents policies
.
La règle n'existe pas
Voici un exemple d'erreur:
NOT_FOUND: Requested entity was not found
Cette erreur peut signifier que la règle n'a jamais été créée, qu'elle a été supprimée ou que l'ID de règle spécifié est incorrect. Assurez-vous que la POLICY_ID utilisée dans une commande gcloud compute instances ops-agents policies
describe
, update
ou delete
correspond à une stratégie existante. Pour obtenir la liste des règles d'agent, utilisez la commande list
gcloud compute instances ops-agents policies
.
La règle est créée, mais elle semble n'avoir aucun effet
Les agents OS Config sont déployés sur chaque instance Compute Engine afin de gérer les packages pour les agents Logging et Monitoring. Cette règle peut sembler sans effet si l'agent OS Config sous-jacent n'est pas installé.
Linux
Pour vérifier que l'agent OS Config est installé, exécutez la commande suivante :
gcloud compute ssh instance-id \
--project project-id \
-- sudo systemctl status google-osconfig-agent
Voici un exemple de sortie :
google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
└─369 /usr/bin/google_osconfig_agent
Windows
Pour vérifier que l'agent OS Config est installé, exécutez la commande suivante :
Connectez-vous à votre instance via RDP ou un outil similaire, et connectez-vous à Windows.
Ouvrez un terminal PowerShell, puis exécutez la commande PowerShell suivante. Vous n'avez pas besoin de droits d'administrateur.
Get-Service google_osconfig_agent
Voici un exemple de sortie :
Status Name DisplayName
------ ---- -----------
Running google_osconfig_a… Google OSConfig Agent
Si l'agent OS Config n'est pas installé, vous utilisez peut-être un système d'exploitation qui n'est pas compatible avec VM Manager. Le document Détails des systèmes d'exploitation de Compute Engine indique les fonctionnalités de VM Manager compatibles avec chaque système d'exploitation Compute Engine.
Si le système d'exploitation est compatible avec VM Manager, vous pouvez installer manuellement l'agent OS Config.
L'agent OS Config est installé, mais il n'installe pas l'agent Ops
Pour vérifier si des erreurs se produisent lorsque l'agent OS Config applique des règles, vous pouvez consulter le journal de l'agent OS Config. Pour ce faire, vous pouvez utiliser l'explorateur de journaux, ou SSH ou RDP pour vérifier des instances Compute Engine individuelles.
Pour afficher les journaux de l'agent OS Config dans l'explorateur de journaux, utilisez le filtre suivant :
resource.type="gce_instance"
logId(OSConfigAgent)
Pour afficher les journaux de l'agent OS Config, procédez comme suit:
CentOS, RHEL,
SLES, SUSE
Exécutez la commande suivante :
gcloud compute ssh INSTANCE_ID \
--project PROJECT_ID \
-- sudo cat /var/log/messages \
| grep "OSConfigAgent\|google-fluentd\|stackdriver-agent"
Debian, Ubuntu
Exécutez la commande suivante :
gcloud compute ssh INSTANCE_ID \
--project PROJECT_ID \
-- sudo cat /var/log/syslog \
| grep "OSConfigAgent\|google-fluentd\|stackdriver-agent"
Windows
Connectez-vous à votre instance via RDP ou un outil similaire, et connectez-vous à Windows.
Ouvrez l'application Event Viewer, puis sélectionnez Windows Logs > Application (Journaux Windows > Application), et recherchez les journaux pour lesquels
Source
est égal àOSConfigAgent
.
Si une erreur s'est produite lors de la connexion au service OS Config, assurez-vous d'exécuter le script prepare-for-ops-agents-policies.sh
comme décrit dans la section Avant de commencer pour configurer les métadonnées de OS Config.
Pour vérifier que les métadonnées OS Config sont activées, exécutez la commande suivante :
gcloud compute project-info describe \
--project PROJECT_ID \
| grep "enable-osconfig\|enable-guest-attributes" -A 1
Le résultat attendu est le suivant:
- key: enable-guest-attributes
value: 'TRUE'
- key: enable-osconfig
value: 'TRUE'
L'agent Ops est installé, mais ne fonctionne pas correctement
Pour en savoir plus sur le débogage des problèmes liés à l'agent Ops, consultez la section Résoudre les problèmes liés à l'agent Ops.
Activer les journaux de niveau débogage pour l'agent OS Config
Il peut être utile d'activer la journalisation de niveau débogage dans l'agent OS Config lorsque vous signalez un problème.
Vous pouvez définir les métadonnées osconfig-log-level: debug
pour activer la journalisation au niveau du débogage pour l'agent OS Config. Les journaux collectés contiennent plus d'informations pour faciliter l'investigation.
Afin d'activer la journalisation au niveau du débogage pour l'ensemble du projet, exécutez la commande suivante :
gcloud compute project-info add-metadata \
--project PROJECT_ID \
--metadata osconfig-log-level=debug
Pour activer la journalisation au niveau du débogage sur une VM, exécutez la commande suivante :
gcloud compute instances add-metadata INSTANCE_ID \
--project PROJECT_ID \
--metadata osconfig-log-level=debug
Scripts d'aide
Cette section fournit des informations supplémentaires sur les scripts d'assistance décrits dans ce document:
Script prepare-for-ops-agents-policies.sh
Après avoir téléchargé le script prepare-for-ops-agents-policies.sh
, vous pouvez l'utiliser pour effectuer les actions suivantes, en fonction des arguments que vous fournissez:
Activez l'API Cloud Logging, l'API Cloud Monitoring et l'API OS Config pour le projet.
Si l'API OS Config n'était pas déjà activée, elle est activée en mode fonctionnalités limitées, ce qui est suffisant pour gérer les règles de l'agent. Pour en savoir plus, reportez-vous à la page Tarifs.
Accordez les rôles Identity and Access Management Rédacteur de journaux (
roles/logging.logWriter
) et Rédacteur de métriques Monitoring (roles/monitoring.metricWriter
) au compte de service par défaut Compute Engine afin que les agents puissent écrire des journaux et des métriques dans les API Logging and Cloud Monitoring.Activez les métadonnées OS Config pour le projet afin que l'agent OS Config sur chaque VM soit actif.
Attribuez l'un des rôles IAM suivants à l'utilisateur ou au compte de service non propriétaire nécessaire pour créer et gérer des stratégies. Les propriétaires de projet disposent d'un accès complet pour créer et gérer des règles ; tous les autres utilisateurs ou comptes de service doivent disposer de l'un des rôles suivants:
-
OSPolicyAssignment Admin
(
roles/osconfig.osPolicyAssignmentAdmin
) : fournit un accès complet aux attributions de règles d'OS.
-
Éditeur OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentEditor
) : permet aux utilisateurs d'obtenir, de mettre à jour et de répertorier les attributions de règles d'OS.
-
Lecteur OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentViewer
) : permet d'accéder en lecture seule pour obtenir et répertorier les attributions de règles d'OS.
Lors de l'exécution du script, vous pouvez spécifier les rôles OSPolicyAssignment comme
admin
,editor
ouviewer
. Le script mappe ces valeurs sur les noms des rôlesroles/osconfig.osPolicyAssignment*
.-
OSPolicyAssignment Admin
(
Les exemples suivants illustrent certaines invocations courantes du script. Pour en savoir plus, consultez les commentaires dans le script lui-même.
Pour activer les API, accorder les rôles nécessaires au compte de service par défaut et activer les métadonnées OS Config pour un projet, exécutez le script comme suit:
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID
Pour en plus accorder l'un des rôles OS Config à un utilisateur qui ne dispose pas du rôle Propriétaire (roles/owner
) sur le projet, exécutez le script comme suit :
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID \ --iam-user=USER_EMAIL \ --iam-policy-access=[admin|editor|viewer]
Pour en plus accorder l'un des rôles OS Config à un compte de service autre que celui par défaut, exécutez le script comme suit :
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID \ --iam-service-account=SERVICE_ACCT_EMAIL \ --iam-policy-access=[admin|editor|viewer]
Script diagnose_policies.sh
À partir d'un ID de projet, d'un ID d'instance Compute Engine, d'une zone Compute Engine et de l'ID de règle de l'agent, le script diagnose_policies.sh
collecte automatiquement les informations nécessaires pour diagnostiquer les problèmes liés à la stratégie:
- Version de l'agent OS Config
- Attribution de règles d'OS sous-jacente
- Attributions de règles de système d'exploitation applicables à cette instance Compute Engine
- Description de cette instance Compute Engine
Pour appeler le script, exécutez la commande suivante:
bash diagnose_policies.sh --project-id=PROJECT_ID \ --gce-instance-id=INSTANCE_ID \ --policy-id=POLICY_ID \ --zone=ZONE
Tarifs
Les commandes gcloud compute instances ops-agents policies
sont implémentées à l'aide des ressources d'attribution de règles d'OS de VM Manager.
Le script prepare-for-ops-agents-policies.sh
, décrit dans Avant de commencer, configure
VM Manager dans le
mode de fonctionnalité limitée
(OSCONFIG_B
),
qui suffit pour créer et gérer les règles d'agent. L'utilisation de VM Manager en mode limité est gratuite.
Si vous avez configuré VM Manager en mode toutes fonctionnalités (OSCONFIG_C
), des frais peuvent vous être facturés.