All Products
Search
Document Center

Elastic Compute Service:AuthorizeSecurityGroupEgress

Last Updated:Nov 21, 2024

Creates outbound rules in a security group. You can use the created rules to allow or deny outbound traffic from Elastic Compute Service (ECS) instances in the security group to other objects for fine-grained network access control.

Operation description

Limits

  • Quantity limit: The total number of outbound security group rules in each security group cannot exceed 200. For more information, see the Security group limits section of the "Limits" topic.
  • Rule types: For outbound security group rules, you can set Policy to accept or drop to specify whether to allow or deny access.
  • Rule priorities: For outbound security group rules, the valid values of Priority range from 1 to 100. A smaller value indicates a higher priority. When multiple security group rules have the same priority, drop rules take precedence.

Considerations

  • If the security group rule that you call the AuthorizeSecurityGroupEgress operation to create exists in the security group, the call is successful but no security group rule is created.
  • Parameters and their Permissions.N-prefixed counterparts cannot be specified in the same request. We recommend that you use the Permissions.N-prefixed parameters.

Parameters that define a security group rule

Define a security group rule by configuring the following parameters together:

  • One of the following parameters: DestCidrIp, Ipv6DestCidrIp, DestPrefixListId, and DestGroupId. DestCidrIp specifies the destination IPv4 CIDR block. Ipv6DestCidrIp specifies the destination IPv6 CIDR block. DestPrefixListId specifies the ID of the destination prefix list. DestGroupId specifies the destination security group.
  • PortRange: specifies the range of destination port numbers.
  • IpProtocol: specifies the protocol.
  • Policy: specifies the action.
Note Advanced security groups do not support security group rules that reference security groups as authorization objects. Each basic security group can contain up to 20 security group rules that reference security groups as authorization objects.

Sample requests

Sample requests to create outbound security group rules that control access to different destinations in a security group in the China (Hangzhou) region:

  • Sample request to create an outbound security group rule that controls access to a specific CIDR block:

    "RegionId":"cn-hangzhou",  //The region ID of the source security group.
    "SecurityGroupId":"sg-bp17vs63txqxbds9***", //The ID of the source security group.
    "Permissions":[
         {
           "DestCidrIp": "10.0.0.0/8", //The destination IPv4 CIDR block.
           "PortRange": "-1/-1", //The range of destination port numbers.
           "IpProtocol": "ICMP", //The protocol.
           "Policy": "Accept" //The action.
         }
    ]
    
  • Sample request to create an outbound security group rule that controls access to a security group and an outbound security group rule that controls access to a prefix list:

    "RegionId":"cn-hangzhou",
    "SecurityGroupId":"sg-bp17vs63txqxbds9***",
    "Permissions":[
         {
           "DestGroupId": "sg-bp67acfmxazb4pi***", //The ID of the destination security group.
           "PortRange": "22/22",
           "IpProtocol": "TCP",
           "Policy": "Drop"
         },{
           "DestPrefixListId": "pl-x1j1k5ykzqlixdcy****", //The ID of the destination prefix list.
           "PortRange": "22/22",
           "IpProtocol": "TCP",
           "Policy": "Drop"
         }
    ]
    

