本接口是阿里云 ECS 中用于增加一条或多条安全组入方向规则的接口。通过该接口,用户可以指定安全组入方向的访问权限,允许或者拒绝其他设备发送入方向流量到安全组内的实例,从而实现对网络访问的精细控制。
接口说明
安全组的 API 文档中,流量的发起端为源端(Source),数据传输的接收端为目的端(Dest)。
调用该接口时,您需要了解:
-
出方向和入方向安全组规则数量不能超过 200 条。具体限制请参见安全组使用限制。
-
安全组规则优先级(Priority)可选范围为 1~100。数字越小,代表优先级越高。
-
优先级相同的安全组规则,以拒绝访问(drop)的规则优先。
-
源端设备可以是指定的 IP 地址范围(SourceCidrIp、Ipv6SourceCidrIp、SourcePrefixListId),也可以是其他安全组(SourceGroupId)中的 ECS 实例。
-
企业安全组不支持授权其他安全组访问。
-
普通安全组支持授权的安全组数量最多为 20 个。
-
如果指定的安全组规则已存在,此次调用成功,但不会增加规则。
-
Permissions.N
前缀的字段和对应不带前缀的字段不能同时指定,建议您使用Permissions.N
前缀的字段。 -
以下任意一组参数可以确定一条安全组规则,只指定一个参数无法确定一条安全组规则。
-
设置指定 IP 地址段的访问权限。此时,VPC 类型安全组的网卡类型(NicType)应设置为内网(intranet)。经典网络类型安全组的网卡类型(NicType)可设置为公网(internet)或内网(intranet)。如以下请求示例:IpProtocol、PortRange、(可选)SourcePortRange、NicType、Policy 和 SourceCidrIp。
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 &<公共请求参数>
-
设置其他安全组的访问权限。此时,网卡类型(NicType)只能为内网(intranet)。经典网络类型安全组之间互访时,可以设置同一地域中其他安全组对您的安全组的访问权限。这个安全组可以是您的也可以是其他阿里云账户(SourceGroupOwnerAccount)的。VPC 类型安全组之间互访时,可以设置同一 VPC 内其他安全组访问该安全组的访问权限。如以下请求示例:IpProtocol、PortRange、(可选)SourcePortRange、NicType、Policy、SourceGroupOwnerAccount 和 SourceGroupId。
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 &<公共请求参数>
-
在安全组规则中设置前缀列表的访问权限。此时,前缀列表仅支持网络类型为 VPC 的安全组,网卡类型(NicType)只可设置为内网(intranet)。如以下请求示例:IpProtocol、PortRange、(可选)SourcePortRange、NicType、Policy 和 SourcePrefixListId。
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 &<公共请求参数>
-
-
更多关于安全组规则的设置示例,请参见应用案例和安全组五元组规则介绍。
调试
您可以在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> | 否 | 安全组规则列表。N 的取值范围:1~100。 | |
object | 否 | 安全组规则列表。N 的取值范围:1~100。 | ||
Policy | string | 否 | 设置访问权限。取值范围:
默认值:accept。 N 的取值范围:1~100。 | accept |
Priority | string | 否 | 安全组规则优先级,数字越小,代表优先级越高。取值范围:1~100。 默认值:1。 N 的取值范围:1~100。 | 1 |
IpProtocol | string | 否 | 协议类型。取值不区分大小写。取值范围:
N 的取值范围:1~100。 | ALL |
SourceCidrIp | string | 否 | 需要设置访问权限的源端 IPv4 CIDR 地址段。支持 CIDR 格式和 IPv4 格式的 IP 地址范围。 N 的取值范围:1~100。 | 10.0.0.0/8 |
Ipv6SourceCidrIp | string | 否 | 需要设置访问权限的源端 IPv6 CIDR 地址段。支持 CIDR 格式和 IPv6 格式的 IP 地址范围。 N 的取值范围:1~100。 说明
仅在支持 IPv6 的 VPC 类型 ECS 实例上有效,且该参数与 SourceCidrIp 参数不可同时设置。
| 2001:250:6000::*** |
SourceGroupId | string | 否 | 需要设置访问权限的源端安全组 ID。
N 的取值范围:1~100。 您需要注意:
| sg-bp67acfmxazb4p**** |
SourcePrefixListId | string | 否 | 需要设置访问权限的源端前缀列表 ID。您可以调用 DescribePrefixLists 查询可以使用的前缀列表 ID。 N 的取值范围:1~100。 注意事项:
| pl-x1j1k5ykzqlixdcy**** |
PortRange | string | 否 | 安全组开放的各协议相关的目的端口范围。取值范围:
了解端口的应用场景,请参见典型应用的常用端口。 N 的取值范围:1~100。 | 80/80 |
DestCidrIp | string | 否 | 10.0.0.0/8 | |
Ipv6DestCidrIp | string | 否 | 目的端 IPv6 CIDR 地址段。支持 CIDR 格式和 IPv6 格式的 IP 地址范围。 用于支持五元组规则,请参见安全组五元组规则。 N 的取值范围:1~100。 说明
仅在支持 IPv6 的 VPC 类型 ECS 实例上有效,且该参数与 DestCidrIp 参数不可同时设置。
| 2001:250:6000::*** |
SourcePortRange | string | 否 | 安全组开放的各协议相关的源端端口范围。取值范围:
用于支持五元组规则,请参见安全组五元组规则。 N 的取值范围:1~100。 | 7000/8000 |
SourceGroupOwnerAccount | string | 否 | 跨账户设置安全组规则时,源端安全组所属的阿里云账户。
N 的取值范围:1~100。 | test@aliyun.com |
SourceGroupOwnerId | long | 否 | 跨账户设置安全组规则时,源端安全组所属的阿里云账户 ID。
N 的取值范围:1~100。 | 1234567890 |
NicType | string | 否 | 经典网络类型安全组规则的网卡类型。取值范围:
专有网络 VPC 类型安全组规则无需设置网卡类型,默认为 intranet,只能为 intranet。 设置安全组之间互相访问时,即仅指定了 DestGroupId 参数时,只能为 intranet。 默认值:internet。 N 的取值范围:1~100。 | intranet |
Description | string | 否 | 安全组规则的描述信息。长度为 1~512 个字符。 N 的取值范围:1~100。 | 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 | 错误码 | 错误信息 | 描述 |
---|---|---|---|
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等参数。 |
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. | 内部错误,请重试。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2023-11-21 | OpenAPI 错误码发生变更 | 查看变更详情 |
2023-04-07 | OpenAPI 错误码发生变更 | 查看变更详情 |
2022-09-05 | OpenAPI 错误码发生变更 | 查看变更详情 |
2022-07-13 | OpenAPI 描述信息更新、OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2022-03-30 | OpenAPI 错误码发生变更 | 查看变更详情 |