Comprendre la configuration de machine Azure

Attention

Cet article fait référence à CentOS, une distribution Linux proche de l’état fin de vie (EOL). Faites le point sur votre utilisation et organisez-vous en conséquence.

La fonctionnalité de configuration d’ordinateur d’Azure Policy fournit des fonctionnalités natives pour auditer ou configurer des paramètres de système d’exploitation en tant que code, à la fois pour les ordinateurs s’exécutant dans Azure et les ordinateurs hybrides avec Arc. Vous pouvez utiliser la fonctionnalité directement par ordinateur ou l’orchestrer à grande échelle à l’aide d’Azure Policy.

Les ressources de configuration dans Azure sont conçues comme une ressource d’extension. Vous pouvez imaginer chaque configuration comme un ensemble de propriétés supplémentaires pour l’ordinateur. Les configurations peuvent inclure des paramètres comme :

  • Paramètres du système d’exploitation
  • La configuration ou la présence de l’application
  • Paramètres d'environnement

Les configurations sont différentes des définitions de stratégie. La configuration d’ordinateur utilise Azure Policy pour attribuer dynamiquement des configurations aux ordinateurs. Vous pouvez également attribuer des configurations à des machines manuellement ou à l’aide d’autres services Azure comme Automanage.

Vous trouverez des exemples de chaque scénario dans le tableau suivant.

Type Description Exemple de scénario
Gestion des configurations Vous souhaitez la représentation complète d’un serveur, en tant que code dans le contrôle de code source. Le déploiement doit inclure les propriétés du serveur (taille, réseau, stockage) et la configuration des paramètres du système d’exploitation et de l’application. « Cet ordinateur doit être un serveur web configuré pour héberger mon site Web. »
Conformité Vous souhaitez auditer ou déployer des paramètres sur tous les ordinateurs de l’étendue, soit de manière réactive vers des ordinateurs existants, soit de manière proactive vers les nouveaux ordinateurs à mesure qu’ils sont déployés. « Tous les ordinateurs doivent utiliser TLS 1.2. Auditez les ordinateurs existants afin de pouvoir les modifier où cela est nécessaire, de manière contrôlée, à grande échelle. Pour les nouveaux ordinateurs, appliquez le paramètre lors de leur déploiement. »

Vous pouvez afficher les résultats par paramètre des configurations dans la page Affectations d’invités. Si une affectation Azure Policy a orchestré la configuration, vous pouvez sélectionner le lien « Dernière ressource évaluée » sur la page « Détails de conformité ».

Un guide vidéo de ce document est disponible. (mise à jour prochaine)

Activer la configuration de l’ordinateur

Pour vérifier l’état des machines dans votre environnement, y compris les machines dans les serveurs Azure et Arc, examinez les informations suivantes.

Fournisseur de ressources

Avant de pouvoir utiliser la fonctionnalité de configuration de l’ordinateur de la Stratégie Azure, vous devez inscrire le fournisseur de ressources Microsoft.GuestConfiguration. Si l’affectation d’une stratégie de configuration de l’ordinateur est effectuée via le portail, ou si l’abonnement est inscrit dans Microsoft Defender pour le cloud, le fournisseur de ressources est inscrit automatiquement. Vous pouvez l’inscrire manuellement via le portail, Azure PowerShell ou Azure CLI.

Configuration requise pour le déploiement de machines virtuelles Azure

Pour gérer les paramètres à l’intérieur d’une machine, une extension de machine virtuelle est activée et la machine doit disposer d’une identité managée par le système. L’extension télécharge les affectations de configuration d’ordinateur applicable et les dépendances correspondantes. L’identité est utilisée pour authentifier la machine lorsqu’elle lit et écrit dans le service de configuration de l’ordinateur. L'extension n'est pas nécessaire pour les serveurs avec Arc car elle est incluse dans l’Agent de la machine connectée Arc.

Important

L’extension de la configuration de l’ordinateur ainsi qu’une identité managée sont requises pour la gestion des machines virtuelles Azure.

Pour déployer l’extension à l’échelle sur toutes les machines, attribuez l’initiative de stratégie Deploy prerequisites to enable Guest Configuration policies on virtual machines à un groupe d’administration, un abonnement ou un groupe de ressources contenant les machines que vous envisagez de gérer.

