调用AuthorizeSecurityGroupEgress增加一条或多条安全组出方向规则。指定安全组出方向的访问权限,允许或者拒绝安全组里的实例发送出方向流量到其他设备。

接口说明

安全组的API文档中,流量的发起端为源端(Source),数据传输的接收端为目的端(Dest)。

调用该接口时,您需要了解:

  • 出方向和入方向安全组规则数量不能超过200条。具体限制请参见安全组使用限制
  • 安全组规则分为接受访问(accept)和拒绝访问(drop)两类。
  • 安全组规则优先级(Priority)可选范围为1~100。数字越小,代表优先级越高。
  • 优先级相同的安全组规则,优先以拒绝访问(drop)的规则为准。
  • 目的端设备可以是指定的IP地址范围(DestCidrIp、Ipv6DestCidrIp、DestPrefixListId),也可以是其他安全组(DestGroupId)中的ECS实例。
  • 企业安全组不支持授权其他安全组访问。
  • 普通安全组支持授权的安全组数量最多为20个。
  • 如果指定的安全组规则已存在,此次调用成功,但不会增加规则。
  • Permissions.N前缀的字段和对应不带前缀的字段不能同时指定,建议您使用Permissions.N前缀的字段。
  • 以下任意一组参数可以确定一条安全组规则,只指定一个参数无法确定一条安全组规则。
    • 设置指定IP地址段的访问权限。如以下请求示例:IpProtocol、PortRange、(可选)SourcePortRange、NicType、Policy和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
              &<公共请求参数>
              
    • 设置其他安全组的访问权限。如以下请求示例:IpProtocol、PortRange、(可选)SourcePortRange、NicType、Policy、DestGroupOwnerAccount和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
              &<公共请求参数>
              
    • 在安全组规则中设置前缀列表的访问权限。此时,前缀列表仅支持网络类型为VPC的安全组,网卡类型(NicType)只可设置为内网(intranet)。如以下请求示例:IpProtocol、PortRange、(可选)SourcePortRange、NicType、Policy和DestPrefixListId。
      
              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
              &<公共请求参数>
              

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String AuthorizeSecurityGroupEgress

系统规定参数。取值:AuthorizeSecurityGroupEgress

RegionId String cn-hangzhou

源端安全组所属地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

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

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多信息,请参见如何保证幂等性

SecurityGroupId String sg-bp67acfmxazb4p****

安全组ID。

Permissions.N.Policy String accept

设置访问权限。取值范围:

  • accept:接受访问。
  • drop:拒绝访问,不返回拒绝信息,表现为发起端请求超时或者无法建立连接的类似信息。

默认值:accept。

N的取值范围:1~100。

Permissions.N.Priority String 1

安全组规则优先级。数字越小,代表优先级越高。取值范围:1~100。

默认值:1。

N的取值范围:1~100。

Permissions.N.IpProtocol String ALL

传输层协议。取值不区分大小写。取值范围:

  • TCP。
  • UDP。
  • ICMP。
  • ICMPv6。
  • GRE。
  • ALL:支持所有协议。

N的取值范围:1~100。

Permissions.N.DestCidrIp String 10.0.0.0/8

需要设置访问权限的目的端IPv4 CIDR地址块。支持CIDR格式和IPv4格式的IP地址范围。

N的取值范围:1~100。

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

需要设置访问权限的目的端IPv6 CIDR地址块。支持CIDR格式和IPv6格式的IP地址范围。

N的取值范围:1~100。

说明 仅在支持IPv6的VPC类型ECS实例上有效,且该参数与DestCidrIp参数不可同时设置。
Permissions.N.DestGroupId String sg-bp67acfmxazb4p****

需要设置访问权限的目的端安全组ID。

  • 至少设置DestGroupIdDestCidrIpIpv6DestCidrIpDestPrefixListId参数中的一项。
  • 如果指定了DestGroupId没有指定参数DestCidrIp,则参数NicType取值只能为intranet。
  • 如果同时指定了DestGroupIdDestCidrIp,则默认以DestCidrIp为准。

N的取值范围:1~100。

您需要注意:

  • 企业安全组不支持授权安全组访问。
  • 普通安全组支持授权的安全组数量最多为20个。
Permissions.N.DestPrefixListId String pl-x1j1k5ykzqlixdcy****

需要设置访问权限的目的端前缀列表ID。您可以调用DescribePrefixLists查询可以使用的前缀列表ID。

注意事项:

  • 安全组的网络类型为经典网络时,不支持设置前缀列表。关于安全组以及前缀列表使用限制的更多信息,请参见安全组使用限制
  • 当您指定了DestCidrIpIpv6DestCidrIpDestGroupId参数中的一个时,将忽略该参数。

N的取值范围:1~100。

Permissions.N.PortRange String 80/80

安全组开放的传输层协议相关的目的端口范围。取值范围:

  • TCP/UDP:取值范围为1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。
  • ICMP:-1/-1。
  • GRE:-1/-1。
  • ALL:-1/-1。

N的取值范围:1~100。

