Gérer les listes de contrôle d’accès de port dans VMM

Important

Cette version de Virtual Machine Manager (VMM) a atteint la fin du support. Nous vous recommandons de mettre à niveau vers VMM 2022.

Dans System Center - Virtual Machine Manager (VMM), vous pouvez centraliser la configuration et la gestion des listes de contrôle d’accès des ports Hyper-V. Les listes de contrôle d’accès de port peuvent être configurées à la fois pour une infrastructure gérée par un contrôleur de réseau et pour des réseaux qui ne sont pas gérés par le contrôleur de réseau.

  • Une liste de contrôle d’accès des ports de port est un ensemble de règles qui filtrent le trafic au niveau des ports de couche 2. Dans VMM, une liste de contrôle d'accès filtre l’accès à un objet VMM particulier. Une seule liste de contrôle d’accès des ports peut être attachée à un objet réseau.
  • Une liste de contrôle d’accès contient des règles et peut être attachée à n’importe quel nombre d’objets réseau. Vous pouvez créer une liste de contrôle d’accès sans règles et en ajouter par la suite. Chaque règle de liste de contrôle d’accès correspond à une seule ACL de port.
  • Si une liste de contrôle d’accès a plusieurs règles, elles sont appliquées en fonction de la priorité. Une fois qu’une règle correspondant à des critères est appliquée, aucune autre règle n’est traitée.
  • Une liste de contrôle d’accès des ports pour les paramètres globaux est appliquée à toutes les cartes réseau virtuelles de machine virtuelle d’une infrastructure. Aucun type d’objet distinct n’est disponible pour les paramètres globaux. Au lieu de cela, la liste de contrôle d’accès des ports pour les paramètres globaux est attachée au serveur d’administration VMM.
  • Les paramètres de liste de contrôle d’accès des ports sont exposés uniquement via les applets de commande PowerShell dans VMM et ne peuvent pas être configurés dans la console VMM.
  • Les listes de contrôle d’accès des ports peuvent être appliquées aux éléments suivants :
    • Cartes et sous-réseaux virtuels dans le cadre d’un déploiement de contrôleur de réseau
    • Sous-réseaux virtuels, cartes réseau, réseaux de machines virtuelles et serveur d’administration VMM dans le cadre de réseaux non gérés par le contrôleur de réseau

Avant de commencer

  • Pour appliquer une liste de contrôle d’accès aux objets gérés par le contrôleur de réseau, utilisez l’indicateur ManagedByNC et affectez-lui la valeur True. Si elle n’est pas définie sur True, l’ACL s’applique uniquement aux objets réseau qui ne sont pas gérés par le contrôleur de réseau.
  • Les types de listes de contrôle d’accès ne sont pas interchangeables. Vous ne pouvez pas appliquer une liste de contrôle d’accès avec ManagedByNC défini sur false, aux objets gérés par le contrôleur de réseau et vice versa.
  • La principale différence entre ces deux types de listes de contrôle d’accès est que vous devez corriger chaque carte réseau après avoir appliqué la liste de contrôle d’accès aux objets qui ne sont pas gérés par le contrôleur de réseau.
  • Il existe également une différence au niveau des plages de priorité :
    • Listes de contrôle d’accès des ports Hyper-V (non gérées par le contrôleur de réseau) : 1-65535
    • Listes de contrôle d’accès des ports SDN (gérées par le contrôleur de réseau) : 1-64500
  • Vous devez disposer d’autorisations d’administration VMM complètes pour attacher une liste de contrôle d’accès des ports à des paramètres globaux. Pour attacher la liste de contrôle d’accès à des objets VMM (réseaux de machines virtuelles, sous-réseaux, cartes réseau virtuelles), vous devez être administrateur VMM, administrateur de locataire ou utilisateur libre-service.

Scénarios non pris en charge