Si vous préférez déployer l’extension ainsi que l’identité managée vers une seule machine, voir Configurer des identités managées pour ressources Azure sur une machine virtuelle en utilisant le portail Azure.

Pour utiliser les packages de configuration d’ordinateur qui appliquent des configurations, la version 1.26.24 (ou ultérieure) de l’extension de configuration de l’invité de machine virtuelle Azure est nécessaire.

Limites définies sur l’extension

Pour limiter l’impact de l’extension sur les applications qui s’exécutent à l’intérieur de la machine, la configuration de l’ordinateur ne peut pas dépasser plus de 5 % de la capacité du processeur. Cette limitation existe à la fois pour les définitions intégrées et personnalisées. Il en va de même pour le service de configuration de l’ordinateur de l’agent de la Machine connectée Arc.

Outils de validation

À l’intérieur de la machine, l’agent de la configuration de l’ordinateur utilise des outils locaux pour exécuter les tâches.

Le tableau suivant affiche une liste des outils locaux utilisés sur chaque système d’exploitation pris en charge. Pour le contenu intégré, la configuration de l’ordinateur gère automatiquement le chargement de ces outils.

Système d’exploitation Outil de validation Notes
Windows PowerShell Desired State Configuration v2 Chargé dans un dossier utilisé uniquement par Azure Policy. Aucun conflit avec Windows PowerShell DSC. PowerShell n’est pas ajouté au chemin d’accès système.
Linux Configuration de l’état désiré PowerShell v3 Chargé dans un dossier utilisé uniquement par Azure Policy. PowerShell n’est pas ajouté au chemin d’accès système.
Linux Chef InSpec Installe Chef InSpec version 2.2.61 dans l’emplacement par défaut et est ajouté au chemin d’accès système. Il installe également les dépendances d’InSpec, notamment Ruby et Python.

Fréquence de validation

L’agent de la configuration de l’ordinateur vérifie les affectations d’invités nouvelles ou modifiées toutes les 5 minutes. Une fois l’affectation d’invité reçue, les paramètres de cette configuration sont revérifiés à intervalle de 15 minutes. Si plusieurs configurations sont affectées, chacune d’elles est évaluée de manière séquentielle. Les configurations de longue durée ont un impact sur l’intervalle pour toutes les configurations, car la suivante ne peut pas s’exécuter tant que la configuration précédente n’est pas terminée.

Les résultats sont envoyés au service de la configuration de l’ordinateur dès la fin de l’audit. Lorsqu’un déclencheur d’évaluation de stratégie intervient, l’état de la machine est consigné dans le fournisseur de ressources de la configuration de l’ordinateur. Avec cette mise à jour, Azure Policy évalue alors les propriétés Azure Resource Manager. Une évaluation à la demande de la Stratégie Azure récupère la valeur la plus récente du fournisseur de ressources de la configuration de l’ordinateur. Toutefois, il ne déclenche pas une nouvelle activité au sein de la machine. L’état est ensuite écrit dans le Graphe de ressources Azure.

Types de clients pris en charge

Les définitions de stratégie de la configuration de l’ordinateur sont incluses dans les nouvelles versions. Les versions antérieures des systèmes d’exploitation disponibles dans Place de marché Azure sont exclues si le client Guest Configuration n’est pas compatible. Le tableau suivant affiche une liste des systèmes d’exploitation pris en charge sur des images Azure. Le texte .x est utilisé pour représenter les nouvelles versions mineures des distributions Linux.

Serveur de publication Nom Versions
Alma AlmaLinux 9
Amazon Linux 2
Canonical Serveur Ubuntu 14.04 - 22.x
Credativ Debian 8 - 10.x
Microsoft CBL-Mariner 1 - 2
Microsoft Client Windows Windows 10
Microsoft Windows Server 2012 - 2022
Oracle Oracle-Linux 7.x - 8.x
OpenLogic CentOS 7.3 - 8.x
Red Hat Red Hat Enterprise Linux* 7.4 - 9.x
Rocky Rocky Linux 9
SUSE SLES 12 SP3-SP5, 15.x

* Red Hat CoreOS n’est pas pris en charge.