Permissions.N.SourceCidrIp String 10.0.0.0/8

源端IPv4 CIDR地址段。支持CIDR格式和IPv4格式的IP地址范围。

用于支持五元组规则,请参见安全组五元组规则

N的取值范围:1~100。

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

源端IPv6 CIDR地址段。支持CIDR格式和IPv6格式的IP地址范围。

用于支持五元组规则,请参见安全组五元组规则

N的取值范围:1~100。

说明 仅在支持IPv6的VPC类型ECS实例上有效,且该参数与DestCidrIp参数不可同时设置。
Permissions.N.SourcePortRange String 80/80

安全组开放的传输层协议相关的源端端口范围。取值范围:

  • TCP/UDP协议:1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。
  • ICMP协议:-1/-1。
  • GRE协议:-1/-1。
  • ALL:-1/-1。

用于支持五元组规则,请参见安全组五元组规则

N的取值范围:1~100。

Permissions.N.DestGroupOwnerAccount String Test@aliyun.com

跨账户设置安全组规则时,目的端安全组所属的阿里云账户。

  • 如果DestGroupOwnerAccountDestGroupOwnerId均未设置,则认为是设置您其他安全组的访问权限。
  • 如果已经设置参数DestCidrIp,则参数DestGroupOwnerAccount无效。

N的取值范围:1~100。

Permissions.N.DestGroupOwnerId Long 12345678910

跨账户设置安全组规则时,目的端安全组所属的阿里云账户ID。

  • 如果DestGroupOwnerIdDestGroupOwnerAccount均未设置,则认为是设置您其他安全组的访问权限。
  • 如果您已经设置参数DestCidrIp,则参数DestGroupOwnerId无效。

N的取值范围:1~100。

Permissions.N.NicType String intranet

经典网络类型安全组规则的网卡类型。取值范围:

  • internet:公网网卡。
  • intranet:内网网卡。
    • 专有网络VPC类型安全组规则无需设置网卡类型,默认为intranet,只能为intranet。
    • 设置安全组之间互相访问时,即仅指定了DestGroupId参数时,只能为intranet。

默认值:internet。

N的取值范围:1~100。

Permissions.N.Description String This is description.

安全组规则的描述信息。长度为1~512个字符。

N的取值范围:1~100。

Policy String accept

已废弃。请使用Permissions.N.Policy来设置访问权限。

Priority String 1

已废弃。请使用Permissions.N.Priority来指定规则优先级。

IpProtocol String ALL

已废弃。请使用Permissions.N.IpProtocol来指定传输层协议。

DestCidrIp String 10.0.0.0/8

已废弃。请使用Permissions.N.DestCidrIp来指定目的端IPv4 CIDR地址块。

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

已废弃。请使用Permissions.N.Ipv6DestCidrIp来指定目的端IPv6 CIDR地址块。

DestGroupId String sg-bp67acfmxazb4p****

已废弃。请使用Permissions.N.DestGroupId来指定目的端安全组ID。

DestPrefixListId String pl-x1j1k5ykzqlixdcy****

已废弃。请使用Permissions.N.DestPrefixListId来指定源端前缀列表ID。

PortRange String 80/80

已废弃。请使用Permissions.N.PortRange来指定端口范围。

SourceCidrIp String 10.0.0.0/8

已废弃。请使用Permissions.N.SourceCidrIp来指定源端IPv4 CIDR地址段。

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

已废弃。请使用Permissions.N.Ipv6SourceCidrIp来指定源端IPv6 CIDR地址段。

SourcePortRange String 80/80

已废弃。请使用Permissions.N.SourcePortRange来指定源端端口范围。

DestGroupOwnerAccount String Test@aliyun.com

已废弃。请使用Permissions.N.DestGroupOwnerAccount来指定目的端安全组所属的阿里云账户。

DestGroupOwnerId Long 12345678910

已废弃。请使用Permissions.N.DestGroupOwnerId来指定目的端安全组所属的阿里云账户ID。

NicType String intranet

已废弃。请使用Permissions.N.NicType来指定网卡类型。

Description String This is description.

已废弃。请使用Permissions.N.Description来指定规则的描述。

返回数据

名称 类型 示例值 描述
RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

请求ID。

示例

请求示例

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
&公共请求参数

正常返回示例

XML格式

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

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

JSON格式

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

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

错误码

