Gestire elenchi di controllo di accesso di endpoint con PowerShell nel modello di distribuzione classicaManage endpoint access control lists using PowerShell in the classic deployment model

È possibile creare e gestire gli elenchi di controllo di accesso di rete per gli endpoint tramite Azure PowerShell o nel portale di gestione.You can create and manage Network Access Control Lists (ACLs) for endpoints by using Azure PowerShell or in the Management Portal. Questo argomento illustra le procedure per le attività comuni che è possibile eseguire per tali elenchi usando PowerShell.In this topic, you'll find procedures for ACL common tasks that you can complete using PowerShell. Per l'elenco dei cmdlet di Azure PowerShell, vedere l'articolo relativo ai cmdlet di gestione di Azure.For the list of Azure PowerShell cmdlets see Azure Management Cmdlets. Per altre informazioni sugli elenchi di controllo di accesso, vedere l'articolo relativo alla definizione di un elenco di controllo di accesso di rete.For more information about ACLs, see What is a Network Access Control List (ACL)?. Se si intende gestire gli elenchi di controllo di accesso tramite il portale di gestione, vedere Come configurare gli endpoint in una macchina virtuale.If you want to manage your ACLs by using the Management Portal, see How to Set Up Endpoints to a Virtual Machine.

Gestire gli elenchi di controllo di accesso di rete tramite Azure PowerShellManage Network ACLs by using Azure PowerShell

È possibile usare i cmdlet di Azure PowerShell per creare, rimuovere e configurare (impostare) gli elenchi di controllo di accesso di rete.You can use Azure PowerShell cmdlets to create, remove, and configure (set) Network Access Control Lists (ACLs). Di seguito sono riportati alcuni esempi di come configurare un elenco di controllo di accesso tramite PowerShell.We've included a few examples of some of the ways you can configure an ACL using PowerShell.

Per recuperare un elenco completo dei cmdlet PowerShell per gli elenchi di controllo di accesso, è possibile usare uno dei comandi seguenti:To retrieve a complete list of the ACL PowerShell cmdlets, you can use either of the following:

Get-Help *AzureACL*
Get-Command -Noun AzureACLConfig

Creare un elenco di controllo di accesso di rete con regole che consentano l'accesso da una subnet remotaCreate a Network ACL with rules that permit access from a remote subnet

L'esempio seguente illustra come creare un nuovo elenco di controllo di accesso contenente regole.The example below illustrates a way to create a new ACL that contains rules. Tale elenco viene quindi applicato all'endpoint di una macchina virtuale.This ACL is then applied to a virtual machine endpoint. Le regole dell'elenco di controllo di accesso nell'esempio seguente consentiranno l'accesso da una subnet remota.The ACL rules in the example below will allow access from a remote subnet. Per creare un nuovo elenco di controllo di accesso di rete con regole di autorizzazione per una subnet remota, aprire un'istanza di Azure PowerShell ISE.To create a new Network ACL with permit rules for a remote subnet, open an Azure PowerShell ISE. Copiare e incollare lo script seguente, configurandolo con valori personalizzati, e quindi eseguirlo.Copy and paste the script below, configuring the script with your own values, and then run the script.

  1. Creare il nuovo oggetto elenco di controllo di accesso (ACL) di rete.Create the new network ACL object.

     $acl1 = New-AzureAclConfig
    
  2. Impostare una regola che consenta l'accesso da una subnet remota.Set a rule that permits access from a remote subnet. Nell'esempio seguente si imposta la regola 100 (che ha la priorità sulla regola 200 e superiori) per consentire alla subnet remota 10.0.0.0/8 di accedere all'endpoint della macchina virtuale.In the example below, you set rule 100 (which has priority over rule 200 and higher) to allow the remote subnet 10.0.0.0/8 access to the virtual machine endpoint. Sostituire i valori con quelli necessari per la propria configurazione.Replace the values with your own configuration requirements. Il nome "SharePoint ACL config" deve essere sostituito dal nome descrittivo che si intende assegnare alla regola.The name "SharePoint ACL config" should be replaced with the friendly name that you want to call this rule.

     Set-AzureAclConfig –AddRule –ACL $acl1 –Order 100 `
         –Action permit –RemoteSubnet "10.0.0.0/8" `
         –Description "SharePoint ACL config"
    
  3. Per aggiungere altre regole, ripetere il cmdlet sostituendo i valori con quelli necessari per la propria configurazione.For additional rules, repeat the cmdlet, replacing the values with your own configuration requirements. Ricordarsi di modificare il numero di regola per Order in base all'ordine in cui devono essere applicate le regole.Be sure to change the rule number Order to reflect the order in which you want the rules to be applied. La regola con il numero più basso ha la precedenza sulla regola con il numero più alto.The lower rule number takes precedence over the higher number.

     Set-AzureAclConfig –AddRule –ACL $acl1 –Order 200 `
         –Action permit –RemoteSubnet "157.0.0.0/8" `
         –Description "web frontend ACL config"
    
  4. È quindi possibile creare un nuovo endpoint (Add) o impostare l'elenco di controllo di accesso per un endpoint esistente (Set).Next, you can either create a new endpoint (Add) or set the ACL for an existing endpoint (Set). In questo esempio si aggiungerà un nuovo endpoint di macchina virtuale denominato "web" e si aggiornerà l'endpoint con le impostazioni dell'elenco di controllo di accesso.In this example, we will add a new virtual machine endpoint called "web" and update the virtual machine endpoint with the ACL settings.

     Get-AzureVM –ServiceName $serviceName –Name $vmName `
     | Add-AzureEndpoint –Name "web" –Protocol tcp –Localport 80 - PublicPort 80 –ACL $acl1 `
     | Update-AzureVM
    
  5. Si combineranno quindi i cmdlet e si eseguirà lo script.Next, combine the cmdlets and run the script. Per questo esempio i cmdlet combinati saranno simili ai seguenti:For this example, the combined cmdlets would look like this:

     $acl1 = New-AzureAclConfig
     Set-AzureAclConfig –AddRule –ACL $acl1 –Order 100 `
         –Action permit –RemoteSubnet "10.0.0.0/8" `
         –Description "Sharepoint ACL config"
     Set-AzureAclConfig –AddRule –ACL $acl1 –Order 200 `
         –Action permit –RemoteSubnet "157.0.0.0/8" `
         –Description "web frontend ACL config"
     Get-AzureVM –ServiceName $serviceName –Name $vmName `
     |Add-AzureEndpoint –Name "web" –Protocol tcp –Localport 80 - PublicPort 80 –ACL $acl1 `
     |Update-AzureVM
    

