All Products
Search
Document Center

Elastic Compute Service:AuthorizeSecurityGroup

Last Updated:May 16, 2024

Creates inbound rules in a security group. You can use the created rules to allow or deny inbound traffic from other hosts to instances in the security group.

Operation description

Take note of the following items:

  • The total number of outbound and inbound rules in each security group cannot exceed 200. For more information, see the "Security group limits" section in Limits .

  • 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.

  • The source can be a CIDR block that is specified by SourceCidrIp, Ipv6SourceCidrIp, or SourcePrefixListId. The source can also be Elastic Compute Service (ECS) instances in a security group that is specified by SourceGroupId.

  • You cannot reference security groups as sources or destinations in the rules of advanced security groups.

  • You can reference up to 20 security groups as sources or destinations in the rules of each basic security group.

  • If the specified security group rule already 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 at the same time. We recommend that you use the Permissions.N-prefixed parameters.

  • 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 inbound security group rule that controls access from a specific CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and SourceCidrIp. For a security group of the Virtual Private Cloud (VPC) type, you must set NicType to intranet. For a security group of the classic network type, you can set NicType to either internet or intranet. Sample request:

      http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup
      &SecurityGroupId=sg-bp67acfmxazb4p****
      &Permissions.1.SourceCidrIp=10.0.0.0/8
      &Permissions.1.IpProtocol=TCP
      &Permissions.1.PortRange=22/22
      &Permissions.1.NicType=intranet
      &Permissions.1.Policy=Accept
      &<Common request parameters>
      
    • Parameters used to determine an inbound security group rule that controls access from a security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, SourceGroupOwnerAccount, and SourceGroupId. In this case, you must set NicType to intranet. For mutual access between security groups in the classic network, you can allow or deny another security group within the same region access to your security group. The security group that is allowed access to your security group can belong to your own Alibaba Cloud account or another Alibaba Cloud account specified by SourceGroupOwnerAccount. For mutual access between security groups in VPCs, you can allow or deny another security group within the same VPC access to your security group. Sample request:

      http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup
      &SecurityGroupId=sg-bp67acfmxazb4p****
      &Permissions.1.SourceGroupId=sg-1651FBB**
      &Permissions.1.SourceGroupOwnerAccount=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 determine an inbound security group rule that controls access from a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and SourcePrefixListId. In this case, prefix lists support only security groups in VPCs. NicType must be set to intranet. Sample request:

      http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup
      &SecurityGroupId=sg-bp67acfmxazb4p****
      &Permissions.1.SourcePrefixListId=pl-x1j1k5ykzqlixdcy****
      &Permissions.1.SourceGroupOwnerAccount=test@aliyun.com
      &Permissions.1.IpProtocol=TCP
      &Permissions.1.PortRange=22/22
      &Permissions.1.NicType=intranet
      &Permissions.1.Policy=Drop
      &<Common request parameters>
      
  • For information about examples on security group rule settings, see Security groups for different use cases and Security group quintuple rules.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

There is currently no authorization information disclosed in the API.

Request parameters

ParameterTypeRequiredDescriptionExample
RegionIdstringYes

The region ID of the 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 How to ensure idempotence.

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

The ID of the security group.

sg-bp67acfmxazb4p****
Permissionsobject []No

Security group rule N. Valid values of N: 1 to 100.

PolicystringNo

The action of security group rule N that determines whether to allow inbound 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.

accept
PrioritystringNo

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

Default value: 1.

Valid values of N: 1 to 100.

1
IpProtocolstringNo

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.

ALL
SourceCidrIpstringNo

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

Valid values of N: 1 to 100.

10.0.0.0/8
Ipv6SourceCidrIpstringNo

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

Valid values of N: 1 to 100.

Note This parameter takes effect only if the sources are ECS instances that reside in VPCs and support IPv6 CIDR blocks. You cannot specify this parameter and SourceCidrIp at the same time.
2001:250:6000::***
SourceGroupIdstringNo

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

  • At least one of SourceGroupId, SourceCidrIp, Ipv6SourceCidrIp, and SourcePrefixListId must be specified.
  • If SourceGroupId is specified but SourceCidrIp or Ipv6SourceCidrIp is not specified, NicType must be set to intranet.
  • If both SourceGroupId and SourceCidrIp are specified, SourceCidrIp 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, up to 20 security groups can be used as authorization objects.
sg-bp67acfmxazb4p****
SourcePrefixListIdstringNo

The ID of the source prefix list to which you want to control access. You can call the DescribePrefixLists operation to query the IDs of available prefix lists.

Valid values of N: 1 to 100.

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 SourceCidrIp, Ipv6SourceCidrIp, or SourceGroupId, this parameter is ignored.
pl-x1j1k5ykzqlixdcy****
PortRangestringNo

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

  • If you set IpProtocol 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.
  • 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.

For more information, see Typical applications of commonly used ports.

Valid values of N: 1 to 100.

80/80
DestCidrIpstringNo

The destination 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.