Voici une liste de scénarios non pris en charge :

  • Gérer des règles individuelles pour une instance unique quand la liste de contrôle d’accès est partagée avec plusieurs instances. Toutes les règles sont gérées de manière centralisée dans leur liste de contrôle d’accès parent et s’appliquent partout où la liste de contrôle d’accès est attachée.
  • Attacher plusieurs listes de contrôle d’accès à une entité.
  • Appliquer des listes de contrôle d’accès des ports aux cartes réseau virtuelles dans la partition parent Hyper-V (système d’exploitation d’administration).
  • Créer des règles de liste de contrôle d’accès des ports qui incluent des protocoles au niveau de l’adresse IP (autres que TCP ou UDP). Les autres protocoles sont toujours pris en charge nativement par Hyper-V.
  • Appliquez des listes de contrôle d’accès de port aux réseaux logiques, aux sites réseau (définitions de réseau logique), aux réseaux locaux virtuels de sous-réseau et à d’autres objets réseau VMM qui ne sont pas mentionnés comme étant pris en charge.

Étapes du déploiement

Utilisez l’interface PowerShell pour VMM afin d’effectuer les opérations suivantes :

  1. Définir des listes de contrôle d’accès des ports et leurs règles.

    • Les règles sont appliquées aux ports de commutateur virtuel sur des serveurs Hyper-V comme « listes de contrôle d’accès des ports étendues » (VMNetworkAdapterExtendedAcl). Cela signifie qu’elles ne s’appliquent qu’aux hôtes exécutant Windows Server 2012 R2 ou ultérieur, car VMM ne crée pas de listes de contrôle d’accès des ports Hyper-V héritées (VMNetworkAdapterAcl) pour les versions antérieures.
    • Les règles sont appliquées aux ports de commutateur virtuel sur des serveurs Hyper-V comme « listes de contrôle d’accès des ports étendues » (VMNetworkAdapterExtendedAcl). Cela signifie qu’elles peuvent s’appliquer uniquement aux hôtes exécutant Windows Server 2016 ou une version ultérieure, car VMM ne crée pas de listes de contrôle d’accès de port Hyper-V héritées (VMNetworkAdapterAcl) pour les versions antérieures.
    • Toutes les règles de liste de contrôle d’accès de port définies dans VMM sont avec état pour le protocole TCP. Vous ne pouvez pas créer de règles de liste de contrôle d’accès sans état pour le protocole TCP.
  2. Attacher une liste de contrôle d’accès des ports aux paramètres globaux. Ceci applique la liste de contrôle d’accès à toutes les cartes réseau virtuelles de machine virtuelle.

  3. Attacher des listes de contrôle d’accès de port aux réseaux de machines virtuelles, sous-réseaux de machines virtuelles ou cartes réseau virtuelles de machine virtuelle.

  4. Gérer les règles de liste de contrôle d’accès des ports.

Créer des listes de contrôle d’accès des ports

  1. Ouvrez PowerShell dans VMM.

  2. Créez une liste de contrôle d’accès des ports à l’aide de l’applet de commande New-SCPortACL.

    New-SCPortACL [-Name] <String> [-Description <String>] [-JobVariable <String>] [-ManagedByNC] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-Owner <String>] [-PROTipID <Guid>] [-RunAsynchronously] [-UserRole <UserRole>] [-VMMServer <ServerConnection>] [<CommonParameters>]
    

Paramètres

Paramètre Détails
Name, Description Nom et description de la liste de contrôle d’accès des ports.
JobVariable Stocke la progression du travail.
ManagedByNC Spécifie si les objets sont gérés par le contrôleur de réseau.
OnBehalfOfUser/OnBehalfOfRole Exécute le travail avec un nom ou un rôle d’utilisateur.
Propriétaire Spécifie le propriétaire d’un objet VMM sous la forme d’un compte d’utilisateur de domaine valide. Exemple : Contoso\PattiFuller ou PattiFuller@Contoso
PROTipID ID du ProTip ayant déclenché l’action.
RunAsychronously Indique si le travail s’exécute en mode asynchrone.
UserRole Spécifie le rôle utilisateur.
VMMServer Spécifie le serveur VMM.
CommonParameters En savoir plus

Exemples

Créer une liste de contrôle d’accès des ports pour les objets gérés par le contrôleur de réseau « DemoACLManagedByNC » :

PS: C:\> New-SCPortACL -Name "DemoACLManagedByNC" -Description "PortACL Example Managed by NC" -ManagedByN

Créer une liste de contrôle d’accès des ports pour les objets non gérés par le contrôleur de réseau « DemPortACL » :

PS: C:\> New-SCPortACL -Name "DemoPortACL" -Description "Port ACL Example Non Managed by NC"

