AuthorizeSecurityGroup - 增加安全组入方向规则

更新时间:2024-12-27 10:31:30

本接口是阿里云 ECS 中用于增加一条或多条安全组入方向规则的接口。通过该接口,用户可以指定安全组入方向的访问权限,允许或者拒绝其他设备发送入方向流量到安全组内的实例,从而实现对网络访问的精细控制。

接口说明

使用须知

  • 数量限制: 安全组出入向规则数量不能超过 200 条。具体限制请参见安全组使用限制
  • 规则分类: 安全组入方向规则分为接受访问(accept)和拒绝访问(drop)两类。
  • 优先级设置: 安全组入方向规则优先级(Priority)可选范围为 1~100。数字越小,代表优先级越高,优先级相同的安全组规则,优先以拒绝访问(drop)的规则为准。

注意事项

  • 如果指定的安全组规则已存在,此次调用成功,但不会增加规则。

规则确定方式

确定一条安全组入方向规则必要的一组相关参数:

  • 源端设置:选择 SourceCidrIp(IPv4 地址)、Ipv6SourceCidrIp(IPv6 地址)、SourcetPrefixListId(前缀列表 ID)、SourceGroupId(源端安全组)中的一项。
  • 目的端口范围:PortRange。
  • 协议类型:IpProtocol。
  • 权限策略:Policy。
说明
企业安全组不支持授权其他安全组访问,普通安全组支持授权的安全组数量最多为 20 个。

请求示例

假设要在杭州地域下指定安全组中增加几条不同源端的入方向规则:

  • 增加指定 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:AuthorizeSecurityGroupcreate
