

# 配置安全组规则
<a name="working-with-security-group-rules"></a>

创建安全组后，即可添加、更新或删除安全组的规则。在添加、更新或删除规则时，更改将自动应用于与安全组关联的资源。

**所需的权限**  
在开始之前，请确保您拥有所需权限。有关更多信息，请参阅 [管理安全组规则](vpc-policy-examples.md#vpc-security-group-rules-iam)。

**协议和端口**
+ 使用控制台，当您选择预定义的类型时，将为您指定**协议**和**端口范围**。要输入端口范围，必须选择以下自定义类型之一：**自定义 TCP** 或**自定义 UDP**。
+ 使用 Amazon CLI，您可以使用 `--protocol` 和 `--port` 选项添加带有单个端口的单个规则。要添加多个规则或具有端口范围的规则，请改用 `--ip-permissions` 选项。

**来源和目标**
+ 使用控制台，您可以将以下内容指定为入站规则的源或出站规则的目标：
  + **自定义**：IPv4 CIDR 数据块、IPv6 CIDR 数据块、安全组或前缀列表。
  + **Anywhere-IPv4** – 0.0.0.0/0 IPv4 CIDR 数据块。
  + **Anywhere-IPv6** – ::/0 IPv6 CIDR 数据块。
  + **我的 IP** – 本地计算机的公有 IPv4 地址。
+ 使用 Amazon CLI，您可以使用 `--cidr` 选项指定 IPv4 CIDR 数据块，也可以使用 `--source-group` 选项指定安全组。要指定前缀列表或 IPv6 CIDR 块，请使用 `--ip-permissions` 选项。

**警告**  
如果您选择 **Anywhere-IPv4**，则将允许来自所有 IPv4 地址的流量。如果您选择 **Anywhere-IPv6**，则将允许来自所有 IPv6 地址的流量。最佳做法是仅授权需要访问资源的特定 IP 地址范围。

**使用控制台配置安全组规则**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.amazonaws.cn/vpc/) 打开 Amazon VPC 控制台。

1. 在导航窗格中，选择**安全组**。

1. 选择安全组。

1. 要编辑入站规则，请从**操作**或**入站规则**选项卡中选择**编辑入站规则**。

   1. 要添加规则，请选择**添加规则**，再输入规则的类型、协议、端口和来源。

      如果类型为 TCP 或 UDP，则必须输入允许的端口范围。对于自定义 ICMP，您必须从 **Protocol**（协议）中选择 ICMP 类型名称，并从 **Port range**（端口范围）中选择代码名称（如果适用）。对于任何其他类型，则会为您配置协议和端口范围。

   1. 要更新规则，请根据需要更改规则的协议、描述和来源。但是，您无法更改来源类型。例如，若来源是 IPv4 CIDR 数据块，则无法指定 IPv6 CIDR 数据块、前缀列表或安全组。

   1. 要删除规则，请选择规则的**删除**按钮。

1. 要编辑出站规则，请从**操作**或**出站规则**选项卡中选择**编辑出站规则**。

   1. 要添加规则，请选择**添加规则**，再输入规则的类型、协议、端口和目标。您也可以输入可选描述。

      如果类型为 TCP 或 UDP，则必须输入允许的端口范围。对于自定义 ICMP，您必须从 **Protocol**（协议）中选择 ICMP 类型名称，并从 **Port range**（端口范围）中选择代码名称（如果适用）。对于任何其他类型，则会为您配置协议和端口范围。

   1. 要更新规则，请根据需要更改规则的协议、描述和来源。但是，您无法更改来源类型。例如，若来源是 IPv4 CIDR 数据块，则无法指定 IPv6 CIDR 数据块、前缀列表或安全组。

   1. 要删除规则，请选择规则的**删除**按钮。

1. 选择**保存规则**。

**使用 Amazon CLI 配置安全组规则**
+ **添加** – 使用 [authorize-security-group-ingress](https://docs.amazonaws.cn/cli/latest/reference/ec2/authorize-security-group-ingress.html) 和 [authorize-security-group-egress](https://docs.amazonaws.cn/cli/latest/reference/ec2/authorize-security-group-egress.html) 命令。
+ **删除** – 使用 [revoke-security-group-ingress](https://docs.amazonaws.cn/cli/latest/reference/ec2/revoke-security-group-ingress.html) 和 [revoke-security-group-egress](https://docs.amazonaws.cn/cli/latest/reference/ec2/revoke-security-group-egress.html) 命令。
+ **修改** – 使用 [modify-security-group-rules](https://docs.amazonaws.cn/cli/latest/reference/ec2/modify-security-group-rules.html)、[update-security-group-rule-descriptions-ingress](https://docs.amazonaws.cn/cli/latest/reference/ec2/update-security-group-rule-descriptions-ingress.html) 和 [update-security-group-rule-descriptions-egress](https://docs.amazonaws.cn/cli/latest/reference/ec2/update-security-group-rule-descriptions-egress.html) 命令。