Table of contents
TOC
Comprimi il sommario
Espandi il sommario

Gestire gli ACL della porta in VMM

Rayne Wiselman|Ultimo aggiornamento: 20/04/2017
|
1 Collaboratore

Si applica a: System Center 2016 - Virtual Machine Manager

In System Center 2016 - Virtual Machine Manager (VMM) è possibile configurare e gestire centralmente gli elenchi di controllo di accesso (ACL, Access Control List) di una porta Hyper-V. È possibile configurare gli ACL della porta sia per un'infrastruttura gestita da Controller di rete che per le reti non gestite da Controller di rete.

  • Un ACL della porta è un set di regole che filtrano il traffico al livello 2 del livello della porta. Un ACL della porta in VMM consente di filtrare l'accesso a un determinato oggetto VMM. Non è possibile associare più di un ACL della porta a un oggetto di rete.
  • Un ACL contiene regole e può essere collegato a qualsiasi numero di oggetti di rete. È possibile creare un ACL senza regole e quindi aggiungere le regole in un secondo momento. Ogni regola dell'ACL corrisponde a un singolo ACL della porta.
  • Se un ACL include più regole, vengono applicate in base alla priorità. Dopo l'applicazione di una regola corrispondente ai criteri non vengono elaborate altre regole.
  • Un ACL della porta delle impostazioni globali viene applicato a tutte le schede di rete virtuali delle macchine virtuali nell'infrastruttura. Non è disponibile un tipo di oggetto separato per le impostazioni globali. L'ACL della porta delle impostazioni globali viene invece collegato al server di gestione VMM.
  • Le impostazioni degli ACL della porta vengono esposte solo attraverso i cmdlet di PowerShell in VMM e non possono essere configurate nella console di VMM.
  • Gli ACL della porta possono essere applicati a:
    • Subnet virtuali e schede in una distribuzione di Controller di rete.
    • Subnet virtuali, schede di rete, reti VM e server di gestione di VMM nelle reti che non sono gestite da Controller di rete.

Prima di iniziare

  • Per applicare un ACL agli oggetti gestiti da Controller di rete è necessario usare il flag ManagedByNC e impostarlo su true. Se non è impostato su True, l'ACL si applica solo agli oggetti di rete che non sono gestiti da Controller di rete.
  • I tipi di ACL non sono intercambiabili. Non è possibile applicare un ACL con il flag ManagedByNC impostato su false a oggetti gestiti da Controller di rete e viceversa.
  • La differenza principale tra questi due tipi di ACL è la necessità di correggere ogni scheda di rete dopo l'applicazione dell'ACL a oggetti non gestiti da Controller di rete.
  • Esiste anche una differenza per gli intervalli di priorità:
    • ACL di porta Hyper-V (non gestiti da Controller di rete): tra 1 e 65535
    • ACL di porta SDN (gestiti da Controller di rete): tra 1 e 64500
  • Sono necessarie autorizzazioni di amministrazione VMM complete per collegare un ACL della porta alle impostazioni globali. Per collegare l'ACL agli oggetti VMM (reti VM, subnet, schede di rete virtuali), è necessario essere un amministratore VMM o del tenant o un utente self-service.

Scenari non supportati

Operazioni che non è attualmente possibile eseguire:

  • Gestire singole regole per una singola istanza quando l'ACL è condiviso con più istanze. Tutte le regole sono gestite a livello centrale all'interno degli ACL padre e vengono applicate ogni qualvolta l'ACL viene collegato.
  • Collegare più di un ACL a un'entità.
  • Applicare gli ACL della porta a schede di rete virtuali nella partizione padre Hyper-V (sistema operativo di gestione).
  • Creare regole ACL della porta in VMM che includono protocolli a livello IP (diversi da TCP o UDP). Gli altri protocolli sono ancora supportati in modo nativo da Hyper-V.
  • Applicare gli ACL della porta a reti logiche, siti di rete (definizioni di reti logiche), VLAN subnet e altri oggetti di rete VMM non indicati specificatamente come supportati.