Les définitions de stratégie de configuration d’ordinateur prennent en charge les images de machine virtuelle personnalisées dans la mesure où il s’agit d’un des systèmes d’exploitation répertoriés dans le tableau précédent.

Configuration requise pour le réseau

Les machines virtuelles Azure peuvent utiliser leur carte réseau virtuelle locale (vNIC) ou Azure Private Link pour communiquer avec le service de la configuration d’ordinateur.

Les machines Azure Arc se connectent à l’aide de l’infrastructure réseau locale pour atteindre les services Azure et signaler l’état de conformité.

Voici la liste des points de terminaison du Stockage Azure requis pour que les machines virtuelles Azure et Azure Arc communiquent avec le fournisseur de ressources de configuration de machine dans Azure :

  • oaasguestconfigac2s1.blob.core.windows.net
  • oaasguestconfigacs1.blob.core.windows.net
  • oaasguestconfigaes1.blob.core.windows.net
  • oaasguestconfigases1.blob.core.windows.net
  • oaasguestconfigbrses1.blob.core.windows.net
  • oaasguestconfigbrss1.blob.core.windows.net
  • oaasguestconfigccs1.blob.core.windows.net
  • oaasguestconfigces1.blob.core.windows.net
  • oaasguestconfigcids1.blob.core.windows.net
  • oaasguestconfigcuss1.blob.core.windows.net
  • oaasguestconfigeaps1.blob.core.windows.net
  • oaasguestconfigeas1.blob.core.windows.net
  • oaasguestconfigeus2s1.blob.core.windows.net
  • oaasguestconfigeuss1.blob.core.windows.net
  • oaasguestconfigfcs1.blob.core.windows.net
  • oaasguestconfigfss1.blob.core.windows.net
  • oaasguestconfiggewcs1.blob.core.windows.net
  • oaasguestconfiggns1.blob.core.windows.net
  • oaasguestconfiggwcs1.blob.core.windows.net
  • oaasguestconfigjiws1.blob.core.windows.net
  • oaasguestconfigjpes1.blob.core.windows.net
  • oaasguestconfigjpws1.blob.core.windows.net
  • oaasguestconfigkcs1.blob.core.windows.net
  • oaasguestconfigkss1.blob.core.windows.net
  • oaasguestconfigncuss1.blob.core.windows.net
  • oaasguestconfignes1.blob.core.windows.net
  • oaasguestconfignres1.blob.core.windows.net
  • oaasguestconfignrws1.blob.core.windows.net
  • oaasguestconfigqacs1.blob.core.windows.net
  • oaasguestconfigsans1.blob.core.windows.net
  • oaasguestconfigscuss1.blob.core.windows.net
  • oaasguestconfigseas1.blob.core.windows.net
  • oaasguestconfigsecs1.blob.core.windows.net
  • oaasguestconfigsfns1.blob.core.windows.net
  • oaasguestconfigsfws1.blob.core.windows.net
  • oaasguestconfigsids1.blob.core.windows.net
  • oaasguestconfigstzns1.blob.core.windows.net
  • oaasguestconfigswcs1.blob.core.windows.net
  • oaasguestconfigswns1.blob.core.windows.net
  • oaasguestconfigswss1.blob.core.windows.net
  • oaasguestconfigswws1.blob.core.windows.net
  • oaasguestconfiguaecs1.blob.core.windows.net
  • oaasguestconfiguaens1.blob.core.windows.net
  • oaasguestconfigukss1.blob.core.windows.net
  • oaasguestconfigukws1.blob.core.windows.net
  • oaasguestconfigwcuss1.blob.core.windows.net
  • oaasguestconfigwes1.blob.core.windows.net
  • oaasguestconfigwids1.blob.core.windows.net
  • oaasguestconfigwus2s1.blob.core.windows.net
  • oaasguestconfigwus3s1.blob.core.windows.net
  • oaasguestconfigwuss1.blob.core.windows.net

Communiquer via des réseaux virtuels dans Azure

