创建、更改或删除网络安全组

使用网络安全组 (NSG) 中的安全规则时,可以筛选流入和流出虚拟网络子网和网络接口的网络流量的类型。 若要详细了解 NSG,请参阅网络安全组概述。 接下来请完成筛选网络流量教程,以获得有关 NSG 的一些经验。

先决条件

如果你没有具有有效订阅的 Azure 帐户,请创建试用版帐户。 在开始学习本文的余下内容之前,请完成以下任务之一:

  • 门户用户:使用 Azure 帐户登录到 Azure 门户

  • PowerShell 用户:在计算机本地运行 PowerShell。

    如果在本地运行 PowerShell,请使用 Azure PowerShell 模块 1.0.0 或更高版本。 运行 Get-Module -ListAvailable Az.Network 查找已安装的版本。 如果需要进行安装或升级,请参阅安装 Azure PowerShell 模块。 运行 Connect-AzAccount -Environment AzureChinaCloud 以登录到 Azure。

  • Azure CLI 用户:在计算机本地运行 Azure CLI。

    如果在本地运行 Azure CLI,请使用 Azure CLI 2.0.28 或更高版本。 运行 az --version 查找已安装的版本。 如需进行安装或升级,请参阅安装 Azure CLI。 运行 az login 以登录到 Azure。

分配具有相应权限网络参与者角色自定义角色

使用网络安全组

可对 NSG 执行创建、全部查看查看详细信息更改删除操作。 也可从网络接口子网关联或取消关联 NSG。

创建网络安全组

可以为每个 Azure 区域和订阅创建的 NSG 的数目有限。 有关详细信息,请参阅 Azure 订阅和服务限制、配额和约束

  1. 在门户顶部的搜索框中,输入“网络安全组”。 在搜索结果中选择“网络安全组”。

  2. 选择“+ 新建”。

  3. 在“创建网络安全组”页上的“基本信息”选项卡下,输入或选择以下值:

    设置 操作
    项目详细信息
    订阅 选择 Azure 订阅。
    资源组 选择现有的资源组,或选择“新建”以创建新的资源组。 此示例使用 myResourceGroup 资源组。
    实例详细信息
    网络安全组名称 为要创建的 NSG 输入一个名称。
    区域 选择所需区域。

    屏幕截图显示如何在 Azure 门户中创建 NSG。

  4. 选择“查看 + 创建”。

  5. 看到“验证通过”消息后,选择“创建”。

查看所有网络安全组

在门户顶部的搜索框中,输入“网络安全组”。 在搜索结果中选择“网络安全组”,查看订阅中的 NSG 列表

屏幕截图显示 Azure 门户中的网络安全组列表。

查看网络安全组的详细信息

  1. 在门户顶部的搜索框中,输入“网络安全组”,然后在搜索结果中选择“网络安全组”。

  2. 选择 NSG 的名称。

    屏幕截图显示 Azure 门户中的网络安全组页面。

若要详细了解列出的常见 Azure 设置,请参阅以下文章:

更改网络安全组

对 NSG 最常见的更改包括:

将网络安全组与网络接口关联或取消关联

若要详细了解 NSG 的关联和取消关联,请参阅关联或取消关联网络安全组

将网络安全组与子网关联或取消关联

  1. 在门户顶部的搜索框中,输入“网络安全组”。 然后在搜索结果中选择“网络安全组”

  2. 选择 NSG 的名称,然后选择“子网”

    • 若要将 NSG 关联到子网,请选择“+ 关联”。 然后选择虚拟网络和要与 NSG 关联的子网。 选择“确定”

      屏幕截图显示如何在 Azure 门户中将网络安全组关联到子网。

    • 若要取消 NSG 与子网的关联,请选择要从中取消关联 NSG 的子网旁边的三个点,然后选择“取消关联”。 选择

      屏幕截图显示如何在 Azure 门户中从子网取消关联 NSG。

删除网络安全组

如果 NSG 与任何子网或网络接口相关联,则无法删除它。 请先从所有子网和网络接口取消关联 NSG,然后再尝试将其删除。

  1. 在门户顶部的搜索框中,输入“网络安全组”。 然后在搜索结果中选择“网络安全组”

  2. 选择要删除的 NSG。

  3. 选择“删除”,然后在确认对话框中选择“是”。

    屏幕截图显示如何在 Azure 门户中删除网络安全组。

使用安全规则

NSG 包含零个或零个以上的安全规则。 可对安全规则执行创建查看所有查看详细信息更改以及删除等操作。

创建安全规则

