销售电话: 1-800-867-1380

使用 PowerShell 管理终结点的访问控制列表 (ACL)

更新时间: 2015年4月

你可以使用 Azure PowerShell 或在管理门户中为终结点创建和管理网络访问控制列表 (ACL)。在本主题中,你将了解可使用 PowerShell 完成 ACL 常见任务的过程。有关 Azure PowerShell cmdlet 的列表,请参见 Azure 管理 Cmdlet。有关 ACL 的更多信息,请参见关于网络访问控制列表 (ACL)。如果要使用管理门户管理 ACL,请参见如何设置虚拟机的终结点

你可以使用 Azure PowerShell cmdlet 创建、删除和配置(设置)网络访问控制列表 (ACL)。我们已包含可用来通过 PowerShell 配置 ACL 的方法的一些示例。

若要检索 ACL PowerShell cmdlet 的完整列表,可使用以下方法之一:

  • get-help *-AzureACL*

  • get-command -module azure -name *ACL*

下面的示例演示了创建包含规则的新 ACL 的方法。此 ACL 随后会应用于虚拟机终结点。下面的示例中的 ACL 规则将允许来自远程子网的访问。若要为远程子网创建一个包含允许规则的新网络 ACL,请打开 Azure PowerShell ISE。复制并粘贴下面的脚本,使用你自己的值配置该脚本,然后运行该脚本。

  1. 创建新的网络 ACL 对象。

    C:\PS>$acl1 = New-AzureAclConfig
    
  2. 设置允许来自远程子网的访问的规则。在下面的示例中,你将设置规则 100(规则 200 和更高的优先级)以允许远程子网 10.0.0.0/8 访问虚拟机终结点。将值替换为你自己的配置要求。名称“SharePoint ACL config”应替换为要用来调用此规则的友好名称。

    C:\PS> Set-AzureAclConfig –AddRule –ACL $acl1 –Order 100 –Action permit –RemoteSubnet “10.0.0.0/8” –Description “SharePoint ACL config”
    
  3. 对于其他规则,请重复该 cmdlet,并将值替换为你自己的配置要求。请务必更改规则号顺序以反映应用规则的顺序。规则号越小,优先级越高。

    C:\PS> Set-AzureAclConfig –AddRule –ACL $acl1 –Order 200 –Action permit –RemoteSubnet “157.0.0.0/8” –Description “web frontend ACL config”
    
  4. 接下来,你可以创建新终结点(添加)或为现有终结点设置 ACL(设置)。在本例中,我们将添加名为“web”的新的虚拟机终结点并更新具有 ACL 设置的虚拟机终结点。

    Get-AzureVM –ServiceName $serviceName –Name $vmName |
    Add-AzureEndpoint –Name “web” –Protocol tcp –Localport 80 - PublicPort 80 –ACL $acl1 |
    Update-AzureVM 
    
    
  5. 接下来,组合 cmdlet 并运行脚本。对于本示例,组合的 cmdlet 如下所示:

    $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 
    
    

下面的示例演示删除网络 ACL 规则的方法。若要为远程子网删除包含允许规则的网络 ACL 规则,请打开 Azure PowerShell ISE。复制并粘贴下面的脚本,使用你自己的值配置该脚本,然后运行该脚本。

  1. 第一步是获取虚拟机终结点的网络 ACL 对象。然后,你将删除 ACL 规则。在这种情况下,我们将按规则 ID 删除它。这只会从 ACL 中删除规则 ID 0。而不会从虚拟机终结点中删除 ACL 对象。

    C:\PS> Get-AzureVM –ServiceName $serviceName –Name $vmName |
    Get-AzureAclConfig –EndpointName “web” | 
    Set-AzureAclConfig –RemoveRule –ID 0 –ACL $acl1 
    
    
  2. 接下来,你必须将网络 ACL 对象应用于虚拟机终结点并更新虚拟机。

    C:\PS> Get-AzureVM –ServiceName $serviceName –Name $vmName |
    Set-AzureEndpoint –ACL $acl1 –Name “web” | 
    Update-AzureVM
    
    

在某些情况下,你可能希望从虚拟机终结点中删除网络 ACL 对象。为此,请打开 Azure PowerShell ISE。复制并粘贴下面的脚本,使用你自己的值配置该脚本,然后运行该脚本。

C:\PS>Get-AzureVM –ServiceName $serviceName –Name $vmName |
Remove-AzureAclConfig –EndpointName “web” | 
Update-AzureVM

另请参阅

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2015 Microsoft