Modifies an inbound rule in a security group.
Operation description
Usage notes
In security group-related API documents, inbound traffic refers to the traffic that is sent by the source device and received at the destination device.
Take note of the following items:
- An authorization object in a security group rule can be one of the following types: IP address or CIDR block, security group, or prefix list. You cannot call this operation to change the type of an existing authorization object. For example, if an authorization object is an IP address, you can change the authorization object to another IP address or a CIDR block, but you cannot change the authorization object to a security group or prefix list.
- You cannot change the IP address family of an existing authorization object. For example, if an authorization object is an IPv4 CIDR block, you cannot change the authorization object to an IPv6 CIDR block. If an authorization object is a prefix list of the IPv4 address family, you cannot change the authorization object to a prefix list of the IPv6 address family.
- The new security group rule after modification cannot be the same as other existing rules.
- You cannot delete the value of a non-empty parameter. If you want to delete the values of non-empty parameters, we recommend that you create another rule and delete the original rule.
Debugging
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.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
ecs:ModifySecurityGroupRule | update | *SecurityGroup acs:ecs:{#regionId}:{#accountId}:securitygroup/{#securitygroupId} |
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
RegionId | string | Yes | The region ID of the security group. You can call the DescribeRegions operation to query the most recent region list. | cn-hangzhou |
ClientToken | string | No | 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 |
SecurityGroupId | string | Yes | The security group ID. | sg-bp67acfmxazb4p**** |
SecurityGroupRuleId | string | No | The security group rule ID. | sgr-bp67acfmxa123b*** |
Policy | string | No | The action of the security group rule. Valid values:
Default value: accept. | accept |
Priority | string | No | The priority of the security group rule. Valid values: 1 to 100. Default value: 1. | 1 |
IpProtocol | string | No | The transport layer protocol of the security group rule. The value of this parameter is case-insensitive. Valid values:
| all |
SourceCidrIp | string | No | The source IPv4 CIDR block. IPv4 CIDR blocks and IPv4 addresses are supported. By default, this parameter is left empty. | 10.0.0.0/8 |
Ipv6SourceCidrIp | string | No | The source IPv6 CIDR block. IPv6 CIDR blocks and IPv6 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::*** |
SourceGroupId | string | No | The source security group ID. You must specify either
| sg-bp67acfmxa123b**** |
SourcePrefixListId | string | No | 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 | pl-x1j1k5ykzqlixdcy**** |
PortRange | string | No | The range of destination ports that correspond to the transport layer protocol. Valid values:
| 80/80 |
DestCidrIp | string | No | The destination IPv4 CIDR block. IPv4 CIDR blocks and IPv4 addresses are supported. By default, this parameter is left empty. | 10.0.0.0/8 |
Ipv6DestCidrIp | string | No | The destination IPv6 CIDR block. IPv6 CIDR blocks and IPv6 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::*** |
SourcePortRange | string | No | The range of source ports that correspond to the transport layer protocol. Valid values:
| 80/80 |
SourceGroupOwnerAccount | string | No | The Alibaba Cloud account that manages the source security group when you configure a security group rule across accounts.
| EcsforCloud@Alibaba.com |
SourceGroupOwnerId | long | No | The ID of the Alibaba Cloud account that manages the source security group when you configure a security group rule across accounts.
| 12345678910 |
NicType | string | No | You cannot modify this parameter when you modify a security group rule by specifying its ID. | intranet |
Description | string | No | 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
Examples
Sample success responses
JSON
format
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}
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 specified IP protocol does not exist or does not match the specified port range. |
400 | InvalidIpProtocol.Malformed | The specified parameter PortRange is not valid. | The specified IpProtocol or PortRange parameter is invalid. |
400 | InvalidSourceCidrIp.Malformed | The specified parameter SourceCidrIp is not valid. | The specified source CIDR block is invalid. |
400 | InvalidPolicy.Malformed | The specified parameter Policy is not valid. | The specified Policy parameter is invalid. |
400 | InvalidNicType.ValueNotSupported | The specified NicType does not exist. | The specified NicType parameter does not exist. |
400 | InvalidNicType.Mismatch | The specified NicType conflicts with the authorization record. | The specified NIC type does not match the existing rule. |
400 | InvalidSourceGroupId.Mismatch | Specified 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. |
400 | InvalidSourceGroup.NotFound | Specified source security group does not exist. | The specified inbound security group rule does not exist, or required parameters are not specified. |
400 | InvalidPriority.Malformed | The parameter Priority is invalid. | The specified Priority parameter is invalid. |
400 | InvalidPriority.ValueNotSupported | The parameter Priority is invalid. | The specified Priority parameter is invalid. |
400 | InvalidSecurityGroupDiscription.Malformed | The specified security group rule description is not valid. | The specified security group rule description is invalid. |
400 | MissingParameter.Source | One of the parameters SourceCidrIp, SourceGroupId or SourcePrefixListId must be specified. | - |
400 | InvalidParam.PortRange | The 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. |
400 | InvalidIpProtocol.ValueNotSupported | The 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. |
400 | InvalidParam.SourceIp | The 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. |
400 | InvalidParam.DestIp | The 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. |
400 | InvalidParam.Ipv6DestCidrIp | The specified parameter %s is not valid. | The specified Ipv6DestCidrIp parameter is invalid. |
400 | InvalidParam.Ipv6SourceCidrIp | The specified parameter %s is not valid. | The specified Ipv6SourceCidrIp parameter is invalid. |
400 | InvalidParam.Ipv4ProtocolConflictWithIpv6Address | IPv6 address cannot be specified for IPv4-specific protocol. | IPv6 addresses cannot be specified for instances that use the IPv4 protocol. |
400 | InvalidParam.Ipv6ProtocolConflictWithIpv4Address | IPv4 address cannot be specified for IPv6-specific protocol. | IPv4 addresses cannot be specified for instances that use the IPv6 protocol. |
400 | InvalidParameter.Ipv6CidrIp | The specified Ipv6CidrIp is not valid. | The specified Ipv6CidrIp parameter is invalid. |
400 | InvalidParam.DestCidrIp | The specified parameter %s is not valid. | The specified DestCidrIp parameter is invalid. |
400 | InvalidSourcePortRange.Malformed | The specified parameter SourcePortRange is not valid. | The specified SourcePortRange parameter is invalid. |
400 | InvalidSecurityGroupId.Malformed | The specified parameter SecurityGroupId is not valid. | The specified SecurityGroupId parameter is invalid. |
400 | InvalidParam.SourceCidrIp | The specified param SourceCidrIp is not valid. | The specified SourceCidrIp parameter is invalid. |
400 | InvalidParam.DestCidrIp | The specified param DestCidrIp is not valid. | The specified DestCidrIp parameter is invalid. |
400 | InvalidParameter.Conflict | IPv6 and IPv4 addresses cannot exist at the same time. | IPv6 and IPv4 addresses cannot be both specified. |
400 | InvalidParam.SecurityGroupRuleId | The specified parameter SecurityGroupRuleId is not valid. | The specified SecurityGroupRuleId parameter is invalid. |
400 | InvalidOperation.ModifySgRuleEntityType | The source or destination type of the rules cannot be modified. | The type of the source or destination in the rule cannot be modified. |
400 | AuthorizationLimitExceed | The 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. |
400 | InvalidParam.ProtocolAndPortRangeMismatch | The specified Protocol and PortRange do not match. | The protocol and the port range do not match. |
400 | InvalidParam.ProtocolAndAddressFamilyMismatch | The specified Protocol and address family do not match. | The protocol and the address family do not match. |
400 | InvalidParam.PrefixListAddressFamilyMismatch | The address family of the prefix list does not match the rule. | The address family of the prefix list and the rule do not match. |
400 | InvalidParam.InvalidModifyRuleRequest | The request parameters are illegal. | The request parameter is invalid. |
400 | InvalidOperation.ModifyNicType | NicType is not allowed to modify. | The NicType parameter cannot be modified. |
400 | InvalidParamter.Conflict | The specified SourceCidrIp should be different from the DestCidrIp. | The value of SourceCidrIp must be different from that of DestCidrIp. |
400 | InvalidIpProtocol.ValueNotSupported | The 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. |
400 | InvalidOperation.RuleDuplicate | %s. | The rule being modified will be duplicated with an existing rule. |
403 | InvalidSourceGroupId.Mismatch | NicType is required or NicType expects intrnet. | The NicType parameter is not specified or is not set to intranet. |
403 | MissingParameter | The input parameter SourceGroupId or SourceCidrIp cannot be both blank. | At least one of the SourceGroupId and SourceCidrIp parameters must be specified. |
403 | InvalidParamter.Conflict | The specified SecurityGroupId should be different from the SourceGroupId. | The destination security group is the same as the source security group. |
403 | InvalidNetworkType.Mismatch | The 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. |
403 | InvalidOperation.ResourceManagedByCloudProduct | %s | You cannot modify security groups managed by cloud services. |
404 | InvalidSecurityGroupId.NotFound | The specified SecurityGroupId does not exist. | The specified security group does not exist in this account. Check whether the security group ID is correct. |
404 | InvalidSourceGroupId.NotFound | The SourceGroupId provided does not exist in our records. | The specified SourceGroupId parameter does not exist. |
404 | SecurityGroupRule.NotFound | The target security group rule not exist. | - |
404 | InvalidPrefixListId.NotFound | The specified prefix list was not found. | The prefix list does not exist. |
404 | InvalidSecurityGroupRuleId.NotFound | The specified SecurityGroupRuleId is not exists. | The specified SecurityGroupRuleId parameter does not exist. |
500 | InternalError | The 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 time | Summary of changes | Operation |
---|---|---|
2024-06-27 | The Error code has changed | View Change Details |
2023-08-23 | The Error code has changed | View Change Details |
2023-04-07 | The Error code has changed | View Change Details |
2022-09-05 | API Description Update. The Error code has changed | View Change Details |
2022-05-07 | The Error code has changed | View Change Details |