Utilisez des règles de système d'exploitation pour conserver des configurations logicielles cohérentes sur les instances de machine virtuelle (VM) Linux et Windows.
Avant de commencer
- Consultez les pages Règle d'OS et attribution de règles d'OS.
- Consultez les quotas d'OS Config.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Administrateur OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentAdmin
). Contient les autorisations permettant de créer, supprimer, mettre à jour, obtenir et répertorier les attributions de règles d'OS. - Éditeur OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentEditor
). Contient les autorisations permettant de mettre à jour, d'obtenir et de répertorier les attributions de règles d'OS. - Lecteur OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentViewer
). Contient les autorisations d'accès en lecture seule pour obtenir et répertorier les attributions de règles d'OS. PROJECT_ID
: ID du projetUSER_ID
: nom d'utilisateur Google Workspace de l'utilisateur- Configurez VM Manager.
- Attribuez les autorisations requises aux utilisateurs.
- Consultez Règles d'OS et attributions de règles d'OS.
- Créez les ressources de règles d'OS.
Pour créer et déployer l'attribution de la règle d'OS, utilisez l'une des méthodes suivantes :
Console
Procédez comme suit pour créer et déployer une attribution de règles d'OS :
- Sur votre client local, créez ou téléchargez une règle de système d'exploitation. Il doit s'agir d'un fichier JSON ou YAML. Pour en savoir plus sur la création de règles d'OS ou pour afficher des exemples de règles d'OS, consultez la page Règles d'OS.
Dans la console Google Cloud, accédez à la page Règles d'OS.
Cliquez sur Créer une attribution de règles d'OS.
Dans la section ID d'attribution, indiquez un nom pour l'attribution de règles d'OS. Consultez la convention d'attribution de noms des ressources.
Dans la section Règles d'OS, importez le fichier de règle d'OS.
Dans la section Instances de VM cibles, spécifiez les VM cibles.
- Sélectionnez la zone contenant les VM auxquelles vous souhaitez appliquer la règle.
- Sélectionnez les familles de systèmes d'exploitation.
- Facultatif : Vous pouvez filtrer davantage les VM en spécifiant des étiquettes d'inclusion et d'exclusion.
Par exemple, vous pouvez sélectionner toutes les VM Ubuntu dans votre environnement de test et exclure celles qui exécutent Google Kubernetes Engine, en spécifiant les éléments suivants :
- Famille d'OS :
ubuntu
- Inclure :
env:test
,env:staging
- Exclure :
goog-gke-node
Spécifiez un plan de déploiement.
- Spécifiez la taille de la vague (également appelé budget d'interruption). Exemple : 10%
- Indiquez le temps d'attente. Par exemple, 15 minutes.
Cliquez sur Lancer le déploiement.
gcloud
Procédez comme suit pour créer et déployer une attribution de règles d'OS dans une zone :
Créez une ressource d'attribution de règles d'OS au format JSON ou YAML. Ce fichier définit les règles d'OS que vous souhaitez appliquer à vos VM, les VM cibles auxquelles vous souhaitez appliquer les règles et le taux de déploiement auquel appliquer les règles d'OS. Pour en savoir plus sur ce fichier et obtenir des exemples d'attributions, consultez la page Attribution de règles d'OS.
Utilisez la commande
os-config os-policy-assignments create
pour créer et déployer l'attribution de règles d'OS dans un emplacement spécifié.gcloud compute os-config os-policy-assignments create OS_POLICY_ASSIGNMENT_ID \ --location=ZONE \ --file=OS_POLICY_ASSIGNMENT_FILE \ --async
Remplacez les éléments suivants :
OS_POLICY_ASSIGNMENT_ID
: nom de l'attribution de la règle de système d'exploitation. Consultez la convention d'attribution de noms des ressources.ZONE
: zone dans laquelle créer l'attribution de la règle du système d'exploitationOS_POLICY_ASSIGNMENT_FILE
: chemin absolu du fichier d'attribution de règles d'OS que vous avez créé à l'étape précédente.
Exemple
gcloud compute os-config os-policy-assignments create my-os-policy-assignment \ --location=asia-south1-a \ --file=/downloads/assignment-config.yaml \ --async
Le résultat ressemble à ce qui suit :
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Notez le nom complet de la ressource pour l'opération. Dans l'exemple précédent, le nom de ressource complet est le suivant :
projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Vous pouvez utiliser ce nom de ressource complet pour obtenir des détails sur un déploiement ou pour annuler un déploiement. Voir Déploiements.
Terraform
Pour créer une attribution de règle d'OS, utilisez la ressource
google_os_config_os_policy_assignment
.L'exemple suivant vérifie si le serveur Web Apache est exécuté sur des VM CentOS.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
REST
Pour créer une attribution de règle d'OS sur votre client local, procédez comme suit :
Créez une attribution de règles d'OS. Il doit s'agir d'un fichier JSON. Pour en savoir plus sur la création d'attributions de règles d'OS ou pour afficher des exemples d'attributions de règles d'OS, consultez la section Attribution de règles d'OS.
Si vous souhaitez utiliser l'exemple d'attribution de règle d'OS YAML, vous devez la convertir au format JSON.
Dans l'API, envoyez une requête
POST
à la méthodeprojects.locations.osPolicyAssignments.create
.Dans le corps de la requête, collez les spécifications d'attribution des règles de système d'exploitation de l'étape précédente.
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { JSON_OS_POLICY }
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.OS_POLICY_ASSIGNMENT_ID
: nom de l'attribution de règle d'OSJSON_OS_POLICY
: spécifications d'attribution de règles du système d'exploitation créées à l'étape précédente. Il doit être au format JSON. Pour plus d'informations sur les paramètres et le format, consultez la pageResource: OSPolicyAssignment
.ZONE
: zone dans laquelle créer l'attribution de la règle d'OS
Exemple
Par exemple, pour créer une attribution de règles d'OS pour Google Cloud Observability qui installe les agents de surveillance et de journalisation sur les VM sélectionnées à l'aide de l'exemple d'attribution de règles OS, procédez comme suit :
- Convertir l'exemple au format JSON
- Effectuez la requête suivante :
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { "osPolicies": [ { "id": "setup-repo-and-install-package-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "setup-repo", "repository": { "yum": { "id": "google-cloud-monitoring", "displayName": "Google Cloud Monitoring Agent Repository", "baseUrl": "https://packages.cloud.google.com/yum/repos/google-cloud-monitoring-el8-x86_64-all", "gpgKeys": [ "https://packages.cloud.google.com/yum/doc/yum-key.gpg", "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg" ] } } }, { "id": "install-pkg", "pkg": { "desiredState": "INSTALLED", "yum": { "name": "stackdriver-agent" } } } ] } ] } ], "instanceFilter": { "inclusionLabels": [ { "labels": { "used_for": "testing" } } ] }, "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": { "seconds": 300 } } }
Dans la console Google Cloud, accédez à la page Règles d'OS.
Cliquez sur l'onglet Attribution de règle d'OS.
Pour l'attribution de règle d'OS pour laquelle vous souhaitez annuler le déploiement, cliquez sur Action (> Annuler le déploiement.
)Cliquez sur Annuler le déploiement.
- En savoir plus sur les règles de système d'exploitation.
- Gérer les attributions de règles d'OS
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Systèmes d'exploitation compatibles
Pour obtenir la liste complète des systèmes d'exploitation et des versions compatibles avec les règles d'OS, consultez la page Détails des systèmes d'exploitation.
Autorisations
Étant donné que vous pouvez utiliser des règles d'OS pour installer et gérer des packages logiciels sur une VM, la création et la gestion des règles de système d'exploitation équivaut à accorder l'accès à l'exécution de code à distance sur une VM.
Lorsque vous configurez des stratégies d'OS, les autorisations IAM sont utilisées pour contrôler l'accès aux ressources et les activités sont enregistrées dans le journal d'audit. Cependant, les utilisateurs peuvent toujours exécuter du code sur la VM, ce qui présente un risque pour la sécurité. Pour limiter ce risque, nous vous recommandons de ne fournir que l'accès requis à chaque utilisateur.
Les propriétaires d'un projet disposent d'un accès complet pour créer et gérer des attributions de règles d'OS. Pour tous les autres utilisateurs, vous devez accorder des autorisations. Vous pouvez attribuer l'un des rôles suivants :
Exemple de commande permettant de définir des autorisations
Pour accorder à un utilisateur l'accès administrateur pour des attributions de règles d'OS, exécutez la commande suivante :
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.osPolicyAssignmentAdmin
Remplacez les éléments suivants :
Créer une attribution de règles OS
Procédez comme suit pour créer et déployer une attribution de règles d'OS :
Déploiements
Les attributions de stratégies d'OS sont déployées selon un taux de déploiement. Cela signifie que les attributions qui ciblent un ensemble de VM peuvent être déployées progressivement et ne sont pas appliquées immédiatement à toutes les VM. Les modifications sont déployées progressivement afin de vous permettre d'intervenir et d'annuler un déploiement si de nouvelles modifications provoquent des régressions.
Lorsque les appels de méthode à une API peuvent prendre beaucoup de temps, l'API renvoie une opération de longue durée. Pour en savoir plus sur les opérations de longue durée, consultez la page Opérations de longue durée.
L'API OS Config crée une opération de longue durée chaque fois que vous créez, mettez à jour ou supprimez une attribution de règles de système d'exploitation. Chaque opération de longue durée renvoie une ressource d'opération. Cette ressource d'opération est semblable à ceci :
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Chaque opération de création, de mise à jour ou de suppression génère également une nouvelle révision d'attribution de règles d'OS. Pour afficher les révisions d'une attribution de règle de système d'exploitation, consultez la section Répertorier les révisions d'attribution de stratégies d'OS.
Vous pouvez utiliser Google Cloud CLI pour obtenir les détails d'un déploiement ou pour l'annuler.
Obtenir les détails d'un déploiement
Pour obtenir des détails sur un déploiement, utilisez la commande
os-config os-policy-assignments operations describe
.gcloud compute os-config os-policy-assignments operations describe FULLY_QUALIFIED_OPERATION_NAME
Remplacez
FULLY_QUALIFIED_OPERATION_NAME
par le nom complet de la ressource pour l'opération renvoyée par la création, la mise à jour ou la suppression.Exemple
gcloud compute os-config os-policy-assignments operations describe \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Exemple de résultat :
done: true metadata: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignmentOperationMetadata apiMethod: CREATE osPolicyAssignment: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment@cfb78790-41d8-40d1-b8a1-1eaf6011b909 rolloutStartTime: '2021-04-15T00:53:52.963569Z' rolloutState: SUCCEEDED rolloutUpdateTime: '2021-04-15T00:53:53.094041Z' name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/cfb78790-41d8-40d1-b8a1-1eaf6011b909 response: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignment baseline: true description: My test policy instanceFilter: inclusionLabels: - labels: label-key-not-targeting-instances: label-value-not-targeting-instances name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment osPolicies: - id: q-test-policy mode: ENFORCEMENT resourceGroups: - osFilter: osShortName: centos osVersion: '7' resources: - id: add-repo repository: yum: baseUrl: https://packages.cloud.google.com/yum/repos/google-cloud-ops-agent-el7-x86_64-all
Annuler un déploiement
Console
gcloud
Pour annuler un déploiement, utilisez la commande
gcloud compute os-config os-policy-assignments operations cancel
.gcloud compute os-config os-policy-assignments operations cancel FULLY_QUALIFIED_OPERATION_NAME
Remplacez
FULLY_QUALIFIED_OPERATION_NAME
par le nom complet de la ressource pour l'opération renvoyée par la création, la mise à jour ou la suppression.Exemple
gcloud compute os-config os-policy-assignments operations cancel \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Si la commande aboutit, aucun résultat n'est renvoyé.
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/22 (UTC).
-