Pour communiquer avec le fournisseur de ressources de la configuration d’ordinateur dans Azure, les ordinateurs nécessitent un accès sortant vers des centres de données Azure sur le port 443*. Si un réseau dans Azure n’autorise pas le trafic sortant, configurez des exceptions à l’aide de règles du Groupe de sécurité réseau. Les étiquettes de serviceAzureArcInfrastructure et Storage peuvent être utilisées pour référencer les services de la configuration invité et de Stockage plutôt que de gérer manuellement la liste des plages d’adresses IP pour les centres de données Azure. Les deux balises sont requises, car Stockage Azure héberge les packages de contenu de configuration d’ordinateur.

Les machines virtuelles peuvent utiliser une liaison privée pour la communication avec le service de la configuration de l’ordinateur. Appliquez la balise avec le nom EnablePrivateNetworkGC et la valeur TRUE pour activer cette fonctionnalité. La balise peut être appliquée avant ou après l’application des définitions de stratégie de la configuration de l’ordinateur à la machine.

Important

Pour communiquer via un lien privé pour les packages personnalisés, le lien vers l’emplacement du package doit être ajouté à la liste des URL autorisées.

Le trafic est acheminé à l’aide de l’IP publique virtuelle d’Azure pour établir un canal sécurisé et authentifié avec les ressources de la plateforme Azure.

Communiquer sur des points de terminaison publics en dehors d’Azure

Les serveurs situés localement ou dans d’autres clouds peuvent être gérés avec la configuration de la machine en les connectant à Azure Arc.

Pour les serveurs compatibles avec Arc, autorisez le trafic à l’aide des modèles suivants :

  • Port : seul le port TCP 443 est nécessaire pour l’accès Internet sortant
  • URL globale : *.guestconfiguration.azure.com

Consultez la configuration réseau requise des serveurs compatibles avec Azure Arc pour obtenir la liste complète de tous les points de terminaison réseau requis par Azure Connected Machine Agent pour les scénarios de configuration d’Azure Arc et de machine.

Lorsque vous utilisez une liaison privée avec des serveurs compatibles avec Arc, les packages de stratégie intégrés sont automatiquement téléchargés sur la liaison privée. Vous n’avez pas besoin de définir d’étiquettes sur le serveur compatible avec Arc pour activer cette fonctionnalité.

Attribution de stratégies à des machines en dehors d’Azure

Les définitions de stratégie d’Audit disponibles pour la configuration de l’ordinateur incluent le type de ressource Microsoft.HybridCompute/machines. Toutes les machines intégrées à serveurs compatibles avec Azure Arc qui relèvent du champ d’application de l’attribution de stratégies sont automatiquement incluses.

Exigences relatives à l’identité managée

Les définitions de stratégie dans l’initiative Deploy prerequisites to enable guest configuration policies on virtual machines activent une identité managée affectée par le système, s’il n’en n’existe pas. L’initiative comporte deux définitions de stratégie qui gèrent la création d’identités. Les conditions if dans les définitions de stratégie garantissent un comportement correct en fonction de l’état actuel de la ressource d’ordinateur dans Azure.

Important

Ces définitions permettent de créer une identité managée affectée par le système sur les ressources cibles, en plus des identités affectées par l’utilisateur (le cas échéant). Pour les applications existantes, à moins qu’elles ne spécifient l’identité affectée par l’utilisateur dans la demande, la machine utilise par défaut l’identité affectée par le système à la place. En savoir plus

Si la machine n’a pas d’identités managées, la stratégie effective est : Ajouter une identité managée affectée par le système pour activer les attributions Guest Configuration sur les machines virtuelles sans identité

Si la machine possède actuellement une identité système affectée par l’utilisateur, la stratégie effective est : Ajouter une identité managée affectée par le système pour activer les attributions Guest Configuration sur les machines virtuelles avec une identité affectée par l’utilisateur

Disponibilité

Les clients qui conçoivent une solution hautement disponible doivent tenir compte des exigences de planification de la redondance pour les machines virtuelles, car les attributions d’invités sont des extensions des ressources de machine dans Azure. Lorsque les ressources d’affectation d’invité sont approvisionnées dans une région Azure jumelée, vous pouvez afficher les rapports d’affectation d’invité si au moins une région de la paire est disponible. Lorsque la région Azure n’est pas jumelée et qu’elle devient indisponible, vous ne pouvez pas accéder aux rapports pour une affectation d’invité. Lorsque la région est restaurée, vous pouvez à nouveau accéder aux rapports.