可以为每个 Azure 位置和订阅创建的单 NSG 规则数有限。 有关详细信息,请参阅 Azure 订阅和服务限制、配额和约束

  1. 在门户顶部的搜索框中,输入“网络安全组”。 然后在搜索结果中选择“网络安全组”

  2. 选择要添加安全规则的 NSG 的名称。

  3. 选择“入站安全规则”或“出站安全规则”。

    列出了多个现有规则,其中的一些规则可能不是你添加的。 创建 NSG 时,会在其中创建多个默认安全规则。 若要了解详细信息,请参阅默认安全规则。 无法删除默认安全规则,但可以使用更高优先级的规则将其覆盖。

  4. 选择“+添加”。 为以下设置选择或添加值,然后选择“添加”

    设置 详细信息
    Source 下列其中一项:
    • 任意
    • IP 地址
    • 我的 IP 地址
    • 服务标记
    • 应用程序安全组

    如果选择“IP 地址”,则还必须指定“源 IP 地址/CIDR 范围”

    如果选择“服务标记”,则还必须选择一个“源服务标记”

    如果选择“应用程序安全组”,则还必须选择现有的应用程序安全组。 如果为“源”和“目标”都选择“应用程序安全组”,则两个应用程序安全组中的网络接口必须在同一虚拟网络中。 了解如何创建应用程序安全组

    源 IP 地址/CIDR 范围 逗号分隔的 IP 地址和无类域间路由 (CIDR) 范围列表

    如果将“源”设置为“IP 地址”,则会显示此设置。 必须指定单个值或以逗号分隔的多个值的列表。 多个值的示例为 10.0.0.0/16, 192.188.1.1。 可以指定的值的数量有限。 有关详细信息,请参阅 Azure 限制

    如果将指定的 IP 地址分配给某个 Azure VM,请指定该 VM 的专用 IP 地址,而不是其公共 IP 地址。 Azure 会处理安全规则,具体时间是在其针对入站安全规则将公共 IP 地址转换为专用 IP 地址之后,但在其针对出站规则将专用 IP 地址转换为公共 IP 地址之前。 若要了解有关 Azure 中的 IP 地址的详细信息,请参阅公共 IP 地址专用 IP 地址

    源服务标记 下拉列表中的服务标记 如果将“源”设置为安全规则的“服务标记”,则会显示此设置。 服务标记是 IP 地址类别的预定义标识符。 若要了解有关可用服务标记以及每个标记表示的含义的详细信息,请参阅服务标记
    源应用程序安全组 现有的应用程序安全组 如果将“源”设置为“应用程序安全组”,则会显示此设置。 选择与网络接口位于同一区域中的应用程序安全组。 了解如何创建应用程序安全组
    源端口范围 下列其中一项:
    • 单个端口,例如 80
    • 端口范围,例如 1024-65535
    • 单个端口和/或端口范围的逗号分隔列表,例如 80, 1024-65535
    • 一个星号 (*),用于允许任何端口上的流量
    此设置指定规则允许或拒绝哪些端口上的流量。 可以指定的端口的数量有限。 有关详细信息,请参阅 Azure 限制
    目标 下列其中一项:
    • 任意
    • IP 地址
    • 服务标记
    • 应用程序安全组

    如果选择“IP 地址”,则还必须指定“目标 IP 地址/CIDR 范围”

    如果选择“服务标记”,则还必须选择一个“目标服务标记”

    如果选择“应用程序安全组”,则还必须选择现有的应用程序安全组。 如果为“源”和“目标”都选择“应用程序安全组”,则两个应用程序安全组中的网络接口必须在同一虚拟网络中。 了解如何创建应用程序安全组

    目标 IP 地址/CIDR 范围 以逗号分隔的 IP 地址和 CIDR 范围列表

    如果将“目标”更改为“IP 地址”,则会显示此设置。 可以指定单个或多个地址或范围,就像使用“源”和“源 IP 地址/CIDR 范围”一样。 可以指定的数量有限。 有关详细信息,请参阅 Azure 限制

    如果将指定的 IP 地址分配给某个 Azure VM,请确保指定该 VM 的专用 IP,而不是其公共 IP 地址。 Azure 会处理安全规则,具体时间是在其针对入站安全规则将公共 IP 地址转换为专用 IP 地址之后,但在其针对出站规则将专用 IP 地址转换为公共 IP 地址之前。 若要了解有关 Azure 中的 IP 地址的详细信息,请参阅公共 IP 地址专用 IP 地址

    目标服务标记 下拉列表中的服务标记 如果将“目标”设置为安全规则的“服务标记”,则会显示此设置。 服务标记是 IP 地址类别的预定义标识符。 若要了解有关可用服务标记以及每个标记表示的含义的详细信息,请参阅服务标记
    目标应用程序安全组 现有的应用程序安全组 如果将“目标”设置为“应用程序安全组”,则会显示此设置。 选择与网络接口位于同一区域中的应用程序安全组。 了解如何创建应用程序安全组
    服务 下拉列表中的目标协议 此设置指定安全规则的目标协议和端口范围。 可以选择预定义服务(如 RDP),也可以选择“自定义”并在“目标端口范围”中提供端口范围
    目标端口范围 下列其中一项:
    • 单个端口,例如 80
    • 端口范围,例如 1024-65535
    • 单个端口和/或端口范围的逗号分隔列表,例如 80, 1024-65535
    • 一个星号 (*),用于允许任何端口上的流量
    与“源端口范围”一样,可以指定一个或多个端口和范围。 可以指定的数量有限。 有关详细信息,请参阅 Azure 限制
    协议 “任意”、“TCP”、“UDP”或“ICMP” 可以将规则限制为“传输控制协议(TCP)”、“用户数据报协议(UDP)”或“Internet 控制消息协议(ICMP)”。 默认设置是规则应用于所有协议(“任意”)。
    操作 “允许”或“拒绝” 此设置指定该规则是允许还是拒绝对提供的源和目标配置进行访问。
    优先级 一个介于 100 到 4096 之间的值,该值对于 NSG 内的所有安全规则都是独一无二的 Azure 按优先级顺序处理安全规则。 编号越低,优先级越高。 我们建议创建规则时在优先级数字之间留出空隙,例如 100、200 和 300。 留出空隙可便于在将来添加规则,使你可以为添加的规则分配比现有规则更高或更低的优先级。
    Name NSG 内规则的唯一名称 名称最多可包含 80 个字符。 该名称必须以字母或数字开头,必须以字母、数字或下划线结尾。 名称只能包含字母、数字、下划线、句点或连字符。
    描述 文本说明 可以选择性地指定安全规则的文本说明。 说明不能超过 140 个字符。

    屏幕截图显示如何在 Azure 门户中将安全规则添加到网络安全组。