*SecurityGroup
acs:ecs:{#regionId}:{#accountId}:securitygroup/{#securitygroupId}
  • ecs:SecurityGroupIpProtocols
  • ecs:SecurityGroupSourceCidrIps

请求参数

名称类型必填描述示例值
名称类型必填描述示例值
RegionIdstring

安全组所属地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou
ClientTokenstring

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性

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

安全组 ID。

sg-bp67acfmxazb4p****
Permissionsarray<object>

安全组规则数组。数组长度:1~100。

object

安全组规则。

Policystring

设置访问权限。取值范围:

  • accept:接受访问。

  • drop:拒绝访问,不返回拒绝信息,表现为发起端请求超时或者无法建立连接的类似信息。

默认值:accept。

accept
Prioritystring

安全组规则优先级,数字越小,代表优先级越高。取值范围:1~100。

默认值:1。

1
IpProtocolstring

协议类型。取值不区分大小写。取值范围:

  • TCP。
  • UDP。
  • ICMP。
  • ICMPv6。
  • GRE。
  • ALL:支持所有协议。

N 的取值范围:1~100。

ALL
SourceCidrIpstring

需要设置访问权限的源端 IPv4 CIDR 地址段。支持 CIDR 格式和 IPv4 格式的 IP 地址范围。

10.0.0.0/8
Ipv6SourceCidrIpstring

需要设置访问权限的源端 IPv6 CIDR 地址段。支持 CIDR 格式和 IPv6 格式的 IP 地址范围。

说明
仅在支持 IPv6 的 VPC 类型 ECS 实例上有效,且该参数与SourceCidrIp参数不可同时设置。
2001:250:6000::***
SourceGroupIdstring

需要设置访问权限的源端安全组 ID。

  • 至少设置SourceGroupIdSourceCidrIpIpv6SourceCidrIpSourcePrefixListId参数中的一项。

  • 如果指定了SourceGroupId,没有指定参数SourceCidrIpIpv6SourceCidrIp,则参数NicType取值只能为intranet

  • 如果同时指定了SourceGroupIdSourceCidrIp,则默认以SourceCidrIp为准。

sg-bp67acfmxazb4p****
SourcePrefixListIdstring

需要设置访问权限的源端前缀列表 ID。您可以调用 DescribePrefixLists 查询可以使用的前缀列表 ID。

注意事项:

  • 安全组的网络类型为经典网络时,不支持设置前缀列表。关于安全组以及前缀列表使用限制的更多信息,请参见安全组使用限制

  • 当您指定了SourceCidrIpIpv6SourceCidrIpSourceGroupId参数中的一个时,将忽略该参数。

pl-x1j1k5ykzqlixdcy****
PortRangestring

安全组开放的各协议相关的目的端口范围。取值范围:

  • TCP/UDP:取值范围为 1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。
  • ICMP:-1/-1。
  • GRE:-1/-1。
  • IpProtocol 取值为 ALL:-1/-1。

了解端口的应用场景,请参见典型应用的常用端口

80/80
DestCidrIpstring

目的端 IPv4 CIDR 地址段。支持 CIDR 格式和 IPv4 格式的 IP 地址范围。

用于支持五元组规则,请参见安全组五元组规则

10.0.0.0/8
Ipv6DestCidrIpstring

目的端 IPv6 CIDR 地址段。支持 CIDR 格式和 IPv6 格式的 IP 地址范围。

用于支持五元组规则,请参见安全组五元组规则

说明
仅在支持 IPv6 的 VPC 类型 ECS 实例上有效,且该参数与DestCidrIp参数不可同时设置。
2001:250:6000::***
SourcePortRangestring

安全组开放的各协议相关的源端端口范围。取值范围:

  • TCP/UDP 协议:取值范围为 1~65535。使用正斜线(/)隔开起始端口和终止端口。例如:1/200。
  • ICMP 协议:-1/-1。
  • GRE 协议:-1/-1。
  • IpProtocol 取值为 ALL:-1/-1。

用于支持五元组规则,请参见安全组五元组规则

7000/8000
SourceGroupOwnerAccountstring

跨账户设置安全组规则时,源端安全组所属的阿里云账户。

  • 如果SourceGroupOwnerAccountSourceGroupOwnerId均未设置,则认为是设置您其他安全组的访问权限。

  • 如果已经设置参数SourceCidrIp,则参数SourceGroupOwnerAccount无效。

test@aliyun.com
SourceGroupOwnerIdlong

跨账户设置安全组规则时,源端安全组所属的阿里云账户 ID。

  • 如果SourceGroupOwnerAccountSourceGroupOwnerId均未设置,则认为是设置您其他安全组的访问权限。

  • 如果已经设置参数SourceCidrIp,则参数SourceGroupOwnerAccount无效。

1234567890
NicTypestring

经典网络类型安全组规则的网卡类型。取值范围:

  • internet:公网网卡。

  • intranet:内网网卡。

专有网络 VPC 类型安全组规则无需设置网卡类型,默认为 intranet,只能为 intranet。

设置安全组之间互相访问时,即仅指定了 DestGroupId 参数时,只能为 intranet。

默认值:internet。

intranet
Descriptionstring

安全组规则的描述信息。长度为 1~512 个字符。

This is description.
Policydeprecatedstring

已废弃。请使用Permissions.N.Policy来设置访问权限。

accept
Prioritydeprecatedstring

已废弃。请使用Permissions.N.Priority来指定安全组规则优先级。

1
IpProtocoldeprecatedstring

已废弃。请使用Permissions.N.IpProtocol来指定协议类型。

ALL
SourceCidrIpdeprecatedstring

已废弃。请使用Permissions.N.SourceCidrIp来指定源端 IPv4 CIDR 地址块。

10.0.0.0/8
Ipv6SourceCidrIpdeprecatedstring

已废弃。请使用Permissions.N.Ipv6SourceCidrIp来指定源端 IPv6 CIDR 地址块。

2001:250:6000::***
SourceGroupIddeprecatedstring

已废弃。请使用Permissions.N.SourceGroupId来指定源端安全组 ID。

sg-bp67acfmxazb4p****
SourcePrefixListIddeprecatedstring

已废弃。请使用Permissions.N.SourcePrefixListId来指定源端前缀列表 ID。

pl-x1j1k5ykzqlixdcy****
PortRangedeprecatedstring

已废弃。请使用Permissions.N.PortRange来指定端口范围。

22/22
DestCidrIpdeprecatedstring

已废弃。请使用Permissions.N.DestCidrIp来指定目的端 IPv4 CIDR 地址段。

10.0.0.0/8
Ipv6DestCidrIpdeprecatedstring

已废弃。请使用Permissions.N.Ipv6DestCidrIp来指定目的端 IPv6 CIDR 地址段。

null
SourcePortRangedeprecatedstring

已废弃。请使用Permissions.N.SourcePortRange来指定源端端口范围。

22/22
SourceGroupOwnerAccountdeprecatedstring

已废弃。请使用Permissions.N.SourceGroupOwnerAccount来指定源端安全组所属的阿里云账户。

test@aliyun.com
SourceGroupOwnerIddeprecatedlong

已废弃。请使用Permissions.N.SourceGroupOwnerId来指定源端安全组所属的阿里云账户 ID。

1234567890
NicTypedeprecatedstring

已废弃。请使用Permissions.N.NicType来指定网卡类型。

intranet
Descriptiondeprecatedstring

已废弃。请使用Permissions.N.Description来指定安全组规则的描述。

This is description.

返回参数

名称类型描述示例值
名称类型描述示例值
object
RequestIdstring

请求 ID。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

示例

正常返回示例

JSON格式

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

错误码

HTTP status code错误码错误信息描述
HTTP status code错误码错误信息描述
400OperationDeniedThe specified IpProtocol does not exist or IpProtocol and PortRange do not match.指定的 IP 协议不存在,或与端口范围不匹配。
400InvalidIpProtocol.MalformedThe specified parameter PortRange is not valid.IP 协议参数格式不正确,PortRange 参数不正确。
400InvalidSourceCidrIp.MalformedThe specified parameter SourceCidrIp is not valid.源 IP 地址范围参数格式不正确。
400InvalidPolicy.MalformedThe specified parameter Policy is not valid.指定的参数无效,请您检查该参数是否正确。
400InvalidNicType.ValueNotSupportedThe specified NicType does not exist.指定的网络类型不存在,请您检查网络类型是否正确。
400InvalidNicType.MismatchThe specified NicType conflicts with the authorization record.指定的网卡类型与已有规则不匹配。
400InvalidSourceGroupId.MismatchSpecified security group and source group are not in the same VPC.指定的安全组和源安全组不在一个 VPC 内。
400InvalidSourceGroup.NotFoundSpecified source security group does not exist.指定的安全组入方向规则不存在,或相关参数缺失。
400InvalidPriority.MalformedThe parameter Priority is invalid.指定的参数 Priority 无效。
400InvalidPriority.ValueNotSupportedThe specified parameter %s is invalid.指定的优先级参数Priority不合法。
400InvalidNicType.ValueNotSupportedThe specified parameter %s is not valid.指定的网卡类型参数NicType不合法。
400InvalidPolicy.MalformedThe specified parameter %s is not valid.指定的授权策略参数Policy不合法。
400InvalidSecurityGroupDiscription.MalformedThe specified security group rule description parameter %s is not valid.指定的安全组规则描述不合法。
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.指定的安全组网络类型不支持此操作,请检查安全组网络类型。对于 VPC 安全组,必须启用 ClassicLink。
400MissingParameter.SourceOne of the parameters SourceCidrIp, Ipv6SourceCidrIp, SourceGroupId or SourcePrefixListId in %s must be specified.至少需要指定参数SourceCidrIp、SourceGroupId或SourcePrefixListId中的一个。
400InvalidParam.PortRangeThe specified parameter %s is not valid. It should be two integers less than 65535 in ?/? format.端口范围不合法,应为斜线分隔两个整数的格式。
400InvalidIpProtocol.ValueNotSupportedThe parameter %s must be specified with case insensitive TCP, UDP, ICMP, GRE or All.协议Protocol字段不合法,应指定大小写不敏感的TCP,UDP,ICMP,GRE或All。
400InvalidSecurityGroupId.MalformedThe specified parameter SecurityGroupId is not valid.指定的参数 SecurityGroupId 无效。
400InvalidParamter.ConflictThe specified SourceCidrIp should be different from the DestCidrIp.参数 SourceCidrIp 和 DestCidrIp 不能相同。
400InvalidSourcePortRange.MalformedThe specified parameter SourcePortRange is not valid.指定的参数 SourcePortRange 无效。
400InvalidPortRange.MalformedThe specified parameter PortRange must set.参数PortRange必须被设置。
400InvalidParam.SourceIpThe Parameters SourceCidrIp and Ipv6SourceCidrIp in %s cannot be set at the same time.参数SourceCidrIp和Ipv6SourceCidrIp不能被同时设置。
400InvalidParam.DestIpThe Parameters DestCidrIp and Ipv6DestCidrIp in %s cannot be set at the same time.参数DestCidrIp和Ipv6DestCidrIp不能被同时设置。
400InvalidParam.Ipv6DestCidrIpThe specified parameter %s is not valid.指定的参数Ipv6DestCidrIp不合法。
400InvalidParam.Ipv6SourceCidrIpThe specified parameter %s is not valid.指定的参数Ipv6SourceCidrIp不合法。
400InvalidParam.Ipv4ProtocolConflictWithIpv6AddressIPv6 address cannot be specified for IPv4-specific protocol.IPv4协议不能指定IPv6地址。
400InvalidParam.Ipv6ProtocolConflictWithIpv4AddressIPv4 address cannot be specified for IPv6-specific protocol.IPv6协议不能指定IPv4地址。
400InvalidParameter.Ipv6CidrIpThe specified Ipv6CidrIp is not valid.指定的Ipv6CidrIp参数不合法。
400InvalidGroupAuthParameter.OperationDeniedThe security group can not authorize to enterprise level security group.安全组不能授权给企业级安全组。
400InvalidDestCidrIp.MalformedThe specified parameter DestCidrIp is not valid.指定的 DestCidrIp 无效,请您检查该参数是否正确。
400InvalidParameter.ConflictIPv6 and IPv4 addresses cannot exist at the same time.IPv6地址和IPv4地址不能同时指定。
400InvalidParam.PrefixListAddressFamilyMismatchThe address family of the specified prefix list does not match the specified CidrIp.指定前缀列表的地址族,与指定的CidrIP的地址族不匹配。
400NotSupported.ClassicNetworkPrefixListThe prefix list is not supported when the network type of security group is classic.安全组的网络类型为经典网络,不支持前缀列表。
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.普通安全组内以安全组为授权对象的规则,最多只能20条。
400InvalidParam.SourceCidrIpThe specified parameter %s is not valid.指定的参数SourceCidrIp不合法。
400InvalidParam.DestCidrIpThe specified parameter %s is not valid.指定的参数DestCidrIp不合法。
400InvalidParam.SourceCidrIpThe specified param SourceCidrIp is not valid.参数SourceCidrIp不合法。
400InvalidParam.DestCidrIpThe specified param DestCidrIp is not valid.您指定的参数DestCidrIp不合法。
400MissingParameter%s缺失参数,请检查参数是否完整。
400InvalidParam.PermissionsThe specified parameter Permissions cannot coexist with other parameters.指定的参数Permissions不能与其他参数同时存在。
400InvalidParam.DuplicatePermissionsThere are duplicate permissions in the specified parameter Permissions.指定的参数Permissions中存在重复的规则。
400InvalidGroupParameter.OperationDeniedThe attributes Policy, SourceGroupId, DestGroupId of enterprise level security groups are not allowed to be set or modified.企业级安全组不能指定Policy,SourceGroupId,DestGroupId等参数。
401InvalidOperation.SecurityGroupNotAuthorizedThe specified security group is not authorized to operate.没有权限操作当前安全组
403InvalidSourceGroupId.MismatchNicType is required or NicType expects intranet.需要提供 NicType,NicType 仅在内网中使用。
403MissingParameterThe input parameter SourceGroupId or SourceCidrIp cannot be both blank.参数 SourceGroupId 和 SourceCidrIp 不能同时为空。
403AuthorizationLimitExceedThe limit of authorization records in the security group reaches.安全组授权规则数达到上限,请您检查授权规则是否合理。
403InvalidParamter.ConflictThe specified SecurityGroupId should be different from the SourceGroupId.授权与被授权安全组必须不同。
403InvalidNetworkType.MismatchThe specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic).指定的 SecurityGroup 的网络类型必须与 SouceGroup 的网络类型一致。
403InvalidNetworkType.ConflictThe specified SecurityGroup network type should be same with SourceGroup network type (vpc or classic).指定的 SecurityGroup 的网络类型必须与 SouceGroup 的网络类型一致。
403InvalidOperation.ResourceManagedByCloudProduct%s云产品托管的安全组不支持修改操作。
403LimitExceed.PrefixListAssociationResourceThe number of resources associated with the prefix list exceeds the limit.与前缀列表关联的资源数量超出限制。
404InvalidSecurityGroupId.NotFoundThe specified SecurityGroupId does not exist.指定的安全组在该用户账号下不存在,请您检查安全组 ID 是否正确。
404InvalidSourceGroupId.NotFoundThe SourceGroupId provided does not exist in our records.指定的入方向安全组不存在。
404InvalidPrefixListId.NotFoundThe specified prefix list was not found.前缀列表不存在。
404InvalidSecurityGroupId.NotFound%s指定的安全组 ID 不存在。
500InternalErrorThe request processing has failed due to some unknown error.内部错误,请重试。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
变更时间变更内容概要操作
2024-12-04OpenAPI 错误码发生变更查看变更详情
2023-11-21OpenAPI 错误码发生变更查看变更详情
2023-04-07OpenAPI 错误码发生变更查看变更详情
2022-09-05OpenAPI 错误码发生变更查看变更详情
2022-07-13OpenAPI 描述信息更新、OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情
2022-03-30OpenAPI 错误码发生变更查看变更详情
  • 本页导读 (1)
  • 接口说明
  • 使用须知
  • 注意事项
  • 规则确定方式
  • 请求示例
  • 调试
  • 授权信息
  • 请求参数
  • 返回参数
  • 示例
  • 错误码
  • 变更历史

点击开启售前

在线咨询服务