本接口是阿里云 ECS 中用于增加一条或多条安全组入方向规则的接口。通过该接口,用户可以指定安全组入方向的访问权限,允许或者拒绝其他设备发送入方向流量到安全组内的实例,从而实现对网络访问的精细控制。
接口说明
使用须知
- 数量限制: 安全组出入向规则数量不能超过 200 条。具体限制请参见安全组使用限制。
- 规则分类: 安全组入方向规则分为接受访问(accept)和拒绝访问(drop)两类。
- 优先级设置: 安全组入方向规则优先级(Priority)可选范围为 1~100。数字越小,代表优先级越高,优先级相同的安全组规则,优先以拒绝访问(drop)的规则为准。
注意事项
- 如果指定的安全组规则已存在,此次调用成功,但不会增加规则。
规则确定方式
确定一条安全组入方向规则必要的一组相关参数:
- 源端设置:选择 SourceCidrIp(IPv4 地址)、Ipv6SourceCidrIp(IPv6 地址)、SourcetPrefixListId(前缀列表 ID)、SourceGroupId(源端安全组)中的一项。
- 目的端口范围:PortRange。
- 协议类型:IpProtocol。
- 权限策略:Policy。
请求示例
假设要在杭州地域下指定安全组中增加几条不同源端的入方向规则:
-
增加指定 IP 地址段的访问权限。
"RegionId":"cn-hangzhou", //设置地域 "SecurityGroupId":"sg-bp67acfmxazb4p****", //设置安全组 "Permissions":[ { "SourceCidrIp":"10.0.0.0/8", //设置源端 IPv4 地址 "PortRange":"22/22", //设置端口范围 "IpProtocol":"TCP", //设置协议类型 "Policy":"Accept" //设置访问策略 } ]
-
增加一条其他安全组和一条前缀列表的访问权限。
"RegionId":"cn-hangzhou", "SecurityGroupId":"sg-bp67acfmxazb4p****", "Permissions":[ { "SourceGroupId":"sg-bp17vs63txqxbd****", //设置源端安全组 "PortRange":"22/22", "IpProtocol":"TCP", "Policy":"Drop" },{ "SourcePrefixListId":"pl-x1j1k5ykzqlixdcy****", //设置源端前缀列表 "PortRange":"22/22", "IpProtocol":"TCP", "Policy":"Drop" } ]
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ecs:AuthorizeSecurityGroup | create | *SecurityGroup acs:ecs:{#regionId}:{#accountId}:securitygroup/{#securitygroupId} |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | 安全组所属地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 | cn-hangzhou |
ClientToken | string | 否 | 保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性。 | 123e4567-e89b-12d3-a456-426655440000 |
SecurityGroupId | string | 是 | 安全组 ID。 | sg-bp67acfmxazb4p**** |
Permissions | array<object> | 否 | 安全组规则数组。数组长度:1~100。 | |
object | 否 | 安全组规则。 | ||
Policy | string | 否 | 设置访问权限。取值范围:
默认值:accept。 | accept |
Priority | string | 否 | 安全组规则优先级,数字越小,代表优先级越高。取值范围:1~100。 默认值:1。 | 1 |
IpProtocol | string | 否 | 协议类型。取值不区分大小写。取值范围:
N 的取值范围:1~100。 | ALL |
SourceCidrIp | string | 否 | 需要设置访问权限的源端 IPv4 CIDR 地址段。支持 CIDR 格式和 IPv4 格式的 IP 地址范围。 | 10.0.0.0/8 |
Ipv6SourceCidrIp | string | 否 | 需要设置访问权限的源端 IPv6 CIDR 地址段。支持 CIDR 格式和 IPv6 格式的 IP 地址范围。
仅在支持 IPv6 的 VPC 类型 ECS 实例上有效,且该参数与 SourceCidrIp 参数不可同时设置。
| 2001:250:6000::*** |
SourceGroupId | string | 否 | 需要设置访问权限的源端安全组 ID。
| sg-bp67acfmxazb4p**** |
SourcePrefixListId | string | 否 | 需要设置访问权限的源端前缀列表 ID。您可以调用 DescribePrefixLists 查询可以使用的前缀列表 ID。 注意事项:
| pl-x1j1k5ykzqlixdcy**** |
PortRange | string | 否 | 安全组开放的各协议相关的目的端口范围。取值范围:
了解端口的应用场景,请参见典型应用的常用端口。 | 80/80 |
DestCidrIp | string | 否 | 目的端 IPv4 CIDR 地址段。支持 CIDR 格式和 IPv4 格式的 IP 地址范围。 用于支持五元组规则,请参见安全组五元组规则。 | 10.0.0.0/8 |
Ipv6DestCidrIp | string | 否 | 目的端 IPv6 CIDR 地址段。支持 CIDR 格式和 IPv6 格式的 IP 地址范围。 用于支持五元组规则,请参见安全组五元组规则。
仅在支持 IPv6 的 VPC 类型 ECS 实例上有效,且该参数与 DestCidrIp 参数不可同时设置。
| 2001:250:6000::*** |
SourcePortRange | string | 否 | 安全组开放的各协议相关的源端端口范围。取值范围:
用于支持五元组规则,请参见安全组五元组规则。 | 7000/8000 |
SourceGroupOwnerAccount | string | 否 | 跨账户设置安全组规则时,源端安全组所属的阿里云账户。
| test@aliyun.com |
SourceGroupOwnerId | long | 否 | 跨账户设置安全组规则时,源端安全组所属的阿里云账户 ID。
| 1234567890 |
NicType | string | 否 | 经典网络类型安全组规则的网卡类型。取值范围:
专有网络 VPC 类型安全组规则无需设置网卡类型,默认为 intranet,只能为 intranet。 设置安全组之间互相访问时,即仅指定了 DestGroupId 参数时,只能为 intranet。 默认值:internet。 | intranet |
Description | string | 否 | 安全组规则的描述信息。长度为 1~512 个字符。 | This is description. |
Policydeprecated | string | 否 | 已废弃。请使用 | accept |
Prioritydeprecated | string | 否 | 已废弃。请使用 | 1 |
IpProtocoldeprecated | string | 否 | 已废弃。请使用 | ALL |
SourceCidrIpdeprecated | string | 否 | 已废弃。请使用 | 10.0.0.0/8 |
Ipv6SourceCidrIpdeprecated | string | 否 | 已废弃。请使用 | 2001:250:6000::*** |
SourceGroupIddeprecated | string | 否 | 已废弃。请使用 | sg-bp67acfmxazb4p**** |
SourcePrefixListIddeprecated | string | 否 | 已废弃。请使用 | pl-x1j1k5ykzqlixdcy**** |
PortRangedeprecated | string | 否 | 已废弃。请使用 | 22/22 |
DestCidrIpdeprecated | string | 否 | 已废弃。请使用 | 10.0.0.0/8 |
Ipv6DestCidrIpdeprecated | string | 否 | 已废弃。请使用 | null |
SourcePortRangedeprecated | string | 否 | 已废弃。请使用 | 22/22 |
SourceGroupOwnerAccountdeprecated | string | 否 | 已废弃。请使用 | test@aliyun.com |
SourceGroupOwnerIddeprecated | long | 否 | 已废弃。请使用 | 1234567890 |
NicTypedeprecated | string | 否 | 已废弃。请使用 | intranet |
Descriptiondeprecated | string | 否 | 已废弃。请使用 | This is description. |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
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 | InvalidSourceCidrIp.Malformed | The specified parameter SourceCidrIp is not valid. | 源 IP 地址范围参数格式不正确。 |
400 | InvalidPolicy.Malformed | The specified parameter Policy is not valid. | 指定的参数无效,请您检查该参数是否正确。 |
400 | InvalidNicType.ValueNotSupported | The specified NicType does not exist. | 指定的网络类型不存在,请您检查网络类型是否正确。 |
400 | InvalidNicType.Mismatch | The specified NicType conflicts with the authorization record. | 指定的网卡类型与已有规则不匹配。 |
400 | InvalidSourceGroupId.Mismatch | Specified security group and source group are not in the same VPC. | 指定的安全组和源安全组不在一个 VPC 内。 |
400 | InvalidSourceGroup.NotFound | Specified source security group does not exist. | 指定的安全组入方向规则不存在,或相关参数缺失。 |
400 | InvalidPriority.Malformed | The parameter Priority is invalid. | 指定的参数 Priority 无效。 |
400 | InvalidPriority.ValueNotSupported | The specified parameter %s is invalid. | 指定的优先级参数Priority不合法。 |
400 | InvalidNicType.ValueNotSupported | The specified parameter %s is not valid. | 指定的网卡类型参数NicType不合法。 |
400 | InvalidPolicy.Malformed | The specified parameter %s is not valid. | 指定的授权策略参数Policy不合法。 |
400 | InvalidSecurityGroupDiscription.Malformed | The specified security group rule description parameter %s is not valid. | 指定的安全组规则描述不合法。 |
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 | MissingParameter.Source | One of the parameters SourceCidrIp, Ipv6SourceCidrIp, SourceGroupId or SourcePrefixListId in %s must be specified. | 至少需要指定参数SourceCidrIp、SourceGroupId或SourcePrefixListId中的一个。 |
400 | InvalidParam.PortRange | The specified parameter %s is not valid. It should be two integers less than 65535 in ?/? format. | 端口范围不合法,应为斜线分隔两个整数的格式。 |
400 | InvalidIpProtocol.ValueNotSupported | The parameter %s must be specified with case insensitive TCP, UDP, ICMP, GRE or All. | 协议Protocol字段不合法,应指定大小写不敏感的TCP,UDP,ICMP,GRE或All。 |
400 | InvalidSecurityGroupId.Malformed | The specified parameter SecurityGroupId is not valid. | 指定的参数 SecurityGroupId 无效。 |
400 | InvalidParamter.Conflict | The specified SourceCidrIp should be different from the DestCidrIp. | 参数 SourceCidrIp 和 DestCidrIp 不能相同。 |
400 | InvalidSourcePortRange.Malformed | The specified parameter SourcePortRange is not valid. | 指定的参数 SourcePortRange 无效。 |
400 | InvalidPortRange.Malformed | The specified parameter PortRange must set. | 参数PortRange必须被设置。 |
400 | InvalidParam.SourceIp | The Parameters SourceCidrIp and Ipv6SourceCidrIp in %s cannot be set at the same time. | 参数SourceCidrIp和Ipv6SourceCidrIp不能被同时设置。 |
400 | InvalidParam.DestIp | The Parameters DestCidrIp and Ipv6DestCidrIp in %s cannot be set at the same time. | 参数DestCidrIp和Ipv6DestCidrIp不能被同时设置。 |
400 | InvalidParam.Ipv6DestCidrIp | The specified parameter %s is not valid. | 指定的参数Ipv6DestCidrIp不合法。 |
400 | InvalidParam.Ipv6SourceCidrIp | The specified parameter %s is not valid. | 指定的参数Ipv6SourceCidrIp不合法。 |
400 | InvalidParam.Ipv4ProtocolConflictWithIpv6Address | IPv6 address cannot be specified for IPv4-specific protocol. | IPv4协议不能指定IPv6地址。 |
400 | InvalidParam.Ipv6ProtocolConflictWithIpv4Address | IPv4 address cannot be specified for IPv6-specific protocol. | IPv6协议不能指定IPv4地址。 |
400 | InvalidParameter.Ipv6CidrIp | The specified Ipv6CidrIp is not valid. | 指定的Ipv6CidrIp参数不合法。 |
400 | InvalidGroupAuthParameter.OperationDenied | The security group can not authorize to enterprise level security group. | 安全组不能授权给企业级安全组。 |
400 | InvalidDestCidrIp.Malformed | The specified parameter DestCidrIp is not valid. | 指定的 DestCidrIp 无效,请您检查该参数是否正确。 |
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 | AuthorizedGroupRule.LimitExceed | You 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. | 普通安全组内以安全组为授权对象的规则,最多只能20条。 |
400 | InvalidParam.SourceCidrIp | The specified parameter %s is not valid. | 指定的参数SourceCidrIp不合法。 |
400 | InvalidParam.DestCidrIp | The specified parameter %s is not valid. | 指定的参数DestCidrIp不合法。 |
400 | InvalidParam.SourceCidrIp | The specified param SourceCidrIp is not valid. | 参数SourceCidrIp不合法。 |
400 | InvalidParam.DestCidrIp | The specified param DestCidrIp is not valid. | 您指定的参数DestCidrIp不合法。 |
400 | MissingParameter | %s | 缺失参数,请检查参数是否完整。 |
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中存在重复的规则。 |
400 | InvalidGroupParameter.OperationDenied | The attributes Policy, SourceGroupId, DestGroupId of enterprise level security groups are not allowed to be set or modified. | 企业级安全组不能指定Policy,SourceGroupId,DestGroupId等参数。 |
401 | InvalidOperation.SecurityGroupNotAuthorized | The specified security group is not authorized to operate. | 没有权限操作当前安全组 |
403 | InvalidSourceGroupId.Mismatch | NicType is required or NicType expects intranet. | 需要提供 NicType,NicType 仅在内网中使用。 |
403 | MissingParameter | The input parameter SourceGroupId or SourceCidrIp cannot be both blank. | 参数 SourceGroupId 和 SourceCidrIp 不能同时为空。 |
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.Mismatch | The specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic). | 指定的 SecurityGroup 的网络类型必须与 SouceGroup 的网络类型一致。 |
403 | InvalidNetworkType.Conflict | The specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic). | 指定的 SecurityGroup 的网络类型必须与 SouceGroup 的网络类型一致。 |
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 | InvalidSourceGroupId.NotFound | The SourceGroupId 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. | 内部错误,请重试。 |
访问错误中心查看更多错误码。