ALIYUN::ECS::SecurityGroup类型用于创建安全组。

语法

{
  "Type": "ALIYUN::ECS::SecurityGroup",
  "Properties": {
    "VpcId": String,
    "Description": String,
    "SecurityGroupName": String,
    "Tags": List,
    "SecurityGroupEgress": List,
    "SecurityGroupIngress": List,
    "ResourceGroupId": String,
    "SecurityGroupType": String
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
ResourceGroupId String 实例所在的资源组ID。 无。
VpcId String 专有网络ID。 无。
Description String 安全组描述信息。 支持2~256个字符。
Tags List 安全组的标签。 最多支持20个标签。
SecurityGroupName String 安全组名称。 不填则为空,默认值为空。长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://和https://开头。可以包含字母、汉字、数字、点(.)、下划线(_)和连字符(-)。
SecurityGroupEgress List 安全组出方向的访问规则。 无。
SecurityGroupIngress List 安全组入方向的访问规则。 无。
SecurityGroupType String 安全组的类型。 取值:normal(基本安全组)、enterprise(高级安全组)。

Tags语法

"Tags": [
  {
    "Value" : String,
    "Key" : String
  }
]

Tags属性

属性名称 类型 必须 允许更新 描述 约束
Key String 无。 无。
Value String 无。 无。

SecurityGroupEgress语法

"SecurityGroupEgress": [
  {
    "Description": String,
    "PortRange": String,
    "SecurityGroupId": String,
    "NicType": String,
    "Priority": Integer,
    "DestGroupId": String,
    "DestCidrIp": String,
    "Policy": String,
    "IpProtocol": String,
    "DestGroupOwnerAccount": String,
    "DestGroupOwnerId": String,
    "Ipv6DestCidrIp": String
  }
]

SecurityGroupEgress属性

属性名称 类型 必须 允许更新 描述 约束
Description String 安全组规则的描述信息。 长度为1~512个字符。
DestGroupOwnerId String 跨账户设置安全组规则时,目的端安全组所属的阿里云账户ID。 如果DestGroupOwnerId及DestGroupOwnerAccount均未设置,则认为是设置您其它安全组的访问权限。如果您已经设置参数DestCidrIp,则参数DestGroupOwnerId无效。
IpProtocol String IP协议。 取值:tcp、udp、icmp、gre、all。all表示同时支持四种协议。
PortRange String IP协议相关的端口号范围。 目的端安全组开放的传输层协议相关的端口范围。取值范围:
  • TCP/UDP协议:1~65535。使用斜线(/)隔开起始端口和终止端口。正确示例:1/200;错误示例:200/1。
  • ICMP协议:-1/-1。
  • GRE协议:-1/-1。
  • all:-1/-1。
SecurityGroupId String 需要创建出规则的安全组ID。 无。
NicType String 网络类型。 取值:internet、intranet。默认值:internet。
Priority Integer 授权策略优先级。 取值范围:1~100。默认值:1。
DestGroupId String 同一Region内的目标安全组ID。 DestGroupId或DestCidrIp参数必须设置一项。如果两项都设置,则默认对DestCidrIp授权。如果指定了该字段,且没有指定DestCidrIp,则NicType只能选择intranet。
DestCidrIp String 目标IP地址范围。 必须采用CIDR格式来指定IP地址范围。默认值: 0.0.0/0(表示不受限制)。其它支持的格式,例如 10.159.6.18/12。仅支持IPv4。
Policy String 授权策略。 取值:accept(接受访问)、drop(拒绝访问)。默认值:accept。
DestGroupOwnerAccount String 跨用户安全组授权时,目标安全组所属用户阿里云账号。 无。
Ipv6DestCidrIp String 目标地址IPv6 CIDR地址段。 支持在CIDR格式和IPv6格式的IP地址范围。仅支持VPC类型的IP地址。

SecurityGroupIngress语法

"SecurityGroupIngress": [
  {
    "SourceGroupOwnerId": String,
    "Description": String,
    "PortRange": String,
    "SecurityGroupId": String,
    "NicType": String,
    "SourceGroupOwnerAccount": String,
    "Priority": Integer,
    "SourceGroupId": String,
    "Policy": String,
    "IpProtocol": String,
    "SourceCidrIp": String,
    "Ipv6SourceCidrIp": String
  }
]

SecurityGroupIngress属性

属性名称 类型 必须 允许更新 描述 约束
SourceGroupOwnerId String 源安全组所属的阿里云账户ID。 无。
Description String 安全组规则的描述信息。 长度为1~512个字符。
IpProtocol String IP协议。 取值:tcp、udp、icmp、 gre或all。all表示同时支持四种协议。
PortRange String IP协议相关的端口号范围。 目的端安全组开放的传输层协议相关的端口范围。取值范围:
  • TCP/UDP协议:1~65535。使用斜线(/)隔开起始端口和终止端口。正确示例:1/200;错误示例:200/1。
  • ICMP协议:-1/-1。
  • GRE协议:-1/-1。
  • all:-1/-1。
SourceGroupId String 同一Region内的源安全组ID。 SourceGroupId或者 SourceCidrIp参数必须设置一项。如果两项都设置,则默认对SourceCidrIp授权。如果指定了该字段,且没有指定SourceCidrIp,则NicType只能选择intranet。
SecurityGroupId String 需要创建入规则的安全组ID。 无。
NicType String 网络类型。 取值:internet、 intranet。默认值:internet。
SourceGroupOwnerAccount String 跨用户安全组授权时,目标安全组所属用户阿里云账号。 无。
Priority Integer 授权策略优先级。 取值范围:1~100。默认值:1。
SourceCidrIp String 目标IP地址范围。 必须采用CIDR格式来指定IP地址范围。默认值:0.0.0.0/0(表示不受限制)。其它支持的格式,例如10.159.6.18/12。仅支持IPV4。
Policy String 授权策略。 取值:accept(接受访问、drop(拒绝访问)。 默认值:accept。
Ipv6SourceCidrIp String 源IPv6 CIDR地址段。支持在CIDR格式和IPv6格式的IP地址范围。 仅支持VPC类型的IP地址。

返回值

Fn::GetAtt

SecurityGroupId:安全组ID。

示例

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Resources" : {
    "SG": {
      "Type": "ALIYUN::ECS::SecurityGroup",
      "Properties": {
        "SecurityGroupName": {
          "Ref": "SecurityGroupName"
        },
        "SecurityGroupIngress": [
          {
            "SourceCidrIp": "0.0.0.0/0",
            "IpProtocol": "all",
            "NicType": "internet",
            "PortRange": "-1/-1",
            "Priority": 1
          },
          {
            "SourceCidrIp": "0.0.0.0/0",
            "IpProtocol": "all",
            "NicType": "intranet",
            "PortRange": "-1/-1",
            "Priority": 1
          }
        ],
        "SecurityGroupEgress": [
          {
            "IpProtocol": "all",
            "DestCidrIp": "0.0.0.0/0",
            "NicType": "internet",
            "PortRange": "-1/-1",
            "Priority": 1
          },
          {
            "IpProtocol": "all",
            "DestCidrIp": "0.0.0.0/0",
            "NicType": "intranet",
            "PortRange": "-1/-1",
            "Priority": 1
          }
        ],
        "VpcId": {
          "Ref": "Vpc"
        }
      }
    }
  },
  "Outputs": {
    "SecurityGroupId": {
      "Value" : {"Fn::GetAtt": ["SG","SecurityGroupId"]}
    }
  }
}