10.0.0.0/8
Ipv6DestCidrIpstringNo

The destination 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 This parameter is valid only when the source is ECS instances that reside in VPCs and support IPv6 CIDR blocks. You cannot specify both this parameter and the DestCidrIp parameter.
2001:250:6000::***
SourcePortRangestringNo

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

  • If you set IpProtocol 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.
  • 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 specified to meet quintuple rules. For more information, see Security group quintuple rules.

Valid values of N: 1 to 100.

7000/8000
SourceGroupOwnerAccountstringNo

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

  • If you do not specify SourceGroupOwnerAccount and SourceGroupOwnerId, access permissions are configured for another security group managed by your account.
  • If you specify SourceCidrIp, SourceGroupOwnerAccount becomes invalid.

Valid values of N: 1 to 100.

test@aliyun.com
SourceGroupOwnerIdlongNo

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

  • If you do not specify SourceGroupOwnerAccount and SourceGroupOwnerId, access permissions are configured for another security group managed by your account.
  • If you specify SourceCidrIp, SourceGroupOwnerAccount is ignored.

Valid values of N: 1 to 100.

1234567890
NicTypestringNo

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.

intranet
DescriptionstringNo

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

Valid values of N: 1 to 100.

This is description.
PolicydeprecatedstringNo

This parameter is deprecated. Use Permissions.N.Policy to specify whether to allow 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 transport layer protocol.

ALL
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:250:6000::***
SourceGroupIddeprecatedstringNo

This parameter is deprecated. Use Permissions.N.SourceGroupId to specify the ID of the source security group.

sg-bp67acfmxazb4p****
SourcePrefixListIddeprecatedstringNo

This parameter is deprecated. Use Permissions.N.SourcePrefixListId to specify the ID of the source prefix list.

pl-x1j1k5ykzqlixdcy****
PortRangedeprecatedstringNo

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

22/22
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.Ipv6SourceCidrIp to specify the source IPv6 CIDR block.

2001:250:6000::***
SourcePortRangedeprecatedstringNo

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

22/22
SourceGroupOwnerAccountdeprecatedstringNo

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

test@aliyun.com
SourceGroupOwnerIddeprecatedlongNo

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

1234567890
NicTypedeprecatedstringNo

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

intranet
DescriptiondeprecatedstringNo

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

This is description.

Response parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The ID of the request.

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.
400InvalidSourceCidrIp.MalformedThe specified parameter SourceCidrIp is not valid.The specified source CIDR block 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.
400InvalidSourceGroupId.MismatchSpecified security group and source group are not in the same VPC.The specified source and destination security groups do not belong to the same VPC.
400InvalidSourceGroup.NotFoundSpecified source security group does not exist.The specified inbound security group rule does not exist, or required parameters are not specified.
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.
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.SourceOne of the parameters SourceCidrIp, Ipv6SourceCidrIp, SourceGroupId or SourcePrefixListId in %s must be specified.At least one of the SourceCidrIp, SourceGroupId, and SourcePrefixListId parameters must be specified.
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.
400InvalidDestCidrIp.MalformedThe specified parameter DestCidrIp is not valid.The specified DestCidrIp parameter is invalid.
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.SourceCidrIpThe specified parameter %s is not valid.The specified SourceCidrIp parameter is invalid.
400InvalidParam.DestCidrIpThe specified parameter %s is not valid.The specified DestCidrIp parameter is invalid.
400InvalidParam.SourceCidrIpThe specified param SourceCidrIp is not valid.The specified SourceCidrIp parameter is invalid.
400InvalidParam.DestCidrIpThe specified param DestCidrIp is not valid.The specified DestCidrIp parameter is invalid.
400MissingParameter%sA parameter is not specified.
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.
403InvalidSourceGroupId.MismatchNicType is required or NicType expects intranet.The NicType parameter is not specified or is not set to intranet.
403MissingParameterThe input parameter SourceGroupId or SourceCidrIp cannot be both blank.At least one of the SourceGroupId and SourceCidrIp parameters must be specified.
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.MismatchThe 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.
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.
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.
404InvalidSourceGroupId.NotFoundThe SourceGroupId provided does not exist in our records.The specified SourceGroupId parameter does not exist.
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 changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    delete Error Codes: 403
    delete Error Codes: 404
    delete Error Codes: 500
2023-04-07The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    Error Codes 500 change
    delete Error Codes: 403
    delete Error Codes: 404
2022-09-05The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    Error Codes 403 change
    delete Error Codes: 404
    delete Error Codes: 500
2022-07-13API Description Update. The Error code has changed. The request parameters of the API has changedsee changesets
Change itemChange content
API DescriptionAPI Description Update.
Error CodesThe Error code has changed.
    Error Codes 400 change
    Error Codes 500 change
    delete Error Codes: 403
    delete Error Codes: 404
Input ParametersThe request parameters of the API has changed.
    Added Input Parameters: Permissions
2022-03-30The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    Error Codes 404 change
    delete Error Codes: 403
    delete Error Codes: 500