HttpCode 错误码 错误信息 描述
400 OperationDenied The specified IpProtocol does not exist or IpProtocol and PortRange do not match. 指定的IP协议不存在,或与端口范围不匹配。
400 InvalidIpProtocol.Malformed The specified parameter "PortRange" is not valid. IP协议参数格式不正确,PortRange参数不正确。
400 InvalidDestCidrIp.Malformed The specified parameter "DestCidrIp" is not valid. 指定的DestCidrIp无效,请您检查该参数是否正确。
400 InvalidPolicy.Malformed The specified parameter "Policy" is not valid. 指定的参数无效,请您检查该参数是否正确。
400 InvalidNicType.ValueNotSupported The specified NicType does not exist. 指定的网络类型不存在,请您检查网络类型是否正确。
400 InvalidNicType.Mismatch Specified nic type conflicts with the authorization record. 指定的NIC类型与规则信息冲突。
400 InvalidDestGroupId.Mismatch Specified security group and destination group are not in the same VPC. 指定的安全组和目标组不在同一个VPC下。
400 InvalidDestGroup.NotFound Specified destination security group does not exist. 指定的出方向安全组不存在。
400 VPCDisabled Can't use the SecurityGroup in VPC. VPC 不支持安全组。
400 InvalidPriority.Malformed The parameter Priority is invalid. 指定的参数Priority无效。
400 InvalidDestCidrIp.Malformed The specified parameter DestCidrIp is not valid. 指定的DestCidrIp无效,请您检查该参数是否正确。
400 InvalidDestCidrIp.Malformed The parameter DestCidrIp is not valid. 指定的参数DestCidrIp无效。
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. 指定的安全组网络类型不支持此操作,请检查安全组网络类型。对于VPC安全组,必须启用ClassicLink。
400 InvalidParamter.Conflict The specified SourceCidrIp should be different from the DestCidrIp. 参数SourceCidrIp和DestCidrIp不能相同。
400 InvalidParam.SourceIp %s 指定的参数SourceIp无效。
400 InvalidParam.DestIp %s 指定的参数DestIp无效。
400 InvalidParam.Ipv6DestCidrIp %s 您输入的参数无效。
400 InvalidParam.Ipv6SourceCidrIp %s 您输入的参数无效。
400 InvalidParam.Ipv4ProtocolConflictWithIpv6Address %s 您输入的参数无效,请检查IPv4协议下是否填写了IPv6地址。
400 InvalidParam.Ipv6ProtocolConflictWithIpv4Address %s 您输入的参数无效,请检查IPv6协议下是否填写了IPv4地址。
400 ILLEGAL_IPV6_CIDR %s 指定的 IPv6 地址无效。
400 InvalidParameter.Conflict IPv6 and IPv4 addresses cannot exist at the same time. IPv6地址和IPv4地址不能同时指定。
400 InvalidParam.PrefixListAddressFamilyMismatch The address family of the specified prefix list does not match the specified CidrIp. 指定前缀列表的地址族,与指定的CidrIP的地址族不匹配。
400 NotSupported.ClassicNetworkPrefixList The prefix list is not supported when the network type of security group is classic. 安全组的网络类型为经典网络,不支持前缀列表。
400 InvalidParam.DestCidrIp The specified parameter DestCidrIp is invalid. 指定的参数“DestCidrIp”无效。
400 InvalidParam.SourceCidrIp The specified param SourceCidrIp is not valid. 参数 SourceCidrIp 不合法。
400 InvalidParam.Permissions The specified parameter Permissions cannot coexist with other parameters. 指定的参数Permissions不能与其他参数同时存在。
400 InvalidParam.DuplicatePermissions There are duplicate permissions in the specified parameter Permissions. 指定的参数Permissions中存在重复的规则。
403 InvalidDestGroupId.Mismatch NicType is required or NicType expects intranet. 请指定NicType,或使用内网模式。
403 MissingParameter The input parameter "DestGroupId" or "DestCidrIp" cannot be both blank. 参数DestGroupId和DestCidrIp不得为空。
403 AuthorizationLimitExceed The limit of authorization records in the security group reaches. 安全组授权规则数达到上限,请您检查授权规则是否合理。
403 InvalidParamter.Conflict The specified SecurityGroupId should be different from the SourceGroupId. 授权与被授权安全组必须不同。
403 InvalidNetworkType.Conflict The specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic). 指定的SecurityGroup的网络类型必须与SouceGroup的网络类型一致。
403 InvalidSecurityGroup.IsSame The authorized SecurityGroupId should be different from the DestGroupId. 已授权的SecurityGroupId不能与DestGroupId相同。
403 InvalidNetworkType.Conflict The parameter SecurityGroup network type should be same with SourceGroup network type (vpc or classic). 安全组网络类型必须和源安全组网络类型一致。
403 InvalidOperation.ResourceManagedByCloudProduct %s 云产品托管的安全组不支持修改操作。
403 LimitExceed.PrefixListAssociationResource The number of resources associated with the prefix list exceeds the limit. 与前缀列表关联的资源数量超出限制。
404 InvalidSecurityGroupId.NotFound The specified SecurityGroupId does not exist. 指定的安全组在该用户账号下不存在,请您检查安全组ID是否正确。
404 InvalidDestGroupId.NotFound The DestGroupId provided does not exist in our records. 指定的出方向安全组不存在。
404 InvalidPrefixListId.NotFound The specified prefix list was not found. 前缀列表不存在。
404 InvalidSecurityGroupId.NotFound %s 指定的安全组ID不存在。
500 InternalError The request processing has failed due to some unknown error. 内部错误,请重试。如果多次尝试失败,请提交工单。

访问错误中心查看更多错误码。