All Products
Search
Document Center

Elastic Compute Service:ModifySecurityGroupRule

Last Updated:Mar 19, 2024

Modifies the description of a security group rule. You can call this operation to modify only the description of a security group rule. If you want to modify other information such as the policy, port range, and authorization object of the rule, log on to the Elastic Compute Service (ECS) console.

Operation description

In the security group-related API documents, inbound traffic refers to the traffic that is sent by the source device and received at the destination device.

When you modify the rules of a security group by specifying the rule IDs, take note of the following limits:

  • A security group authorization object can be one of the following types: IP address or CIDR block, security group, or prefix list. The type of an existing security group authorization object cannot be changed. If the original authorization object is an IP address, you can change it to another IP address or a CIDR block, but not to a security group or prefix list.
  • The IP address family of the authorization object cannot be changed. For example, if the original authorization object is an IPv4 CIDR block, you cannot change it to an IPv6 CIDR block. If the original authorization object is a prefix list of an IPv4 address family, you cannot change it to a prefix list of an IPv6 address family.
  • The modified security group rule cannot be the same as other existing rules.
  • You cannot delete the value of a non-empty parameter. We recommend that you create a new rule and delete the original rule.

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 security group ID.

sg-bp67acfmxazb4p****
SecurityGroupRuleIdstringNo

The security group rule ID.
This parameter is required when you modify a security group rule based on the security group rule ID.

sgr-bp67acfmxa123b***
PolicystringNo

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

  • accept: allows access.
  • drop: denies access and returns no responses.

Default value: accept.

accept
PrioritystringNo

The priority of the security group rule. Valid values: 1 to 100.

Default value: 1.

1
IpProtocolstringNo

The transport layer protocol of the security group rule. The values of this parameter are not case-sensitive. Valid values:

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

The source IPv4 CIDR block to which you want to control access. IPv4 CIDR blocks and addresses are supported.

By default, this parameter is left empty.

10.0.0.0/8
Ipv6SourceCidrIpstringNo

The source IPv6 CIDR block to which you want to control access. IPv6 CIDR blocks and addresses are supported.

Note Only the IP addresses of instances in virtual private clouds (VPCs) are supported. You cannot specify both Ipv6SourceCidrIp and SourceCidrIp.

By default, this parameter is left empty.

2001:db8:1233:1a00::***
SourceGroupIdstringNo

The source security group ID. You must specify either SourceGroupId or SourceCidrIp or specify both of them.

  • If SourceGroupId is specified but SourceCidrIp is not specified, the value of NicType must be set to intranet.
  • If both SourceGroupId and SourceCidrIp are specified, the value of SourceCidrIp prevails by default.
sg-bp67acfmxa123b****
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.

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. Valid values:

  • If you set IpProtocol to TCP or UDP, the port number range is 1 to 65535. Separate the start port number and the end port number with a forward slash (/). 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.
80/80
DestCidrIpstringNo

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

By default, this parameter is left empty.

10.0.0.0/8
Ipv6DestCidrIpstringNo

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

Note Only the IP addresses of instances in VPCs are supported. You cannot specify both Ipv6DestCidrIp and DestCidrIp.

By default, this parameter is left empty.

2001:db8:1234:1a00::***
SourcePortRangestringNo

The range of source ports that correspond to the transport layer protocol. Valid values:

  • If you set IpProtocol to TCP or UDP, the port number range is 1 to 65535. Separate the start port number and the end port number with a forward slash (/). 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.
80/80
SourceGroupOwnerAccountstringNo

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

  • If both SourceGroupOwnerId and SourceGroupOwnerAccount are empty, access permissions are configured for another security group managed by your account.
  • If SourceCidrIp is specified, SourceGroupOwnerAccount is ignored.
EcsforCloud@Alibaba.com
SourceGroupOwnerIdlongNo

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

  • If both SourceGroupOwnerId and SourceGroupOwnerAccount are empty, access permissions are configured for another security group managed by your account.
  • If SourceCidrIp is specified, SourceGroupOwnerId is ignored.
12345678910
NicTypestringNo

You cannot modify this parameter when you modify a security group rule by specifying its ID.
You can add a new rule that meets your business requirements and delete the original rule.

intranet
DescriptionstringNo

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

This is a new security group rule.

Response parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The request ID.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

Examples

Sample success responses

JSONformat

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

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 parameter Priority is invalid.The specified Priority parameter is invalid.
400InvalidSecurityGroupDiscription.MalformedThe specified security group rule description is not valid.The specified security group rule description is invalid.
400MissingParameter.SourceOne of the parameters SourceCidrIp, SourceGroupId or SourcePrefixListId 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 IpProtocol must be specified with case insensitive TCP, UDP, ICMP, GRE or All.The specified IpProtocol parameter is invalid. The valid values of this parameter are tcp, udp, icmp, gre, and all.
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.
400InvalidParam.DestCidrIpThe specified parameter %s is not valid.The specified DestCidrIp parameter is invalid.
400InvalidSourcePortRange.MalformedThe specified parameter SourcePortRange is not valid.The specified SourcePortRange parameter is invalid.
400InvalidSecurityGroupId.MalformedThe specified parameter SecurityGroupId is not valid.The specified SecurityGroupId 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.
400InvalidParameter.ConflictIPv6 and IPv4 addresses cannot exist at the same time.IPv6 and IPv4 addresses cannot be both specified.
400InvalidParam.SecurityGroupRuleIdThe specified parameter SecurityGroupRuleId is not valid.The specified SecurityGroupRuleId parameter is invalid.
400InvalidOperation.ModifySgRuleEntityTypeThe source or destination type of the rules cannot be modified.The type of the source or destination in the rule cannot be modified.
400AuthorizationLimitExceedThe 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.
400InvalidParam.ProtocolAndPortRangeMismatchThe specified Protocol and PortRange do not match.The protocol and the port range do not match.
400InvalidParam.ProtocolAndAddressFamilyMismatchThe specified Protocol and address family do not match.The protocol and the address family do not match.
400InvalidParam.PrefixListAddressFamilyMismatchThe address family of the prefix list does not match the rule.The address family of the prefix list and the rule do not match.
400InvalidParam.InvalidModifyRuleRequestThe request parameters are illegal.The request parameter is invalid.
400InvalidOperation.ModifyNicTypeNicType is not allowed to modify.The NicType parameter cannot be modified.
400InvalidParamter.ConflictThe specified SourceCidrIp should be different from the DestCidrIp.The value of SourceCidrIp must be different from that of DestCidrIp.
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.
403InvalidSourceGroupId.MismatchNicType is required or NicType expects intrnet.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.
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.
403InvalidOperation.ResourceManagedByCloudProduct%sYou cannot modify security groups managed by cloud services.
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.
404SecurityGroupRule.NotFoundThe target security group rule not exist.-
404InvalidPrefixListId.NotFoundThe specified prefix list was not found.The prefix list 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-08-23The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 404 change
    delete Error Codes: 400
    delete Error Codes: 403
    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-05API Description Update. The Error code has changedsee changesets
Change itemChange content
API DescriptionAPI Description Update.
Error CodesThe Error code has changed.
    Error Codes 400 change
    Error Codes 403 change
    delete Error Codes: 404
    delete Error Codes: 500
2022-05-07The 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