Il est recommandé d’attribuer les mêmes définitions de stratégie avec les mêmes paramètres à tous les ordinateurs de la solution pour les applications hautement disponibles. Cela est particulièrement vrai pour les scénarios où des machines virtuelles sont approvisionnées dans des groupes à haute disponibilité derrière une solution d’équilibreur de charge. Une affectation de stratégie unique couvrant tous les ordinateurs offre la surcharge administrative la moins importante.

Pour les ordinateurs protégés par Azure Site Recovery, assurez-vous que les ordinateurs d’un site principal et secondaire se trouvent dans l’étendue des affectations d’Azure Policy pour les mêmes définitions. Utilisez les mêmes valeurs de paramètre pour les deux sites.

Résidence des données

La configuration d’ordinateur stocke et traite les données client. Par défaut, les données client sont répliquées dans la région jumelée. Pour les régions Singapour, Brésil Sud et Asie Est, toutes les données client sont stockées et traitées dans la région.

Résolution des problèmes de configuration de l’ordinateur

Pour plus d’informations sur la résolution des problèmes de la configuration de l’ordinateur, consultez Résolution des problèmes de la Stratégie Azure.

Affectations multiples

Actuellement, seules certaines définitions intégrées de stratégie de configuration d’ordinateur prennent en charge des affectations multiples. Toutefois, toutes les stratégies personnalisées prennent en charge des affectations multiples par défaut si vous avez utilisé la dernière version du module PowerShell GuestConfiguration, pour créer des packages et des stratégies de configuration d’ordinateur.

Voici la liste des définitions intégrées de stratégie de configuration d’ordinateur qui prennent en charge des affectations multiples :

id DisplayName
/providers/Microsoft.Authorization/policyDefinitions/5fe81c49-16b6-4870-9cee-45d13bf902ce Les méthodes d’authentification locales doivent être désactivées sur Serveurs Windows
/providers/Microsoft.Authorization/policyDefinitions/fad40cac-a972-4db0-b204-f1b15cced89a Les méthodes d’authentification locales doivent être désactivées sur les ordinateurs Linux
/providers/Microsoft.Authorization/policyDefinitions/f40c7c00-b4e3-4068-a315-5fe81347a904 [Préversion] : Ajouter une identité managée affectée par l’utilisateur pour activer les affectations Guest Configuration sur les machines virtuelles
/providers/Microsoft.Authorization/policyDefinitions/63594bb8-43bb-4bf0-bbf8-c67e5c28cb65 [Préversion] : Les machines Linux doivent respecter l’exigence de conformité STIG pour le calcul Azure
/providers/Microsoft.Authorization/policyDefinitions/50c52fc9-cb21-4d99-9031-d6a0c613361c [Préversion] : Les machines Windows doivent respecter les exigences de conformité STIG pour le calcul Azure
/providers/Microsoft.Authorization/policyDefinitions/e79ffbda-ff85-465d-ab8e-7e58a557660f [Préversion] : Les machines Linux avec OMI installé doivent avoir la version 1.6.8-1 ou ultérieure
/providers/Microsoft.Authorization/policyDefinitions/934345e1-4dfb-4c70-90d7-41990dc9608b Auditer les machines Windows qui ne contiennent pas les certificats spécifiés dans la racine de confiance
/providers/Microsoft.Authorization/policyDefinitions/08a2f2d2-94b2-4a7b-aa3b-bb3f523ee6fd Auditer les machines Windows sur lesquelles la configuration DSC n’est pas conforme
/providers/Microsoft.Authorization/policyDefinitions/c648fbbb-591c-4acd-b465-ce9b176ca173 Auditer les machines Windows ne spécifiant pas la stratégie d’exécution Windows PowerShell
/providers/Microsoft.Authorization/policyDefinitions/3e4e2bd5-15a2-4628-b3e1-58977e9793f3 Auditer les machines Windows sur lesquelles les modules Windows PowerShell spécifiés ne sont pas installés
/providers/Microsoft.Authorization/policyDefinitions/58c460e9-7573-4bb2-9676-339c2f2486bb Auditer les machines Windows sur lesquelles la console série Windows n’est pas activée
/providers/Microsoft.Authorization/policyDefinitions/e6ebf138-3d71-4935-a13b-9c7fdddd94df Auditer les machines Windows sur lesquelles les services spécifiés ne sont pas installés ni « En cours d’exécution »
/providers/Microsoft.Authorization/policyDefinitions/c633f6a2-7f8b-4d9e-9456-02f0f04f5505 Auditer les machines Windows qui ne sont pas définies sur le fuseau horaire spécifié

