你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Add-AzNetworkSecurityRuleConfig

将网络安全规则配置添加到网络安全组。

语法

Add-AzNetworkSecurityRuleConfig
   -Name <String>
   -NetworkSecurityGroup <PSNetworkSecurityGroup>
   [-Description <String>]
   [-Protocol <String>]
   [-SourcePortRange <String[]>]
   [-DestinationPortRange <String[]>]
   [-SourceAddressPrefix <String[]>]
   [-DestinationAddressPrefix <String[]>]
   [-SourceApplicationSecurityGroup <PSApplicationSecurityGroup[]>]
   [-DestinationApplicationSecurityGroup <PSApplicationSecurityGroup[]>]
   [-Access <String>]
   [-Priority <Int32>]
   [-Direction <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Add-AzNetworkSecurityRuleConfig
   -Name <String>
   -NetworkSecurityGroup <PSNetworkSecurityGroup>
   [-Description <String>]
   [-Protocol <String>]
   [-SourcePortRange <String[]>]
   [-DestinationPortRange <String[]>]
   [-SourceAddressPrefix <String[]>]
   [-DestinationAddressPrefix <String[]>]
   [-SourceApplicationSecurityGroupId <String[]>]
   [-DestinationApplicationSecurityGroupId <String[]>]
   [-Access <String>]
   [-Priority <Int32>]
   [-Direction <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

Add-AzNetworkSecurityRuleConfig cmdlet 将网络安全规则配置添加到 Azure 网络安全组。

示例

示例 1:添加网络安全组

Get-AzNetworkSecurityGroup -Name nsg1 -ResourceGroupName rg1 | 
Add-AzNetworkSecurityRuleConfig -Name rdp-rule -Description "Allow RDP" -Access `
    Allow -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet `
    -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 |
    Set-AzNetworkSecurityGroup

第一个命令从资源组“rg1”检索名为“nsg1”的 Azure 网络安全组。 第二个命令添加一个名为“rdp-rule”的网络安全规则,该规则允许从端口 3389 上的 Internet 流量发到检索到的网络安全组对象。 保留修改后的 Azure 网络安全组。

示例 2:使用应用程序安全组添加新的安全规则

$srcAsg = New-AzApplicationSecurityGroup -ResourceGroupName MyResourceGroup -Name srcAsg -Location "West US"
$destAsg = New-AzApplicationSecurityGroup -ResourceGroupName MyResourceGroup -Name destAsg -Location "West US"

Get-AzNetworkSecurityGroup -Name nsg1 -ResourceGroupName rg1 |
Add-AzNetworkSecurityRuleConfig -Name rdp-rule -Description "Allow RDP" -Access `
    Allow -Protocol Tcp -Direction Inbound -Priority 100 -SourceApplicationSecurityGroup `
    $srcAsg -SourcePortRange * -DestinationApplicationSecurityGroup $destAsg -DestinationPortRange 3389 |
Set-AzNetworkSecurityGroup

首先,我们将创建两个新的应用程序安全组。 然后,我们从资源组“rg1”中检索名为“nsg1”的 Azure 网络安全组。 并将名为“rdp-rule”的网络安全规则添加到其中。 该规则允许从应用程序安全组“srcAsg”中的所有 IP 配置到端口 3389 上“destAsg”中的所有 IP 配置。 添加规则后,我们将保留修改后的 Azure 网络安全组。

参数

-Access

指定是允许还是拒绝网络流量。 此参数的可接受值为:允许和拒绝。

类型:String
接受的值:Allow, Deny
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Description

指定网络安全规则配置的说明。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DestinationAddressPrefix

指定目标地址前缀。 此参数的可接受值为:

  • 无类别域际路由选择 (CIDR) 地址
  • 目标 IP 地址范围
  • 通配符 \ 匹配任何 IP 地址。 可以使用 VirtualNetwork、AzureLoadBalancer 和 Internet 等标记。
类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DestinationApplicationSecurityGroup

应用程序安全组设置为规则的目标。 它不能与“DestinationAddressPrefix”参数一起使用。

类型:PSApplicationSecurityGroup[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DestinationApplicationSecurityGroupId

应用程序安全组设置为规则的目标。 它不能与“DestinationAddressPrefix”参数一起使用。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DestinationPortRange

指定目标端口或范围。 此参数的可接受值为:

  • 整数
  • 介于 0 和 65535 之间的整数范围
  • 通配符 \ 匹配任何端口
类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Direction

指定是针对传入流量还是传出流量评估规则。 此参数的可接受值为:入站和出站。

类型:String
接受的值:Inbound, Outbound
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Name

指定网络安全规则配置的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-NetworkSecurityGroup

指定 NetworkSecurityGroup 对象。 此 cmdlet 将网络安全规则配置添加到此参数指定的对象。

类型:PSNetworkSecurityGroup
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Priority

指定规则配置的优先级。 此参数的可接受值为:介于 100 和 4096 之间的整数。 对于集合中的每个规则,优先级编号必须是唯一的。 优先级编号越低,规则优先级越高。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Protocol

指定规则配置应用于的网络协议。 此参数的可接受值为:

  • Tcp
  • UDP
  • Icmp
  • Esp
  • 通配符 \ 匹配所有
类型:String
接受的值:Tcp, Udp, Icmp, Esp, Ah, *
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SourceAddressPrefix

指定源地址前缀。 此参数的可接受值为:

  • A CIDR
  • 源 IP 范围
  • 通配符 \ 匹配任何 IP 地址。 还可以使用 VirtualNetwork、AzureLoadBalancer 和 Internet 等标记。
类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SourceApplicationSecurityGroup

应用程序安全组设置为规则的源。 它不能与“SourceAddressPrefix”参数一起使用。

类型:PSApplicationSecurityGroup[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SourceApplicationSecurityGroupId

应用程序安全组设置为规则的源。 它不能与“SourceAddressPrefix”参数一起使用。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SourcePortRange

指定源端口或范围。 此值表示为整数,范围介于 0 和 65535 之间,或者表示为通配符 = 以匹配任何源端口。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

PSNetworkSecurityGroup

输出

PSNetworkSecurityGroup