Debugging

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
ecs:AuthorizeSecurityGroupEgresscreate
*SecurityGroup
acs:ecs:{#regionId}:{#accountId}:securitygroup/{#securitygroupId}
  • ecs:SecurityGroupIpProtocols
  • ecs:SecurityGroupSourceCidrIps
none

Request parameters

ParameterTypeRequiredDescriptionExample
RegionIdstringYes

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

cn-hangzhou
ClientTokenstringNo

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

123e4567-e89b-12d3-a456-426655440000
SecurityGroupIdstringYes

The security group ID.

sg-bp67acfmxazb4p****
Permissionsarray<object>No

The security group rules. Valid values of N: 1 to 100.

objectNo

Security group rule N.

PolicystringNo

The action of the security group rule. Valid values:

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

Default value: accept.

accept
PrioritystringNo

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

Default value: 1.

1
IpProtocolstringNo

The protocol. The values of this parameter are case-insensitive. Valid values:

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

The destination IPv4 CIDR block of the security group rule. IPv4 CIDR blocks and IPv4 addresses are supported.

10.0.0.0/8
Ipv6DestCidrIpstringNo

The destination IPv6 CIDR block of the security group rule. IPv6 CIDR blocks and IPv6 addresses are supported.

Note This parameter is valid only for ECS instances that reside in virtual private clouds (VPCs) and support IPv6 CIDR blocks. You cannot specify this parameter and DestCidrIp in the same request.
2001:db8:1233:1a00::***
DestGroupIdstringNo

The ID of the destination security group.

  • You must specify at least one of the following parameters: DestGroupId, DestCidrIp, Ipv6DestCidrIp, and DestPrefixListId.
  • If you specify DestGroupId but do not specify DestCidrIp, you must set NicType to intranet.
  • If you specify both DestGroupId and DestCidrIp, DestCidrIp takes precedence.

When you specify this parameter, take note of the following items:

  • Advanced security groups do not support security group rules that reference security groups as authorization objects.
  • Each basic security group can contain up to 20 security group rules that reference security groups as authorization objects.
sg-bp67acfmxazb4p****
DestPrefixListIdstringNo

The ID of the destination prefix list. You can call the DescribePrefixLists operation to query the IDs of available prefix lists.

When you specify this parameter, take note of the following items:

  • If a security group resides in the classic network, you cannot specify prefix lists in the rules of the security group. For information about the limits on security groups and prefix lists, see the Security group limits section of the "Limits and quotas" topic.
  • If you specify DestCidrIp, Ipv6DestCidrIp, or DestGroupId, this parameter is ignored.
pl-x1j1k5ykzqlixdcy****
PortRangestringNo

The range of destination port numbers for the protocols specified in the security group rule. Valid values:

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

The source IPv4 CIDR block. IPv4 CIDR blocks and IPv4 addresses are supported.

This parameter is used to support quintuple rules. For more information, see Security group quintuple rules.

10.0.0.0/8
Ipv6SourceCidrIpstringNo

The source IPv6 CIDR block. IPv6 CIDR blocks and IPv6 addresses are supported.

This parameter is used to support quintuple rules. For more information, see Security group quintuple rules.

Note This parameter is valid only for ECS instances that reside in VPCs and support IPv6 CIDR blocks. You cannot specify this parameter and DestCidrIp in the same request.
2001:db8:1234:1a00::***
SourcePortRangestringNo

The range of source port numbers for the protocols specified in the security group rule. Valid values:

  • If you set IpProtocol to TCP or UDP, the port number range is 1 to 65535. Specify a port number range in the format of <Start port number>/<End port number>. Example: 1/200.
  • If you set IpProtocol to ICMP, the port number range is -1/-1.
  • If you set IpProtocol to GRE, the port number range is -1/-1.
  • If you set IpProtocol to ALL, the port number range is -1/-1.

This parameter is used to support quintuple rules. For more information, see Security group quintuple rules.

80/80
DestGroupOwnerAccountstringNo

The Alibaba Cloud account that manages the destination security group.

  • If both DestGroupOwnerAccount and DestGroupOwnerId are empty, the rule is created to control access to another security group in your Alibaba Cloud account.
  • If DestCidrIp is configured, DestGroupOwnerAccount is ignored.
Test@aliyun.com
DestGroupOwnerIdlongNo

The ID of the Alibaba Cloud account that manages the destination security group.

  • If both DestGroupOwnerId and DestGroupOwnerAccount are empty, the rule is created to control access to another security group in your Alibaba Cloud account.
  • If you specify DestCidrIp, DestGroupOwnerId is ignored.
12345678910
NicTypestringNo

The network interface controller (NIC) type of the security group rule if the security group resides in the classic network. Valid values:

  • internet: public NIC.

  • intranet: internal NIC.

    • If the security group resides in a VPC, this parameter is set to intranet by default and cannot be changed.
    • If you specify only DestGroupId to create a rule that controls access to the specified security group, you must set this parameter to intranet.

Default value: internet.

intranet
DescriptionstringNo

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

This is description.
PolicydeprecatedstringNo

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

accept
PrioritydeprecatedstringNo

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

1
IpProtocoldeprecatedstringNo

This parameter is deprecated. Use Permissions.N.IpProtocol to specify the protocol.

ALL
DestCidrIpdeprecatedstringNo

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

10.0.0.0/8
Ipv6DestCidrIpdeprecatedstringNo

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

2001:db8:1233:1a00::***
DestGroupIddeprecatedstringNo

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

sg-bp67acfmxazb4p****
DestPrefixListIddeprecatedstringNo

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

pl-x1j1k5ykzqlixdcy****
PortRangedeprecatedstringNo

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

80/80
SourceCidrIpdeprecatedstringNo

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

10.0.0.0/8
Ipv6SourceCidrIpdeprecatedstringNo

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

2001:db8:1234:1a00::***
SourcePortRangedeprecatedstringNo

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

80/80
DestGroupOwnerAccountdeprecatedstringNo

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

Test@aliyun.com
DestGroupOwnerIddeprecatedlongNo

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

12345678910
NicTypedeprecatedstringNo

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

intranet
DescriptiondeprecatedstringNo

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

This is description.

Response parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The request ID.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

Examples

Sample success responses

JSONformat

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

Error codes

HTTP status codeError codeError messageDescription
400OperationDeniedThe specified IpProtocol does not exist or IpProtocol and PortRange do not match.The specified IP protocol does not exist or does not match the specified port range.
400InvalidIpProtocol.MalformedThe specified parameter PortRange is not valid.The specified IpProtocol or PortRange parameter is invalid.
400InvalidDestCidrIp.MalformedThe specified parameter DestCidrIp is not valid.The specified DestCidrIp parameter is invalid.
400InvalidPolicy.MalformedThe specified parameter Policy is not valid.The specified Policy parameter is invalid.
400InvalidNicType.ValueNotSupportedThe specified NicType does not exist.The specified NicType parameter does not exist.
400InvalidNicType.MismatchThe specified NicType conflicts with the authorization record.The specified NIC type does not match the existing rule.
400InvalidDestGroupId.MismatchSpecified security group and destination group are not in the same VPC.The specified source and destination security groups do not belong to the same VPC.
400InvalidDestGroup.NotFoundSpecified destination security group does not exist.The specified DestGroupId parameter does not exist.
400InvalidPriority.MalformedThe parameter Priority is invalid.The specified Priority parameter is invalid.
400InvalidPriority.ValueNotSupportedThe specified parameter %s is invalid.The specified Priority parameter is invalid.
400InvalidDestCidrIp.MalformedThe parameter DestCidrIp is not valid.The specified DestCidrIp parameter is invalid.
400InvalidNicType.ValueNotSupportedThe specified parameter %s is not valid.The specified NicType parameter is invalid.
400InvalidPolicy.MalformedThe specified parameter %s is not valid.The specified Policy parameter is invalid.
400InvalidSecurityGroupDiscription.MalformedThe specified security group rule description parameter %s is not valid.The specified security group rule description is invalid.
400InvalidSecurityGroup.InvalidNetworkTypeThe 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 operation is not supported while the security group is of the current network type. If the network type is VPC, ClassicLink must be enabled.
400MissingParameter.DestOne of the parameters DestCidrIp, Ipv6DestCidrIp, DestGroupId or DestPrefixListId in %s must be specified.Specify at least one of the DestCidrIp, Ipv6DestCidrIp, DestGroupId, and DestPrefixListId parameters.
400InvalidParam.PortRangeThe specified parameter %s is not valid. It should be two integers less than 65535 in ?/? format.The format of the port range is invalid. Specify the port range in the format of a slash separating two integers.
400InvalidIpProtocol.ValueNotSupportedThe parameter %s must be specified with case insensitive TCP, UDP, ICMP, GRE or All.The specified Protocol parameter is invalid. You must set Protocol to a vaule that is case-insensitive, such as TCP, UDP, ICMP, GRE, and All.
400InvalidSecurityGroupId.MalformedThe specified parameter SecurityGroupId is not valid.The specified SecurityGroupId parameter is invalid.
400InvalidParamter.ConflictThe specified SourceCidrIp should be different from the DestCidrIp.The value of SourceCidrIp must be different from that of DestCidrIp.
400InvalidSourcePortRange.MalformedThe specified parameter SourcePortRange is not valid.The specified SourcePortRange parameter is invalid.
400InvalidPortRange.MalformedThe specified parameter PortRange must set.The PortRange parameter must be specified.
400InvalidParam.SourceIpThe Parameters SourceCidrIp and Ipv6SourceCidrIp in %s cannot be set at the same time.The SourceCidrIp and Ipv6SourceCidrIp parameters cannot be specified at the same time.
400InvalidParam.DestIpThe Parameters DestCidrIp and Ipv6DestCidrIp in %s cannot be set at the same time.The DestCidrIp and Ipv6DestCidrIp parameters cannot be specified at the same time.
400InvalidParam.Ipv6DestCidrIpThe specified parameter %s is not valid.The specified Ipv6DestCidrIp parameter is invalid.
400InvalidParam.Ipv6SourceCidrIpThe specified parameter %s is not valid.The specified Ipv6SourceCidrIp parameter is invalid.
400InvalidParam.Ipv4ProtocolConflictWithIpv6AddressIPv6 address cannot be specified for IPv4-specific protocol.IPv6 addresses cannot be specified for instances that use the IPv4 protocol.
400InvalidParam.Ipv6ProtocolConflictWithIpv4AddressIPv4 address cannot be specified for IPv6-specific protocol.IPv4 addresses cannot be specified for instances that use the IPv6 protocol.
400InvalidParameter.Ipv6CidrIpThe specified Ipv6CidrIp is not valid.The specified Ipv6CidrIp parameter is invalid.
400InvalidGroupAuthParameter.OperationDeniedThe security group can not authorize to enterprise level security group.Security groups cannot be referenced as authorization objects (destinations or sources) in rules of advanced security groups.
400InvalidParameter.ConflictIPv6 and IPv4 addresses cannot exist at the same time.IPv6 and IPv4 addresses cannot be both specified.
400InvalidParam.PrefixListAddressFamilyMismatchThe address family of the specified prefix list does not match the specified CidrIp.The address family of the specified prefix list does not match that of the specified CIDR block.
400NotSupported.ClassicNetworkPrefixListThe prefix list is not supported when the network type of security group is classic.Security groups in the classic network do not support prefix lists.
400AuthorizedGroupRule.LimitExceedYou have reached the limit on the number of group authorization rules that you can add to a security group.When authorization object of rule is security group, the limit is 20.Up to 20 rules in which security groups are specified as authorization objects can be present in a basic security group.
400InvalidParam.DestCidrIpThe specified parameter %s is not valid.The specified DestCidrIp parameter is invalid.
400InvalidParam.DestCidrIpThe specified parameter DestCidrIp is invalid.The specified DestCidrIp parameter is invalid.
400InvalidParam.SourceCidrIpThe specified param SourceCidrIp is not valid.The specified SourceCidrIp parameter is invalid.
400InvalidParam.SourceCidrIpThe specified parameter %s is not valid.The specified SourceCidrIp parameter is invalid.
400InvalidParam.PermissionsThe specified parameter Permissions cannot coexist with other parameters.The specified Permissions parameter and other parameters are mutually exclusive.
400InvalidParam.DuplicatePermissionsThere are duplicate permissions in the specified parameter Permissions.The specified Permissions parameter contains duplicate permissions.
400InvalidGroupParameter.OperationDeniedThe attributes Policy, SourceGroupId, DestGroupId of enterprise level security groups are not allowed to be set or modified.The attributes Policy, SourceGroupId, DestGroupId of enterprise level security groups are not allowed to be set or modified.
403InvalidDestGroupId.MismatchNicType is required or NicType expects intranet.The NicType parameter is not specified or is not set to intranet.
403MissingParameterThe input parameter DestGroupId or DestCidrIp cannot be both blank.The DestGroupId and DestCidrIp parameters are required.
403AuthorizationLimitExceedThe limit of authorization records in the security group reaches.The security group has reached the maximum number of rules that can be added to it.
403InvalidParamter.ConflictThe specified SecurityGroupId should be different from the SourceGroupId.The destination security group is the same as the source security group.
403InvalidNetworkType.ConflictThe specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic).The network type of the destination security group is different from that of the source security group.
403InvalidSecurityGroup.IsSameThe authorized SecurityGroupId should be different from the DestGroupId.The ID of the source security group is the same as that of the destination security group.
403InvalidNetworkType.ConflictThe parameter SecurityGroup network type should be same with SourceGroup network type (vpc or classic).The network type of the specified security group is different from that of the source security group.
403InvalidOperation.ResourceManagedByCloudProduct%sYou cannot modify security groups managed by cloud services.
403LimitExceed.PrefixListAssociationResourceThe number of resources associated with the prefix list exceeds the limit.The maximum number of resources that can be associated with the prefix list has been exceeded.
404InvalidSecurityGroupId.NotFoundThe specified SecurityGroupId does not exist.The specified security group does not exist in this account. Check whether the security group ID is correct.
404InvalidDestGroupId.NotFoundThe DestGroupId provided does not exist in our records.-
404InvalidPrefixListId.NotFoundThe specified prefix list was not found.The prefix list does not exist.
404InvalidSecurityGroupId.NotFound%sThe specified security group ID does not exist.
500InternalErrorThe request processing has failed due to some unknown error.An internal error has occurred. Try again later.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2023-11-21The Error code has changedView Change Details
2023-04-07The Error code has changedView Change Details
2022-09-05The Error code has changedView Change Details
2022-07-13API Description Update. The Error code has changed. The request parameters of the API has changedView Change Details
2022-03-30The Error code has changedView Change Details