Creates one or more outbound rules in a security group. You can use the created rules to allow or deny outbound traffic from instances in the security group to other objects.

Description

In the security group-related API documents, outbound traffic refers to the traffic sent by the source and received by the destination.

When you call this operation, take note of the following items:

  • The total number of outbound and inbound security group rules in each security group cannot exceed 200. For more information, see the "Security group limits" section in ~~25412#SecurityGroupQuota1~~.
  • You can set Policy to accept or drop for each security group rule to allow or deny access.
  • The valid value of Priority ranges from 1 to 100. A smaller value indicates a higher priority.
  • When several security group rules have the same priority, drop rules take precedence.
  • The destination can be a CIDR block specified by DestCidrIp, Ipv6DestCidrIp, or DestPrefixListId or can be Elastic Compute Service (ECS) instances in a security group specified by DestGroupId.
  • For advanced security groups, security groups cannot be used as authorization objects.
  • For each basic security group, a maximum of 20 security groups can be used as authorization objects.
  • If the specified security group rule exists in the security group, the call to AuthorizeSecurityGroupEgress is successful but no security group rule is created.
  • The Permissions.N prefix is added to some parameters to generate new parameters. Original parameters and corresponding parameters prefixed with Permissions.N cannot be specified together. We recommend that you use parameters prefixed with Permissions.N.
  • You can determine a security group rule by specifying one of the following groups of parameters. You cannot determine a security group rule by specifying only one parameter.
    • Parameters used to specify an outbound security group rule that controls access to a specified CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and DestCidrIp.
      
              http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress
              &SecurityGroupId=sg-bp67acfmxazb4ph***
              &Permissions.1.IpProtocol=ICMP
              &Permissions.1.DestCidrIp=10.0.0.0/8
              &Permissions.1.PortRange=-1/-1
              &Permissions.1.NicType=intranet
               &Permissions.1.Policy=Accept
              &<Common request parameters>
              
    • Parameters used to specify an outbound security group rule that controls access to a security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestGroupOwnerAccount, and DestGroupId.
      
              http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress
              &SecurityGroupId=sg-bp67acfmxazb4ph***
              &Permissions.1.DestGroupId=sg-bp67acfmxazb4pi***
              &Permissions.1.DestGroupOwnerAccount=Test@aliyun.com
              &Permissions.1.IpProtocol=TCP
              &Permissions.1.PortRange=22/22
              &Permissions.1.NicType=intranet
              &Permissions.1.Policy=Drop
              &<Common request parameters>
              
    • Parameters used to specify an outbound security group rule that controls access to a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and DestPrefixListId. In this case, prefix lists support only security groups in virtual private clouds (VPCs). NicType must be set to intranet.
      
              http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress
              &SecurityGroupId=sg-bp67acfmxazb4ph***
              &Permissions.1.DestPrefixListId=pl-x1j1k5ykzqlixdcy****
              &Permissions.1.DestGroupOwnerAccount=Test@aliyun.com
              &Permissions.1.IpProtocol=TCP
              &Permissions.1.PortRange=22/22
              &Permissions.1.NicType=intranet
              &Permissions.1.Policy=Drop
              &<Common request parameters>
              

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes AuthorizeSecurityGroupEgress

The operation that you want to perform. Set the value to AuthorizeSecurityGroupEgress.

RegionId String Yes cn-hangzhou

The region ID of the source security group. You can call the DescribeRegions operation to query the most recent region list.

ClientToken String No 123e4567-e89b-12d3-a456-426655440000

The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests. The ClientToken value can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence.

SecurityGroupId String Yes sg-bp67acfmxazb4p****

The ID of the security group.

Permissions.N.Policy String No accept

The action of security group rule N that determines whether to allow outbound access. Valid values:

  • accept: allows access.
  • drop: denies access and returns no responses. In this case, the request times out or the connection cannot be established.

Default value: accept.

Valid values of N: 1 to 100.