Notes

Veuillez consulter régulièrement cette page pour connaître les mises à jour de la liste des définitions intégrées de stratégie de configuration d'ordinateur qui prennent en charge des affectations multiples.

Affectations à des groupes de gestion Azure

Les définitions de la Stratégie Azure dans la catégorie Guest Configuration peuvent être assignées aux Groupes de gestion lorsque l’effet est AuditIfNotExists ou DeployIfNotExists.

Fichiers journaux du client

L’extension de la configuration de l’ordinateur écrit les fichiers journaux aux emplacements suivants :

Windows

  • Machine virtuelle Azure : C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log
  • Serveur avec Arc :C:\ProgramData\GuestConfig\arc_policy_logs\gc_agent.log

Linux

  • Machine virtuelle Azure : /var/lib/GuestConfig/gc_agent_logs/gc_agent.log
  • Serveur avec Arc :/var/lib/GuestConfig/arc_policy_logs/gc_agent.log

Collecte des journaux à distance

La première étape de la résolution des problèmes liés aux configurations ou aux modules de l’ordinateur consiste à utiliser les cmdlets en suivant les étapes décrites dans Guide pratique pour tester des artefacts de package de configuration de machine. Si cela ne réussit pas, la collecte des journaux des clients peut vous aider à diagnostiquer les problèmes.

Windows

Capturez des informations de fichiers journaux à l’aide de la commande Run de la machine virtuelle Azure. L’exemple de script PowerShell suivant peut être utile.

$linesToIncludeBeforeMatch = 0
$linesToIncludeAfterMatch  = 10
$params = @{
    Path = 'C:\ProgramData\GuestConfig\gc_agent_logs\gc_agent.log'
    Pattern = @(
        'DSCEngine'
        'DSCManagedEngine'
    )
    CaseSensitive = $true
    Context = @(
        $linesToIncludeBeforeMatch
        $linesToIncludeAfterMatch
    )
}
Select-String @params | Select-Object -Last 10

Linux

Capturez des informations de fichiers journaux à l’aide de la commande Run de la machine virtuelle Azure. L’exemple de script Bash suivant peut être utile.

LINES_TO_INCLUDE_BEFORE_MATCH=0
LINES_TO_INCLUDE_AFTER_MATCH=10
LOGPATH=/var/lib/GuestConfig/gc_agent_logs/gc_agent.log
egrep -B $LINES_TO_INCLUDE_BEFORE_MATCH -A $LINES_TO_INCLUDE_AFTER_MATCH 'DSCEngine|DSCManagedEngine' $LOGPATH | tail

Fichier agent

L’agent de la configuration de l’ordinateur télécharge des packages de contenu sur une machine et en extrait le contenu. Pour vérifier quel contenu a été téléchargé et stocké, consultez les emplacements de dossier dans la liste suivante.

  • Windows : C:\ProgramData\guestconfig\configuration
  • Linux : /var/lib/GuestConfig/Configuration

Fonctionnalité du module nxtools open source

Un nouveau module nxtools open source a été publié en vue de faciliter la gestion des systèmes Linux pour les utilisateurs PowerShell.

Voici les tâches courantes que ce module vous aide à gérer :

  • Gestion des utilisateurs et des groupes
  • Exécution d’opérations de système de fichiers
  • Gestion des services
  • Exécution d’opérations d’archivage
  • Gérer les packages

Le module inclut des ressources DSC basées sur une classe pour Linux, ainsi que des packages de configuration d’ordinateur intégrés.

Si vous souhaitez faire part de vos commentaires sur cette fonctionnalité, veuillez ouvrir un sujet dans la documentation. Actuellement, nous n’acceptons aucune demande de tirage pour ce projet, et le support est assuré dans la mesure du possible.

Exemples de la configuration de l’ordinateur

Des exemples de stratégie intégrée de la configuration de l’ordinateur sont disponibles dans les emplacements suivants :

Étapes suivantes