Définir les règles d’une liste de contrôle d’accès des ports

  1. Ouvrez PowerShell dans VMM.

  2. Créez une ou plusieurs règles à l’aide de l’applet de commande New-SCPortACLRule.

    New-SCPortACLrule -PortACL <PortACL> -Name <string> [-Description <string>] -Type <Inbound | Outbound> -Action <Allow | Deny> -Priority <uint16> -Protocol <Tcp | Udp | Any> [-LocalAddressPrefix <string: IPAddress | IPSubnet>] [-LocalPortRange <string:X|X-Y|Any>] [-RemoteAddressPrefix <string: IPAddress | IPSubnet>] [-RemotePortRange <string:X|X-Y|Any>]
    

Paramètres

Paramètre Détails
Name, Description Nom et description de la règle.
Tapez Spécifie la direction du trafic auquel la liste de contrôle d’accès est appliquée (Inbound ou Outbound).
Action Spécifie si la liste de contrôle d’accès autorise ou bloque le trafic (Allow ou Deny).
LocalAddressPrefix Spécifie le sous-réseau ou l’adresse IP source utilisé pour identifier le trafic à filtrer.
LocalPortRange Spécifie la plage de ports source utilisée pour identifier le trafic.
RemoteAddressPrefix Spécifie le sous-réseau ou l’adresse IP de destination utilisé pour identifier le trafic à filtrer.
RemotePortRange Spécifie la plage de ports de destination utilisée pour identifier le trafic.
Protocole Spécifie le protocole auquel la règle est appliquée.
Priorité Spécifiez la priorité de la règle dans la liste de contrôle d’accès du port. Les règles sont appliquées selon l’ordre défini. Définissez une priorité comprise entre 1 et 65535 (plus le chiffre est petit, plus la priorité est élevée). Les règles des listes de contrôle d’accès des ports pour les objets gérés par le contrôleur de réseau doivent avoir une priorité égale ou supérieure à 100. Le contrôleur de réseau ne prend pas en charge une priorité inférieure à 100.

Exemples

Créer une liste de contrôle d’accès des ports et stocker l’objet dans $portACL :

PS: C:\> $portACL = New-SCPortACL -Name "RDP ACL" -Description "Acl on RDP access"

Créer une règle de liste de contrôle d’accès des ports pour autoriser l’accès RDP à partir d’un sous-réseau distant :

PS: C:\> New-SCPortACLRule -Name "AllowRDPAccess" -PortACL $portACL -Description "Allow RDP Rule from a subnet" -Action Allow -Type Inbound -Priority 110 -Protocol Tcp -LocalPortRange 3389 -RemoteAddressPrefix 10.184.20.0/24

Modifier la priorité d’une règle de liste de contrôle d’accès :

PS: C:\> $portACLRule = Get-SCPortACLRule -Name "AllowRDPAccess" `` <br/><br/> `` PS: C:\> Set-SCPortACLRule -PortACLRule $portACLRule -Priority 220

La première commande obtient la règle de liste de contrôle d’accès des ports « AllowRDPAccess ». La deuxième commande modifie la priorité de la règle sur 220.

Modifier la plage d’adresses de destination et le protocole d’une règle de liste de contrôle d’accès des ports :

PS: C:\> $portACLRule = Get-SCPortACLRule -Name "AllowRDPAccess" `` <br/><br/> `` PS: C:\> Set-SCPortACLRule -PortACLRule $portACLRule -RemoteAddressPrefix 172.185.21.0/24 -Protocol Udp

La première commande récupère la règle « AllowRDPAccess ». La seconde remplace le protocole actuel par UDP et définit le sous-réseau 172.185.21.0/24 comme destination.

Attacher et détacher des listes de contrôle d’accès des ports

Une liste de contrôle d’accès des ports peut être attachée à des paramètres globaux, à des réseaux ou sous-réseaux de machine virtuelle, ainsi qu’à des cartes réseau virtuelles. Une liste de contrôle d’accès des ports attachée à des paramètres globaux s’applique par défaut à toutes les cartes réseau virtuelles de machine virtuelle.

  1. Ouvrez PowerShell dans VMM.

  2. Attachez une liste de contrôle d’accès des ports à l’aide de l’applet de commande Set-SCVMMServer.

    Set-SCVMMServer –VMMServer <VMMServer> [-PortACL <NetworkAccessControlList> | -RemovePortACL ]
    

Paramètres