Permissions.N.Priority String No 1

The priority of security group rule N. A smaller value indicates a higher priority. Valid values: 1 to 100.

Default value: 1.

Valid values of N: 1 to 100.

Permissions.N.IpProtocol String No ALL

The transport layer protocol of security group rule N. The value of this parameter is case-insensitive. Valid values:

  • TCP
  • UDP
  • ICMP
  • ICMPv6
  • GRE
  • ALL: All protocols are supported.

Valid values of N: 1 to 100.

Permissions.N.DestCidrIp String No 10.0.0.0/8

The destination IPv4 CIDR block for security group rule N. CIDR blocks and IPv4 addresses are supported.

Valid values of N: 1 to 100.

Permissions.N.Ipv6DestCidrIp String No 2001:db8:1233:1a00::***

The destination IPv6 CIDR block for security group rule N. CIDR blocks and IPv6 addresses are supported.

Valid values of N: 1 to 100.

Note The Permissions.N.Ipv6DestCidrIp parameter is valid only when the destination is ECS instances that reside in VPCs and that support IPv6 CIDR blocks. You cannot specify both this parameter and theDestCidrIp parameter.
Permissions.N.DestGroupId String No sg-bp67acfmxazb4p****

The ID of the destination security group to be referenced in security group rule N.

  • At least one of DestGroupId, DestCidrIp, Ipv6DestCidrIp, and DestPrefixListId must be specified.
  • If DestGroupId is specified but DestCidrIp is not specified, the NicType parameter must be set to intranet.
  • If both DestGroupId and DestCidrIp are specified, DestCidrIp takes precedence.

Valid values of N: 1 to 100.

Take note of the following items:

  • For advanced security groups, security groups cannot be used as authorization objects.
  • For each basic security group, a maximum of 20 security groups can be used as authorization objects.
Permissions.N.DestPrefixListId String No pl-x1j1k5ykzqlixdcy****

The ID of the destination prefix list to be referenced in security group rule N. You can call the DescribePrefixLists operation to query the IDs of available prefix lists.

Take note of the following items:

  • If a security group is in the classic network, you cannot reference prefix lists in the security group rules. For information about the limits on security groups and prefix lists, see the "Security group limits" section in Limits.
  • If you specify DestCidrIp, Ipv6DestCidrIp, or DestGroupId, Permissions.N.DestPrefixListId is ignored.

Valid values of N: 1 to 100.

Permissions.N.PortRange String No 80/80

The range of destination ports that correspond to the transport layer protocol for security group rule N. Valid values:

  • When the Permissions.N.IpProtocol parameter is set to TCP or UDP, the port number range is 1 to 65535. Specify a port range in the format of <Start port number>/<End port number>. Example: 1/200.
  • When the Permissions.N.IpProtocol parameter is set to ICMP, the port number range is -1/-1, which indicates all ports.
  • When the Permissions.N.IpProtocol parameter is set to GRE, the port number range is -1/-1, which indicates all ports.
  • When the Permissions.N.IpProtocol parameter is set to ALL, the port number range is -1/-1, which indicates all ports.

Valid values of N: 1 to 100.

Permissions.N.SourceCidrIp String No 10.0.0.0/8

The source IPv4 CIDR block for security group rule N. CIDR blocks and IPv4 addresses are supported.

This parameter is specified to meet quintuple rules. For more information, see Security group quintuple rules.

Valid values of N: 1 to 100.

Permissions.N.Ipv6SourceCidrIp String No 2001:db8:1234:1a00::***

The source IPv6 CIDR block for security group rule N. CIDR blocks and IPv6 addresses are supported.

This parameter is specified to meet quintuple rules. For more information, see Security group quintuple rules.

Valid values of N: 1 to 100.

Note The Permissions.N.Ipv6SourceCidrIp parameter is valid only when the source is ECS instances that reside in VPCs and that support IPv6 CIDR blocks. You cannot specify both this parameter and the DestCidrIp parameter.
Permissions.N.SourcePortRange String No 80/80