Passaggi per la distribuzione

Usare l'interfaccia PowerShell di VMM per eseguire le operazioni seguenti:

  1. Definire gli ACL della porta e le regole.
    • Le regole vengono applicate alle porte di commutatori virtuali su server Hyper-V come "ACL estesi della porta" (VMNetworkAdapterExtendedAcl). Questo significa che possono essere applicati solo agli host che eseguono Windows Server 2012 R2 o versione successiva, in quanto VMM non consente di creare ACL della porta Hyper-V legacy (VMNetworkAdapterAcl) per le versioni precedenti.
    • Tutte le regole ACL di porta definite in VMM sono regole con stato per il protocollo TCP. Non è possibile creare regole ACL TCP senza stato.
  2. Collegare un ACL della porta alle impostazioni globali. L'ACL viene così applicato a tutte le schede di rete virtuali delle macchine virtuali.
  3. Collegare gli ACL di porta a reti VM, subnet VM o schede di rete virtuali VM.
  4. Gestire le regole dell'ACL della porta.

Creare ACL della porta

  1. Aprire PowerShell in VMM.
  2. Creare un ACL della porta con il cmdlet 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>]
    

Parametri

ParametroInformazioni dettagliate
Name; DescriptionNome e descrizione dell'ACL della porta
JobVariableArchivia lo stato di avanzamento del processo
ManagedByNCSpecifica se gli oggetti vengono gestiti da Controller di rete
OnBehalfOfUser/OnBehalfOfRoleEsegue il processo con nome utente o ruolo
OwnerSpecifica il proprietario di un oggetto VMM sotto forma di account utente di dominio valido. Esempio: Contoso\PattiFuller o PattiFuller@Contoso
ProTipIDID di ProTip che ha attivato l'azione
RunAsychronouslyIndica se il processo viene eseguito in modo asincrono
UserRoleSpecifica il ruolo utente
VMMServerSpecifica il server VMM
CommonParametersAltre informazioni

Esempi

Creare un ACL della porta per gli oggetti gestiti da Controller di rete "DemoACLManagedByNC":

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

Creare un ACL della porta per gli oggetti non gestiti da Controller di rete "DemPortACL":

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

Definire le regole per un ACL della porta

  1. Aprire PowerShell in VMM.
  2. Creare una o più regole con il cmdlet 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>]
    

Parametri

ParametroInformazioni dettagliate
Name, DescriptionNome e descrizione della regola
TypeSpecifica la direzione del traffico per il quale viene applicato l'ACL (in ingresso o in uscita)
ActionSpecifica se l'elenco ACL consente o blocca il traffico (Allow o Deny)
LocalAddressPrefixSpecifica l'indirizzo IP di origine o la subnet usati per identificare il traffico che deve essere filtrato.
LocalPortRangeSpecifica l'intervallo di porte di origine usato per identificare il traffico.
RemoteAddressPrefixSpecifica l'indirizzo IP di destinazione o la subnet usati per identificare il traffico che deve essere filtrato.
RemotePortRangeSpecifica l'intervallo di porte di destinazione usato per identificare il traffico.
ProtocolloSpecifica il protocollo per il quale viene applicata la regola.
PrioritàSpecifica la priorità della regola nell'ACL della porta. Le regole vengono applicate in base all'ordine. Impostare una priorità compresa tra 1 e 65535, dove il numero più basso corrisponde alla priorità più alta. Le regole degli ACL della porta per gli oggetti gestiti da Controller di rete devono essere impostate su un valore uguale o maggiore di 100. Controller di rete attualmente non supporta una priorità inferiore a 100.

Esempi

Creare un ACL della porta e archiviare l'oggetto in $portACL:

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

Creare una regola ACL della porta per consentire l'accesso RDP da una subnet remota:

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

Modificare la priorità di una regola ACL:

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