Paramètre Détails
Serveur VMM Nom du serveur VMM auquel la liste de contrôle d’accès des ports est appliquée.
PortACL Attache éventuellement la liste de contrôle d’accès des ports spécifiée aux paramètres globaux.

Exemples

Attacher une liste de contrôle d’accès aux paramètres globaux :

Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -PortACL $acl`` <br/><br/> ExampleL: `` Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -PortACL $acl

Détacher une liste de contrôle d’accès des paramètres globaux :

Set-SCVMMServer -VMMServer "VMM.Contoso.Local" -RemovePortACL

Attacher une liste de contrôle d’accès à un réseau de machines virtuelles durant la création :

New-SCVMNetwork [–PortACL <NetworkAccessControlList>] [rest of the parameters]

Attacher une liste de contrôle d’accès à un réseau de machines virtuelles existant :

Set-SCVMNetwork -PortACL $acl`

Attacher une liste de contrôle d’accès à un réseau de machines virtuelles durant la création :

New-SCVMSubnet [–PortACL <NetworkAccessControlList>] [rest of the parameters]

Attacher une liste de contrôle d’accès à un sous-réseau de machines virtuelles existant :

Set-SCVMSubnet [–PortACL <NetworkAccessControlList> | -RemovePortACL] [rest of the parameters]

Récupérer et afficher des listes de contrôle d’accès des ports et leurs règles

  1. Ouvrez PowerShell dans VMM.

  2. Exécutez l’applet de commande Get-SCPortACL pour récupérer et afficher une liste de contrôle d’accès des ports :

    Get-SCPortACL [[-Name] <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
    
  3. Exécutez Get-SCPortACLRule pour récupérer et afficher une règle :

    Get-SCPortACLRule [-Name <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-PortACL <PortACL> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
    

Paramètres

Paramètre Détails
Aucun paramètre Récupère toutes les listes de contrôle d’accès.
Name/ID Récupère les listes de contrôle d’accès par nom ou GUID.
OnBehalfOfUser/OnBehalfOfUserRole Exécute le travail avec un nom ou un rôle d’utilisateur.
VMMServer Récupère les listes de contrôle d’accès sur un serveur VMM spécifique.
CommonParameters En savoir plus

Exemples

Récupérer une liste de contrôle d’accès spécifique :

    PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"

Obtenir les règles d’une liste de contrôle d’accès spécifique :

    PS: C:> Get-SCPortACLRule -Name "AllowRDPAccess"

Obtenir toutes les règles d’une liste de contrôle d’accès :

    PS: C:> Get-SCPortACLRule -PortACL $portACL

Modifier des listes de contrôle d’accès des ports et leurs règles

  1. Ouvrez PowerShell dans VMM.

  2. Exécutez l’applet de commande Set-SCPortACL pour modifier une liste de contrôle d’accès des ports :

    Set-SCPortACL [-PortACL] <PortACL> [[-Description] <String>] [-JobVariable <String>] [-Name <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [<CommonParameters>]
    
  3. Exécutez Remove-SCPortACL pour supprimer une liste de contrôle d’accès :

    Remove-SCPortACL [-PortACL] <PortACL> [-Confirm] [-JobVariable <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [-WhatIf] [<CommonParameters>]
    

    Paramètres

Paramètre Détails
Name/Description Nom et description d’une liste de contrôle d’accès des ports.
JobVariable Stocke la progression du travail.
OnBehalfOfUser/OnBehalfOfUserRole Exécute le travail avec un nom ou un rôle d’utilisateur.
PROTipID ID du ProTip ayant déclenché l’action.
RunAsynchronously Indique si le travail s’exécute en mode asynchrone.
Confirmer Affiche une invite avant d’exécuter le travail.
WhatIf Montre ce qui se passe sans exécuter la commande.

Exemples

Définir une description de la liste de contrôle d’accès :

PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"
PS: C:> Set-SCPortACL -PortACL $portACL -Description "Port ACL Example Non Managed by Network Controller"

La première applet de commande récupère la liste de contrôle d’accès, et la seconde définit la description sur cette liste.

Supprimer une liste de contrôle d’accès :

PS: C:> $portACL = Get-SCPortACL -Name "DemoPortACL"
PS: C:> Remove-SCPortACL -PortACL $portACL

La première applet de commande récupère la liste de contrôle d’accès, et la seconde la supprime.