The range of source ports that correspond to the transport layer protocol for security group rule N. Valid values:

  • When the Permissions.N.IpProtocol parameter is set to TCP or UDP, the port number range is 1 to 65535. Specify a port range in the format of <Start port number>/<End port number>. Example: 1/200.
  • When the Permissions.N.IpProtocol parameter is set to ICMP, the port number range is -1/-1, which indicates all ports.
  • When the Permissions.N.IpProtocol parameter is set to GRE, the port number range is -1/-1, which indicates all ports.
  • When the Permissions.N.IpProtocol parameter is set to ALL, the port number range is -1/-1, which indicates all ports.

This parameter is specified to meet quintuple rules. For more information, see Security group quintuple rules.

Valid values of N: 1 to 100.

Permissions.N.DestGroupOwnerAccount String No Test@aliyun.com

The Alibaba Cloud account that manages the destination security group when you set security group rule N across accounts.

  • If both DestGroupOwnerAccount and DestGroupOwnerId are not specified, the rule is created to control access to another security group within your Alibaba Cloud account.
  • If DestCidrIp is specified, DestGroupOwnerAccount is ignored.

Valid values of N: 1 to 100.

Permissions.N.DestGroupOwnerId Long No 12345678910

The ID of the Alibaba Cloud account that manages the destination security group when you set security group rule N across accounts.

  • If both DestGroupOwnerId and DestGroupOwnerAccount are not specified, the rule is created to control access to another security group within your Alibaba Cloud account.
  • If you specify the DestCidrIp parameter, the DestGroupOwnerId parameter is ignored.

Valid values of N: 1 to 100.

Permissions.N.NicType String No intranet

The network interface controller (NIC) type of security group rule N when the security group is in the classic network. Valid values:

  • internet: public NIC
  • intranet: internal NIC
    • If the security group is in a VPC, this parameter is set to intranet by default and cannot be changed.
    • If you specify only DestGroupId when you configure access between security groups, this parameter must be set to intranet.

Default value: internet.

Valid values of N: 1 to 100.

Permissions.N.Description String No This is description.

The description of security group rule N. The description must be 1 to 512 characters in length.

Valid values of N: 1 to 100.

Policy String No accept

This parameter is discontinued. Use Permissions.N.Policy to specify whether to allow outbound access.

Priority String No 1

This parameter is discontinued. Use Permissions.N.Priority to specify the rule priority.

IpProtocol String No ALL

This parameter is discontinued. Use Permissions.N.IpProtocol to specify the transport layer protocol.

DestCidrIp String No 10.0.0.0/8

This parameter is discontinued. Use Permissions.N.DestCidrIp to specify the destination IPv4 CIDR block.

Ipv6DestCidrIp String No 2001:db8:1233:1a00::***

This parameter is discontinued. Use Permissions.N.Ipv6DestCidrIp to specify the destination IPv6 CIDR block.

DestGroupId String No sg-bp67acfmxazb4p****

This parameter is discontinued. Use Permissions.N.DestGroupId to specify the ID of the destination security group.

DestPrefixListId String No pl-x1j1k5ykzqlixdcy****

This parameter is discontinued. Use Permissions.N.DestPrefixListId to specify the ID of the destination prefix list.

PortRange String No 80/80

This parameter is discontinued. Use Permissions.N.PortRange to specify the range of destination ports.

SourceCidrIp String No 10.0.0.0/8

This parameter is discontinued. Use Permissions.N.SourceCidrIp to specify the source IPv4 CIDR block.

Ipv6SourceCidrIp String No 2001:db8:1234:1a00::***

This parameter is discontinued. Use Permissions.N.Ipv6SourceCidrIp to specify the source IPv6 CIDR block.

SourcePortRange String No 80/80

This parameter is discontinued. Use Permissions.N.SourcePortRange to specify the range of source ports.

DestGroupOwnerAccount String No Test@aliyun.com