Rimuovere una regola dell'elenco di controllo di accesso che consente l'accesso da una subnet remotaRemove a Network ACL rule that permits access from a remote subnet

L'esempio seguente illustra come rimuovere una regola dell'elenco di controllo di accesso di rete.The example below illustrates a way to remove a network ACL rule. Per rimuovere una regola dell'elenco di controllo di accesso di rete con regole di autorizzazione per una subnet remota, aprire un'istanza di Azure PowerShell ISE.To remove a Network ACL rule with permit rules for a remote subnet, open an Azure PowerShell ISE. Copiare e incollare lo script seguente, configurandolo con valori personalizzati, e quindi eseguirlo.Copy and paste the script below, configuring the script with your own values, and then run the script.

  1. È innanzitutto necessario ottenere l'oggetto elenco di controllo di accesso (ACL) di rete per l'endpoint della macchina virtuale.First step is to get the Network ACL object for the virtual machine endpoint. Quindi si rimuoverà la regola dell'elenco di controllo di accesso.You'll then remove the ACL rule. In questo caso, la si rimuoverà in base all'ID regola.In this case, we are removing it by rule ID. In questo modo, dall'elenco di controllo di accesso verrà rimosso solo l'ID regola 0.This will only remove the rule ID 0 from the ACL. L'oggetto ACL non verrà eliminato dall'endpoint della macchina virtuale.It does not remove the ACL object from the virtual machine endpoint.

     Get-AzureVM –ServiceName $serviceName –Name $vmName `
     | Get-AzureAclConfig –EndpointName "web" `
     | Set-AzureAclConfig –RemoveRule –ID 0 –ACL $acl1
    
  2. È quindi necessario applicare l'oggetto ACL di rete all'endpoint della macchina virtuale e aggiornare quest'ultima.Next, you must apply the Network ACL object to the virtual machine endpoint and update the virtual machine.

     Get-AzureVM –ServiceName $serviceName –Name $vmName `
     | Set-AzureEndpoint –ACL $acl1 –Name "web" `
     | Update-AzureVM
    

Rimuovere un elenco di controllo di accesso di rete dall'endpoint di una macchina virtualeRemove a Network ACL from a virtual machine endpoint

In alcuni scenari potrebbe essere necessario rimuovere un oggetto ACL di rete dall'endpoint di una macchina virtuale.In certain scenarios, you might want to remove a Network ACL object from a virtual machine endpoint. A tale scopo, aprire un'istanza di Azure PowerShell ISE.To do that, open an Azure PowerShell ISE. Copiare e incollare lo script seguente, configurandolo con valori personalizzati, e quindi eseguirlo.Copy and paste the script below, configuring the script with your own values, and then run the script.

    Get-AzureVM –ServiceName $serviceName –Name $vmName `
    | Remove-AzureAclConfig –EndpointName "web" `
    | Update-AzureVM

Passaggi successiviNext steps

Che cos'è un elenco di controllo di accesso di rete?What is a Network Access Control List (ACL)?