查看所有安全规则

NSG 包含零个或零个以上的规则。 若要详细了解查看规则时出现的信息列表,请参阅安全规则

  1. 在门户顶部的搜索框中,输入“网络安全组”。 然后在搜索结果中选择“网络安全组”

  2. 选择要查看其规则的 NSG 的名称。

  3. 选择“入站安全规则”或“出站安全规则”。

    列表包含已创建的任何规则以及 NSG 的默认安全规则

    屏幕截图显示 Azure 门户中的网络安全组的入站安全规则。

查看安全规则的详细信息

  1. 在门户顶部的搜索框中,输入“网络安全组”。 然后在搜索结果中选择“网络安全组”

  2. 选择要查看其规则的 NSG 的名称。

  3. 选择“入站安全规则”或“出站安全规则”。

  4. 选择要查看其详细信息的规则。 有关所有设置的说明,请参阅安全规则设置

    注意

    此过程仅适用于自定义安全规则。 如果选择了默认安全规则,则此过程不适用。

    屏幕截图显示 Azure 门户中的网络安全组入站安全规则详细信息。

更改安全规则

  1. 在门户顶部的搜索框中,输入“网络安全组”。 然后在搜索结果中选择“网络安全组”

  2. 选择要查看其规则的 NSG 的名称。

  3. 选择“入站安全规则”或“出站安全规则”。

  4. 选择要更改的规则。

  5. 根据需要更改设置,然后选择“保存”。 有关所有设置的说明,请参阅安全规则设置

    屏幕截图显示如何在 Azure 门户中更改网络安全组入站安全规则详细信息。

    注意

    此过程仅适用于自定义安全规则。 不允许更改默认安全规则。

删除安全规则

  1. 在门户顶部的搜索框中,输入“网络安全组”。 然后在搜索结果中选择“网络安全组”

  2. 选择要查看其规则的 NSG 的名称。

  3. 选择“入站安全规则”或“出站安全规则”。

  4. 选择要删除的规则。

  5. 依次选择“删除”、“是”。

    屏幕截图显示如何在 Azure 门户中删除网络安全组入站安全规则。

    注意

    此过程仅适用于自定义安全规则。 不允许删除默认安全规则。

使用应用程序安全组

应用程序安全组包含零个或多个网络接口。 若要了解详细信息,请参阅应用程序安全组。 应用程序安全组中的所有网络接口必须存在于同一虚拟网络中。 要了解如何将网络接口添加到应用程序安全组,请参阅将网络接口添加到应用程序安全组