This parameter is discontinued. Use Permissions.N.DestGroupOwnerAccount to specify the Alibaba Cloud account that manages the destination security group.

DestGroupOwnerId Long No 12345678910

This parameter is discontinued. Use Permissions.N.DestGroupOwnerId to specify the ID of the Alibaba Cloud account that manages the destination security group.

NicType String No intranet

This parameter is discontinued. Use Permissions.N.NicType to specify the NIC type.

Description String No This is description.

This parameter is discontinued. Use Permissions.N.Description to specify the description of security group rule N.

Response parameters

Parameter Type Example Description
RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

The ID of the request.

Examples

Sample requests

http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress
&RegionId=cn-hangzhou
&ClientToken=123e4567-e89b-12d3-a456-426655440000 
&SecurityGroupId=sg-bp67acfmxazb4p****
&Permissions.1.DestGroupId=sg-bp67acfmxazb4p****
&Permissions.1.DestGroupOwnerAccount=Test@aliyun.com
&Permissions.1.IpProtocol=ALL
&Permissions.1.PortRange=22/22
&Permissions.1.NicType=intranet
&Permissions.1.Policy=Drop
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<AuthorizeSecurityGroupEgressResponse>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</AuthorizeSecurityGroupEgressResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

Error codes

HTTP status code Error code Error message Description
400 OperationDenied The specified IpProtocol does not exist or IpProtocol and PortRange do not match. The error message returned because the specified transport layer protocol does not exist or does not match the specified port range.
400 InvalidIpProtocol.Malformed The specified parameter "PortRange" is not valid. The error message returned because the specified transport layer protocol or the PortRange parameter is invalid.
400 InvalidDestCidrIp.Malformed The specified parameter "DestCidrIp" is not valid. The error message returned because the specified DestCidrIp parameter is invalid.
400 InvalidPolicy.Malformed The specified parameter "Policy" is not valid. The error message returned because the specified Policy parameter is invalid.
400 InvalidNicType.ValueNotSupported The specified NicType does not exist. The error message returned because the specified NicType parameter does not exist.
400 InvalidNicType.Mismatch Specified nic type conflicts with the authorization record. The error message returned because the specified NIC type does not match the authorization object of the security group rule.
400 InvalidDestGroupId.Mismatch Specified security group and destination group are not in the same VPC. The error message returned because the specified source and destination security groups do not belong to the same VPC.
400 InvalidDestGroup.NotFound Specified destination security group does not exist. The error message returned because the specified destination security group does not exist.
400 VPCDisabled Can't use the SecurityGroup in VPC. The error message returned because the VPC does not support security groups.
400 InvalidPriority.Malformed The parameter Priority is invalid. The error message returned because the specified Priority parameter is invalid.
400 InvalidDestCidrIp.Malformed The specified parameter DestCidrIp is not valid. The error message returned because the specified DestCidrIp parameter is invalid.
400 InvalidDestCidrIp.Malformed The parameter DestCidrIp is not valid. The error message returned because the specified DestCidrIp parameter is invalid.
400 InvalidSecurityGroup.InvalidNetworkType The specified security group network type is not support this operation, please check the security group network types. For VPC security groups, ClassicLink must be enabled. The error message returned because the operation is not supported while the security group is of the current network type. If the network type is VPC, ClassicLink must be enabled.
400 InvalidParamter.Conflict The specified SourceCidrIp should be different from the DestCidrIp. The error message returned because the value of SourceCidrIp is the same as that of DestCidrIp.
400 InvalidParam.SourceIp %s The error message returned because the specified SourceCidrIp parameter is invalid.
400 InvalidParam.DestIp %s The error message returned because the specified DestCidrIp parameter is invalid.
400 InvalidParam.Ipv6DestCidrIp %s The error message returned because the specified Ipv6CidrIp parameter is invalid.
400 InvalidParam.Ipv6SourceCidrIp %s The error message returned because the specified Ipv6SourceCidrIp parameter is invalid.
400 InvalidParam.Ipv4ProtocolConflictWithIpv6Address %s The error message returned because the specified parameter is invalid. Check whether you have entered an IPv6 address under an IPv4 protocol by mistake.
400 InvalidParam.Ipv6ProtocolConflictWithIpv4Address %s The error message returned because the specified parameter is invalid. Check whether you have entered an IPv4 address under an IPv6 protocol by mistake.
400 ILLEGAL_IPV6_CIDR %s The error message returned because the specified IPv6 address is invalid.
400 InvalidParameter.Conflict IPv6 and IPv4 addresses cannot exist at the same time. The error message returned because IPv6 addresses and IPv4 addresses are both specified.
400 InvalidParam.PrefixListAddressFamilyMismatch The address family of the specified prefix list does not match the specified CidrIp. The error message returned because the address family of the specified prefix list does not match that of the specified CIDR block.
400 NotSupported.ClassicNetworkPrefixList The prefix list is not supported when the network type of security group is classic. The error message returned because security groups in the classic network do not support prefix lists.
400 InvalidParam.DestCidrIp The specified parameter DestCidrIp is invalid. The error message returned because the specified DestCidrIp parameter is invalid.
400 InvalidParam.SourceCidrIp The specified param SourceCidrIp is not valid. The error message returned because the specified SourceCidrIp parameter is invalid.
400 InvalidParam.Permissions The specified parameter Permissions cannot coexist with other parameters. The error message returned because a parameter with the Permissions prefix cannot be specified at the same time as the corresponding parameter without the Permissions prefix.
400 InvalidParam.DuplicatePermissions There are duplicate permissions in the specified parameter Permissions. The error message returned because the security group rules specified by the parameters with the Permissions prefix are duplicate.
403 InvalidDestGroupId.Mismatch NicType is required or NicType expects intranet. The error message returned because the NicType parameter is not specified or is not set to intranet.
403 MissingParameter The input parameter "DestGroupId" or "DestCidrIp" cannot be both blank. The error message returned because both the DestGroupId and DestCidrIp parameters are empty.
403 AuthorizationLimitExceed The limit of authorization records in the security group reaches. The error message returned because the maximum number of rules in the security group has been reached.
403 InvalidParamter.Conflict The specified SecurityGroupId should be different from the SourceGroupId. The error message returned because the destination security group is the same as the source security group.
403 InvalidNetworkType.Conflict The specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic). The error message returned because the network type of the destination security group is different from that of the source security group.
403 InvalidSecurityGroup.IsSame The authorized SecurityGroupId should be different from the DestGroupId. The error message returned because the ID of the source security group is the same as that of the destination security group.
403 InvalidNetworkType.Conflict The parameter SecurityGroup network type should be same with SourceGroup network type (vpc or classic). The error message returned because the network type of the specified security group is different from that of the source group.
403 InvalidOperation.ResourceManagedByCloudProduct %s The error message returned because security groups managed by cloud services cannot be modified.
403 LimitExceed.PrefixListAssociationResource The number of resources associated with the prefix list exceeds the limit. The error message returned because the maximum amount of resources that can be associated with the prefix list has been reached.
404 InvalidSecurityGroupId.NotFound The specified SecurityGroupId does not exist. The error message returned because the specified security group does not exist in this account. Check whether the security group ID is correct.
404 InvalidDestGroupId.NotFound The DestGroupId provided does not exist in our records. The error message returned because the specified DestGroupId parameter does not exist.
404 InvalidPrefixListId.NotFound The specified prefix list was not found. The error message returned because the specified prefix list does not exist.
404 InvalidSecurityGroupId.NotFound %s The error message returned because the specified SecurityGroupId parameter does not exist.
500 InternalError The request processing has failed due to some unknown error. The error message returned because an internal error has occurred. Try again later. If the error persists, submit a ticket.

For a list of error codes, visit the API Error Center.