Il primo comando ottiene la regola ACL della porta "AllowRDPAccess". Il secondo comando modifica la priorità della regola in 220.

Modificare la regola ACL della porta per l'intervallo di indirizzi di destinazione e il protocollo per una regola:

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

Il primo comando recupera la regola "AllowRDPAccess". Il secondo comando imposta il protocollo UDP e imposta la destinazione sulla subnet 172.185.21.0/24.

Collegare e scollegare gli ACL della porta

Un ACL della porta può essere collegato a impostazioni globali, reti VM, subnet VM e schede di rete virtuali. Un ACL della porta collegato a impostazioni globali viene applicato per impostazione predefinita a tutte le schede di rete virtuali delle macchine virtuali.

  1. Aprire PowerShell in VMM.
  2. Collegare un ACL della porta tramite il cmdlet Set-SCVMMServer.

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

Parametri

ParametroInformazioni dettagliate
Server di VMMNome del server VMM in cui viene applicato l'ACL della porta.
PortACLCollega facoltativamente l'ACL della porta specificato alle impostazioni globali.

Esempi

Collegare un ACL alle impostazioni globali:

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

Scollegare un ACL dalle impostazioni globali:

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

Collegare un ACL a una rete VM durante la creazione:

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

Collegare un ACL a una rete VM esistente:

Set-SCVMNetwork -PortACL $acl`

Collegare un ACL a una subnet VM durante la creazione:

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

Collegare un ACL a una subnet VM esistente:

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

Recuperare e visualizzare ACL della porta e regole

  1. Aprire PowerShell in VMM.
  2. Eseguire il cmdlet Get-SCPortACL per recuperare e visualizzare un ACL della porta:

     Get-SCPortACL [[-Name] <String> ] [-ID <Guid> ] [-OnBehalfOfUser <String> ] [-OnBehalfOfUserRole <UserRole> ] [-VMMServer <ServerConnection> ] [ <CommonParameters>]
    
  3. Eseguire il cmdlet Get-SCPortACLRule per recuperare e visualizzare una regola:

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

Parametri

ParametroInformazioni dettagliate
Nessun parametroRecupera tutti gli ACL
Name/IDEsegue il recupero in base a nome o GUID
OnBehalfOfUser/OnBehalfOfUserRoleEsegue il processo con nome utente o ruolo
VMMServerRecupera gli ACL nel server VMM specifico
CommonParametersAltre informazioni

Esempi

Recuperare un ACL specifico:

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

Recuperare le regole per un ACL specifico:

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

Recuperare tutte le regole per l'ACL:

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

Modificare gli ACL della porta e le regole

  1. Aprire PowerShell in VMM.
  2. Eseguire il cmdlet Set-SCPortACL per modificare un ACL della porta:

     Set-SCPortACL [-PortACL] <PortACL> [[-Description] <String>] [-JobVariable <String>] [-Name <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-RunAsynchronously] [-VMMServer <ServerConnection>] [<CommonParameters>]
    
  3. Eseguire il cmdlet Remove-SCPortACL per rimuovere un ACL:

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

    Parametri

ParametroInformazioni dettagliate
Name/DescriptionNome e descrizione dell'ACL della porta
JobVariableArchivia lo stato di avanzamento del processo
OnBehalfOfUser/OnBehalfOfUserRoleEsegue il processo con nome utente o ruolo
ProTipIDID di ProTip che ha attivato l'azione
RunAsynchronouslyIndica se il processo viene eseguito in modo asincrono
ConfirmRichiede conferma prima di eseguire il processo
WhatIfMostra cosa succede senza eseguire il comando

Esempi

Impostare la descrizione di un ACL:

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

Il primo cmdlet recupera l'ACL, il secondo imposta la descrizione nell'ACL.

Rimuovere un ACL:

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

Il primo cmdlet recupera l'ACL, il secondo lo rimuove.

© 2017 Microsoft