AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Adds one or more ingress rules to a security group.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another. You can have up to 100 rules per group.

[EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC or a peer VPC in a VPC peering connection. For more information about VPC security group limits, see Amazon VPC Limits.

You can optionally specify a description for the security group rule.

Note:

For .NET Core and PCL this operation is only available in asynchronous form. Please refer to AuthorizeSecurityGroupIngressAsync.

Namespace: Amazon.EC2
Assembly: AWSSDK.EC2.dll
Version: 3.x.y.z

Syntax

C#
public virtual AuthorizeSecurityGroupIngressResponse AuthorizeSecurityGroupIngress(
         AuthorizeSecurityGroupIngressRequest request
)
Parameters
request
Type: Amazon.EC2.Model.AuthorizeSecurityGroupIngressRequest

Container for the necessary parameters to execute the AuthorizeSecurityGroupIngress service method.

Return Value
The response from the AuthorizeSecurityGroupIngress service method, as returned by EC2.

Examples

This example enables inbound traffic on TCP port 22 (SSH). The rule includes a description to help you identify it later.

To add a rule that allows inbound SSH traffic from an IPv4 address range


var response = client.AuthorizeSecurityGroupIngress(new AuthorizeSecurityGroupIngressRequest 
{
    GroupId = "sg-903004f8",
    IpPermissions = new List {
        new IpPermission {
            FromPort = 22,
            IpProtocol = "tcp",
            ToPort = 22
        }
    }
});


            

This example enables inbound traffic on TCP port 80 from the specified security group. The group must be in the same VPC or a peer VPC. Incoming traffic is allowed based on the private IP addresses of instances that are associated with the specified security group.

To add a rule that allows inbound HTTP traffic from another security group


var response = client.AuthorizeSecurityGroupIngress(new AuthorizeSecurityGroupIngressRequest 
{
    GroupId = "sg-111aaa22",
    IpPermissions = new List {
        new IpPermission {
            FromPort = 80,
            IpProtocol = "tcp",
            ToPort = 80,
            UserIdGroupPairs = new List {
                new UserIdGroupPair {
                    Description = "HTTP access from other instances",
                    GroupId = "sg-1a2b3c4d"
                }
            }
        }
    }
});


            

This example adds an inbound rule that allows RDP traffic from the specified IPv6 address range. The rule includes a description to help you identify it later.

To add a rule that allows inbound RDP traffic from an IPv6 address range


var response = client.AuthorizeSecurityGroupIngress(new AuthorizeSecurityGroupIngressRequest 
{
    GroupId = "sg-123abc12 ",
    IpPermissions = new List {
        new IpPermission {
            FromPort = 3389,
            IpProtocol = "tcp",
            Ipv6Ranges = new List {
                new Ipv6Range {
                    CidrIpv6 = "2001:db8:1234:1a00::/64",
                    Description = "RDP access from the NY office"
                }
            },
            ToPort = 3389
        }
    }
});


            

Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

See Also