

# Alterar os grupos de segurança da instância do Amazon EC2
<a name="changing-security-group"></a>

É possível especificar grupos de segurança para instâncias do Amazon EC2 quando iniciá-las. Depois de iniciar uma instância, você pode adicionar ou remover grupos de segurança. Você também pode adicionar, remover ou editar regras de grupos de segurança para grupos de segurança associados a qualquer momento.

Os grupos de segurança estão associados a interfaces de rede. Adicionar ou remover grupos de segurança altera os grupos de segurança associados à interface de rede primária. Também é possível alterar os grupos de segurança associados a interfaces de rede secundárias. Para obter mais informações, consulte [Modificar atributos da interface de rede](modify-network-interface-attributes.md).

**Topics**
+ [Adicionar ou remover grupos de segurança](#add-remove-instance-security-groups)
+ [Configurar regras de grupos de segurança](#add-remove-security-group-rules)

## Adicionar ou remover grupos de segurança
<a name="add-remove-instance-security-groups"></a>

Após iniciar uma instância, você pode adicionar ou remover grupos de segurança da lista de grupos de segurança associados. Quando você associa vários grupos de segurança a uma instância, as regras de cada security group são efetivamente agregadas para criar um conjunto de regras. O Amazon EC2 usa esse conjunto de regras para determinar se deve permitir tráfego.

**Requisitos**
+ A instância deve estar no estado `running` ou `stopped`.

------
#### [ Console ]

**Para modificar os grupos de segurança de uma instância**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instances (Instâncias)**.

1. Selecione a instância e, em seguida, escolha **Actions** (Ações), **Security ** (Segurança), **Change security groups** (Alterar grupos de segurança).

1. Em **Associated security groups** (Grupos de segurança associados), selecione um grupo de segurança na lista e escolha **Add security group** (Adicionar grupo de segurança).

   Para remover um grupo de segurança já associado, escolha **Remove (Remover)** para esse grupo de segurança.

1. Escolha **Salvar**.

------
#### [ AWS CLI ]

**Para modificar os grupos de segurança de uma instância**  
Use o seguinte comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --groups sg-1234567890abcdef0
```

------
#### [ PowerShell ]

**Para modificar os grupos de segurança de uma instância**  
Use o cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -Group sg-1234567890abcdef0
```

------

## Configurar regras de grupos de segurança
<a name="add-remove-security-group-rules"></a>

Depois de criar um grupo de segurança, você pode adicionar, atualizar e excluir as regras dele. Quando você adiciona, atualiza ou exclui uma regra, a alteração é aplicada automaticamente aos recursos associados ao grupo de segurança.

Para obter exemplos de regras que você pode adicionar a um grupo de segurança, consulte [Regras de grupo de segurança para diferentes casos de uso](security-group-rules-reference.md).

**Permissões obrigatórias**  
Antes de começar, verifique se você tem as permissões necessárias. Para obter mais informações, consulte [Exemplo: trabalhar com grupos de segurança](iam-policies-ec2-console.md#ex-security-groups).

**Protocolos e portas**
+ Com o console, quando você seleciona um tipo predefinido, **Protocolo** e **Intervalo de portas** são especificados para você. Para inserir um intervalo de portas, você deve selecionar um dos seguintes tipos personalizados: **TCP personalizado** ou **UDP personalizado** .
+ Com a AWS CLI, você pode adicionar uma única regra com uma única porta usando as opções `--protocol` e `--port`. Para adicionar várias regras ou uma regra com um intervalo de portas, use a opção `--ip-permissions`.

**Origens e destinos**
+ Com o console, você pode especificar o seguinte como origens para as regras de entrada ou destinos para as regras de saída.
  + **Personalizado**: um bloco CIDR IPv4 e um bloco CIDR IPv6, um grupo de segurança ou uma lista de prefixos.
  + **Anywhere-IPv4**: o bloco CIDR IPv4 0.0.0.0/0.
  + **Anywhere-IPv6**: o bloco CIDR IPv6 ::/0.
  + **Meu IP**: o endereço IPv4 público do computador local.
+ Com a AWS CLI, você pode especificar um bloco CIDR IPv4 usando a opção `--cidr` ou um grupo de segurança usando a opção `--source-group`. Para especificar uma lista de prefixos ou um bloco CIDR IPv6, use a opção `--ip-permissions`.

**Atenção**  
Se você adicionar regras de entrada para as portas 22 (SSH) ou 3389 (RDP), recomendamos enfaticamente que você autorize somente o endereço IP específico ou um intervalo de endereços que precisem de acesso às instâncias. Caso escolha **Anywhere-IPv4**, você permitirá que o tráfego de todos os endereços IPv4 acessem as instâncias usando o protocolo especificado. Caso escolha **Anywhere-IPv6**, você permitirá que o tráfego de todos os endereços IPv6 acessem as instâncias usando o protocolo especificado.

------
#### [ Console ]

**Para configurar regras do grupo de segurança**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Grupos de segurança**.

1. Selecione o grupo de segurança.

1. Para editar as regras de entrada, escolha **Editar regras de entrada** em **Ações** ou na guia **Regras de entrada**.

   1. Para adicionar uma regra, escolha **Adicionar regra** e insira o tipo, o protocolo, a porta e a origem da regra.

      Se o tipo for TCP ou UDP, será necessário inserir o intervalo de portas a ser permitido. Para ICMP personalizado, você deverá escolher o nome do tipo ICMP em **Protocol** (Protocolo) e, se aplicável, o nome do código em **Port range** (Intervalo de portas). Para qualquer outro tipo, o protocolo e o intervalo de portas serão configurados para você.

   1. Para atualizar uma regra, altere o protocolo, a descrição e a origem da regra, conforme necessário. Porém, você não pode alterar o tipo de origem. Por exemplo, se a origem for um bloco CIDR IPv4, você não poderá especificar um bloco CIDR IPv6, uma lista de prefixos ou um grupo de segurança.

   1. Para excluir uma regra, escolha seu botão **Excluir**.

1. Para editar as regras de saída, escolha **Editar regras de saída** em **Ações** ou na guia **Regras de saída**.

   1. Para adicionar uma regra, escolha **Adicionar regra** e insira o tipo, o protocolo, a porta e o destino da regra. Você também pode inserir uma descrição opcional.

      Se o tipo for TCP ou UDP, será necessário inserir o intervalo de portas a ser permitido. Para ICMP personalizado, você deverá escolher o nome do tipo ICMP em **Protocol** (Protocolo) e, se aplicável, o nome do código em **Port range** (Intervalo de portas). Para qualquer outro tipo, o protocolo e o intervalo de portas serão configurados para você.

   1. Para atualizar uma regra, altere o protocolo, a descrição e a origem da regra, conforme necessário. Porém, você não pode alterar o tipo de origem. Por exemplo, se a origem for um bloco CIDR IPv4, você não poderá especificar um bloco CIDR IPv6, uma lista de prefixos ou um grupo de segurança.

   1. Para excluir uma regra, escolha seu botão **Excluir**.

1. Selecione **Salvar regras**.

------
#### [ AWS CLI ]

**Para adicionar regras de grupo de segurança**  
Use o comando [authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html) para adicionar regras de entrada. O exemplo a seguir permite tráfego SSH de entrada proveniente dos blocos CIDR na lista de prefixos especificada.

```
aws ec2 authorize-security-group-ingress \
    --group-id sg-1234567890abcdef0 \
    --ip-permissions 'IpProtocol=tcp,FromPort=22,ToPort=22,PrefixListIds=[{PrefixListId=pl-f8a6439156EXAMPLE}]'
```

Use o comando [authorize-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html) para adicionar regras de saída. O exemplo a seguir permite tráfego TCP de saída na porta 80 para instâncias com o grupo de segurança especificado.

```
aws ec2 authorize-security-group-egress \
    --group-id sg-1234567890abcdef0 \
    --ip-permissions 'IpProtocol=tcp,FromPort=80,ToPort=80,UserIdGroupPairs=[{GroupId=sg-0aad1c26bb6EXAMPLE}]'
```

**Para remover regras de grupo de segurança**  
Use o seguinte comando [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html) para remover uma regra de entrada.

```
aws ec2 revoke-security-group-egress \
    --group id sg-1234567890abcdef0 \
    --security-group-rule-ids sgr-09ed298024EXAMPLE
```

Use o seguinte comando [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html) para remover uma regra de saída.

```
aws ec2 revoke-security-group-ingress \
    --group id sg-1234567890abcdef0 \
    --security-group-rule-ids sgr-0352250c1aEXAMPLE
```

**Para modificar regras do grupo de segurança**  
Use o comando [modify-security-group-rules](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-security-group-rules.html). O exemplo a seguir altera o bloco CIDR IPv4 da regra do grupo de segurança especificado.

```
aws ec2 modify-security-group-rules \
    --group id sg-1234567890abcdef0 \
    --security-group-rules 'SecurityGroupRuleId=sgr-09ed298024EXAMPLE,SecurityGroupRule={IpProtocol=tcp,FromPort=80,ToPort=80,CidrIpv4=0.0.0.0/0}'
```

------
#### [ PowerShell ]

**Para adicionar regras de grupo de segurança**  
Use o cmdlet [Grant-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupIngress.html) para adicionar regras de entrada. O exemplo a seguir permite tráfego SSH de entrada proveniente dos blocos CIDR na lista de prefixos especificada.

```
$plid = New-Object -TypeName Amazon.EC2.Model.PrefixListId
$plid.Id = "pl-f8a6439156EXAMPLE"
Grant-EC2SecurityGroupIngress `
    -GroupId sg-1234567890abcdef0 `
    -IpPermission @{IpProtocol="tcp"; FromPort=22; ToPort=22; PrefixListIds=$plid}
```

Use o cmdlet [Grant-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupEgress.html) para adicionar regras de saída. O exemplo a seguir permite tráfego TCP de saída na porta 80 para instâncias com o grupo de segurança especificado.

```
$uigp = New-Object -TypeName Amazon.EC2.Model.UserIdGroupPair
$uigp.GroupId = "sg-0aad1c26bb6EXAMPLE"
Grant-EC2SecurityGroupEgress `
    -GroupId sg-1234567890abcdef0 `
    -IpPermission @{IpProtocol="tcp"; FromPort=80; ToPort=80; UserIdGroupPairs=$uigp}
```

**Para remover regras de grupo de segurança**  
Use o cmdlet [Revoke-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupIngress.html) para remover regras de entrada.

```
Revoke-EC2SecurityGroupIngress `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRuleId sgr-09ed298024EXAMPLE
```

Use o cmdlet [Revoke-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupEgress.html) para remover regras de saída.

```
Revoke-EC2SecurityGroupEgress `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRuleId sgr-0352250c1aEXAMPLE
```

**Para modificar regras do grupo de segurança**  
Use o cmdlet [Edit-EC2SecurityGroupRule](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SecurityGroupRule.html). O exemplo a seguir altera o bloco CIDR IPv4 da regra do grupo de segurança especificado.

```
$sgrr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleRequest
$sgrr.IpProtocol = "tcp"
$sgrr.FromPort = 80
$sgrr.ToPort = 80
$sgrr.CidrIpv4 = "0.0.0.0/0"
$sgr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleUpdate
$sgr.SecurityGroupRuleId = "sgr-09ed298024EXAMPLE"
$sgr.SecurityGroupRule = $sgrr
Edit-EC2SecurityGroupRule  `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRule $sgr
```

------