---
type: resource-type
title: EC2SecurityGroupIngress
description: aws resource type AWS::EC2::SecurityGroupIngress
name: EC2SecurityGroupIngress
lexicon: aws
resource_type: AWS::EC2::SecurityGroupIngress
---
`AWS::EC2::SecurityGroupIngress`, a resource type of the aws lexicon.

## Properties

- `IpProtocol` (`string`, required): The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers). [VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.
- `CidrIp` (`string`, optional): The IPv4 ranges
- `CidrIpv6` (`string`, optional): [VPC only] The IPv6 ranges
- `Description` (`string`, optional): Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously
- `FromPort` (`number`, optional): The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes. Use this for ICMP and any protocol that uses ports.
- `GroupId` (`string`, optional): The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID. You must specify the GroupName property or the GroupId property. For security groups that are in a VPC, you must use the GroupId property.
- `GroupName` (`string`, optional): The name of the security group.
- `Id` (`string`, optional): The Security Group Rule Id
- `SourcePrefixListId` (`string`, optional): [EC2-VPC only] The ID of a prefix list.
- `SourceSecurityGroupId` (`string`, optional): The ID of the security group. You must specify either the security group ID or the security group name. For security groups in a nondefault VPC, you must specify the security group ID.
- `SourceSecurityGroupName` (`string`, optional): [EC2-Classic, default VPC] The name of the source security group. You must specify the GroupName property or the GroupId property. For security groups that are in a VPC, you must use the GroupId property.
- `SourceSecurityGroupOwnerId` (`string`, optional): [nondefault VPC] The AWS account ID that owns the source security group. You can't specify this property with an IP address range. If you specify SourceSecurityGroupName or SourceSecurityGroupId and that security group is owned by a different account than the account creating the stack, you must specify the SourceSecurityGroupOwnerId; otherwise, this property is optional.
- `ToPort` (`number`, optional): The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type. If you specify all ICMP/ICMPv6 types, you must specify all codes. Use this for ICMP and any protocol that uses ports.

## Attributes

- `Id`

## Governed by

- [WAW019](/rules/WAW019.md): Security group allows unrestricted ingress on sensitive ports (SSH, RDP, database)
- [WAW049](/rules/WAW049.md): Security group allows unrestricted ingress on a port other than ALB:80/443