创建应用程序安全组

  1. 在门户顶部的搜索框中,输入“应用程序安全组”。 然后在搜索结果中选择“应用程序安全组”

  2. 选择“+ 新建”。

  3. 在“创建应用程序安全组”页上的“基本信息”选项卡下,输入或选择以下值:

    设置 操作
    项目详细信息
    订阅 选择 Azure 订阅。
    资源组 选择现有的资源组,或选择“新建”以创建新的资源组。 此示例使用 myResourceGroup 资源组。
    实例详细信息
    名称 输入要创建的应用程序安全组的名称。
    区域 选择要在其中创建应用程序安全组的区域。

    屏幕截图显示如何在 Azure 门户中创建应用程序安全组。

  4. 选择“查看 + 创建”。

  5. 看到“验证通过”消息后,选择“创建”。

查看所有应用程序安全组

在门户顶部的搜索框中,输入“应用程序安全组”。 然后在搜索结果中选择“应用程序安全组”。 Azure 门户中会显示应用程序安全组的列表。

屏幕截图显示 Azure 门户中的现有应用程序安全组。

查看特定应用程序安全组的详细信息

  1. 在门户顶部的搜索框中,输入“应用程序安全组”。 然后在搜索结果中选择“应用程序安全组”

  2. 选择要查看其详细信息的应用程序安全组。

更改应用程序安全组

  1. 在门户顶部的搜索框中,输入“应用程序安全组”。 然后在搜索结果中选择“应用程序安全组”

  2. 选择要更改的应用程序安全组:

    • 选择“资源组”或“订阅”旁边的“移动”,以相应地更改资源组或订阅

    • 选择“标记”旁边的“编辑”以添加或删除标记。 若要了解详细信息,请参阅使用标记对 Azure 资源和管理层次结构进行组织

      屏幕截图显示如何在 Azure 门户中更改应用程序安全组。

      注意

      无法更改应用程序安全组的位置。

    • 选择“访问控制(IAM)”,以分配或删除对应用程序安全组的权限。

删除应用程序安全组

无法删除包含任何网络接口的应用程序安全组。 若要从应用程序安全组中删除所有网络接口,请更改网络接口设置,或删除网络接口。 有关详细信息,请参阅添加到应用程序安全组或从中移除删除网络接口

  1. 在门户顶部的搜索框中,输入“应用程序安全组”。 然后在搜索结果中选择“应用程序安全组”

  2. 选择要删除的应用程序安全组。

  3. 选择“删除”,然后选择“是”,删除应用程序安全组 。

    屏幕截图显示如何在 Azure 门户中删除应用程序安全组。

权限

若要管理 NSG、安全规则和应用程序安全组,必须将帐户分配到网络参与者角色。 还可以使用分配有以下表中列出的相应权限的自定义角色

注意

如果已在资源组级别分配了“网络参与者”角色,则可能不会看到服务标记的完整列表。 若要查看完整列表,可以改为在订阅范围内分配此角色。 如果只能允许资源组的“网络参与者”角色,则还可以为权限 Microsoft.Network/locations/serviceTags/readMicrosoft.Network/locations/serviceTagDetails/read 创建自定义角色。 在订阅范围内分配它们,并在资源组范围内分配“网络参与者”角色。

网络安全组

操作 名称
Microsoft.Network/networkSecurityGroups/read 获取 NSG。
Microsoft.Network/networkSecurityGroups/write 创建或更新 NSG。
Microsoft.Network/networkSecurityGroups/delete 删除 NSG。
Microsoft.Network/networkSecurityGroups/join/action 将 NSG 与子网或网络接口关联。

注意

若要对 NSG 执行 write 操作,订阅帐户必须至少具有对资源组的 read 权限以及 Microsoft.Network/networkSecurityGroups/write 权限。

网络安全组规则

操作 名称
Microsoft.Network/networkSecurityGroups/securityRules/read 获取规则。
Microsoft.Network/networkSecurityGroups/securityRules/write 创建或更新规则。
Microsoft.Network/networkSecurityGroups/securityRules/delete 删除规则。

应用程序安全组

操作 名称
Microsoft.Network/applicationSecurityGroups/joinIpConfiguration/action 将 IP 配置加入到应用程序安全组中。
Microsoft.Network/applicationSecurityGroups/joinNetworkSecurityRule/action 将安全规则加入到应用程序安全组中。
Microsoft.Network/applicationSecurityGroups/read 获取应用程序安全组。
Microsoft.Network/applicationSecurityGroups/write 创建或更新应用程序安全组。
Microsoft.Network/applicationSecurityGroups/delete 删除应用程序安全组。