全部產品
Search
文件中心

:ALIYUN::ECS::SecurityGroup

更新時間:Jun 19, 2024

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個標籤。

更多資訊,請參見Tags屬性

SecurityGroupName

String

安全性群組名稱。

不填則為空白,預設值為空白。

  • 長度為2~128個字元。

  • 必須以英文字母或漢字開頭,不能以http://https://開頭。

  • 可包含英文字母、漢字、數字、半形句號(.)、底線(_)和短劃線(-)。

SecurityGroupEgress

List

安全性群組出方向的訪問規則。

更多資訊,請參見SecurityGroupEgress屬性

SecurityGroupIngress

List

安全性群組入方向的訪問規則。

更多資訊,請參見SecurityGroupIngress屬性

SecurityGroupType

String

安全性群組的類型。

取值:

  • normal:基本安全性群組。

  • enterprise:進階安全性群組。

Tags文法

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

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

長度為1~128個字元,不能以aliyunacs:開頭,不能包含http://https://

Value

String

標籤值。

長度為0~128個字元,不能以aliyunacs:開頭,不能包含http://https://

SecurityGroupEgress文法

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

SecurityGroupEgress屬性

屬性名稱

類型

必須

允許更新

描述

約束

Description

String

安全性群組規則的描述資訊。

長度為1~512個字元。

DestGroupOwnerId

String

跨帳號設定安全性群組規則時,目的端安全性群組所屬的阿里雲帳號ID。

如果未設定DestGroupOwnerId,則認為您設定了其它安全性群組的存取權限。如果您已經設定參數DestCidrIp,則參數DestGroupOwnerId無效。

IpProtocol

String

IP協議。

取值:

  • tcp

  • udp

  • icmp

  • gre

  • all:同時支援四種協議。

PortRange

String

IP協議相關的連接埠號碼範圍。

目的端安全性群組開放的傳輸層協議相關的連接埠範圍。取值:

  • TCP/UDP協議:1~65,535。使用正斜線(/)分隔開始端點口和終止連接埠。

    • 正確樣本:1/200。

    • 錯誤樣本:200/1。

  • ICMP協議:-1/-1。

  • GRE協議:-1/-1。

  • all:-1/-1。

NicType

String

網路類型。

取值:

  • internet(預設值)

  • intranet

DestPrefixListId

String

需要設定出方向存取權限的目的端首碼列表ID。

您可以調用雲端服務ECS的DescribePrefixLists介面查詢可以使用的首碼列表ID。

安全性群組的網路類型為傳統網路時,不支援設定首碼列表。

當您指定了DestCidrIp、Ipv6DestCidrIp或DestGroupId參數中的任意一個時,將忽略該參數。

Priority

Integer

授權策略優先順序。

取值範圍:1~100。

預設值:1。

DestGroupId

String

同一地區內的目標安全性群組ID。

DestGroupId或DestCidrIp參數必須指定一項。

  • 如果兩項都指定,則預設對DestCidrIp進行授權。

  • 如果指定了該參數,且沒有指定DestCidrIp,則NicType只能選擇intranet。

DestCidrIp

String

目標IP位址範圍。

必須採用CIDR格式來指定IP位址範圍。

預設值: 0.0.0.0/0(表示不受限制)。

其它支援的格式,例如 10.159.XX.XX/12。

最多10個IP地址或位址區段,用半形逗號(,)隔開。

說明

僅支援IPv4。

Policy

String

授權策略。

取值:

  • accept(預設值):接受訪問。

  • drop:拒絕訪問。

Ipv6DestCidrIp

String

目標地址IPv6 CIDR位址區段。

支援在CIDR格式和IPv6格式的IP位址範圍。僅支援專用網路類型的IP地址。

SourcePortRange

String

安全性群組開放的傳輸層協議相關的源端連接埠範圍。

取值:

  • TCP/UDP協議:取值範圍為 1~65535。使用正斜線(/)隔開開始端點口和終止連接埠。例如:1/200。

  • ICMP協議:-1/-1。

  • GRE協議:-1/-1。

  • ALL:-1/-1。

用於支援五元組規則,請參見安全性群組五元組規則

Ipv6SourceCidrIp

String

源端 IPv6 CIDR 位址區段。

支援CIDR格式和IPv6格式的IP位址範圍。

用於支援五元組規則,請參見安全性群組五元組規則

說明

僅在支援IPv6的VPC類型ECS執行個體上有效,且該參數與DestCidrIp參數不可同時設定。

SourceCidrIp

String

源端 IPv4 CIDR 位址區段。

支援CIDR格式和IPv4格式的IP位址範圍。

用於支援五元組規則,請參見安全性群組五元組規則

DestGroupOwnerAccount

String

目的端安全性群組所屬的阿里雲賬戶。

  • 如果DestGroupOwnerAccountDestGroupOwnerId均未設定,則認為是撤銷您其他安全性群組的存取權限。

  • 如果已經設定參數DestCidrIp,則參數DestGroupOwnerAccount無效。

SecurityGroupIngress文法

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

SecurityGroupIngress屬性

屬性名稱

類型

必須

允許更新

描述

約束

SourceGroupOwnerId

String

源安全性群組所屬的阿里雲帳號ID。

Description

String

安全性群組規則的描述資訊。

長度為1~512個字元。

SourcePrefixListId

String

需要設定入方向存取權限的源端首碼列表ID。

您可以調用雲端服務ECS的DescribePrefixLists查詢可以使用的首碼列表ID。

安全性群組的網路類型為傳統網路時,不支援設定首碼列表。

當您指定了SourceCidrIp、Ipv6DestCidrIp或DestGroupId參數中的任意一個時,將忽略該參數。

IpProtocol

String

IP協議。

取值:

  • tcp

  • udp

  • icmp

  • gre

  • all:同時支援四種協議。

PortRange

String

IP協議相關的連接埠範圍。

目的端安全性群組開放的傳輸層協議相關的連接埠範圍。取值:

  • TCP/UDP協議:1~65535。使用正斜線(/)間隔開始端點口和終止連接埠。

    • 正確樣本:1/200。

    • 錯誤樣本:200/1。

  • ICMP協議:-1/-1。

  • GRE協議:-1/-1。

  • all:-1/-1。

SourceGroupId

String

同一地區內的源安全性群組ID。

SourceGroupId或者SourceCidrIp參數必須指定一項。

如果兩項都指定,則預設對SourceCidrIp授權。

如果指定了該參數,且沒有指定SourceCidrIp,則NicType只能選擇intranet。

NicType

String

網路類型。

取值:

  • internet(預設值)

  • intranet

Priority

Integer

授權策略優先順序。

取值範圍:1~100。

預設值:1。

SourceCidrIp

String

源IP位址範圍。

必須採用CIDR格式來指定IP位址範圍。

預設值:0.0.0.0/0(表示不受限制)。

其它支援的格式,例如10.159.XX.XX/12。

最多10個IP地址或位址區段,用半形逗號(,)隔開。

說明

僅支援IPV4。

Policy

String

授權策略。

取值:

  • accept(預設值):接受訪問。

  • drop:拒絕訪問。

SourcePortRange

String

源端安全性群組開放的傳輸層協議相關的連接埠範圍。

取值:

  • TCP/UDP協議:取值為1~65535。使用正斜線(/)間隔開始端點口和終止連接埠。

    • 正確樣本:1/200。

    • 錯誤樣本:200/1。

  • ICMP協議:-1/-1。

  • GRE協議:-1/-1。

  • IpProtocol取值為all:-1/-1。

Ipv6SourceCidrIp

String

源IPv6 CIDR位址區段。

僅支援專用網路類型的IP地址。支援在CIDR格式和IPv6格式的IP位址範圍。

Ipv6DestCidrIp

String

目的端IPv6 CIDR地址塊。

支援CIDR格式和IPv6格式的IP位址範圍。

說明

僅在支援IPv6的VPC類型ECS執行個體上有效,且該參數與DestCidrIp參數不可同時設定。

SourceGroupOwnerAccount

String

源端安全性群組所屬的阿里雲賬戶。

  • 如果SourceGroupOwnerAccountSourceGroupOwnerId均未設定,則認為是設定您其他安全性群組的存取權限。

  • 如果已經設定參數SourceCidrIp,則參數SourceGroupOwnerAccount無效。

DestCidrIp

String

目的端IPv4 CIDR位址區段。

支援CIDR格式和IPv4格式的IP位址範圍。

用於支援五元組規則,請參見安全性群組五元組規則

傳回值

Fn::GetAtt

  • SecurityGroupId:安全性群組ID。

  • SecurityGroupName:安全性群組名稱。

樣本

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  SecurityGroup:
    Type: 'ALIYUN::ECS::SecurityGroup'
    Properties:
      SecurityGroupIngress:
        - PortRange: 22/22
          SourceCidrIp: 0.0.0.0/0
          IpProtocol: tcp
        - PortRange: 80/80
          SourceCidrIp: 0.0.0.0/0
          IpProtocol: tcp
      SecurityGroupType: normal
      VpcId:
        Ref: VpcId
      SecurityGroupEgress:
        - PortRange: 443/443
          DestCidrIp: 0.0.0.0/0
          IpProtocol: tcp
      SecurityGroupName: TestSecurityGroupName
Parameters:
  VpcId:
    AssociationProperty: 'ALIYUN::ECS::VPC::VPCId'
    Type: String
    Label:
      zh-cn: 現有VPC的執行個體ID
      en: Existing VPC Instance ID
Outputs:
  SecurityGroupId:
    Description: generated security group id for security group.
    Value:
      'Fn::GetAtt':
        - SecurityGroup
        - SecurityGroupId
  SecurityGroupName:
    Description: The name of security group.
    Value:
      'Fn::GetAtt':
        - SecurityGroup
        - SecurityGroupName

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "SecurityGroup": {
      "Type": "ALIYUN::ECS::SecurityGroup",
      "Properties": {
        "SecurityGroupIngress": [
          {
            "PortRange": "22/22",
            "SourceCidrIp": "0.0.0.0/0",
            "IpProtocol": "tcp"
          },
          {
            "PortRange": "80/80",
            "SourceCidrIp": "0.0.0.0/0",
            "IpProtocol": "tcp"
          }
        ],
        "SecurityGroupType": "normal",
        "VpcId": {
          "Ref": "VpcId"
        },
        "SecurityGroupEgress": [
          {
            "PortRange": "443/443",
            "DestCidrIp": "0.0.0.0/0",
            "IpProtocol": "tcp"
          }
        ],
        "SecurityGroupName": "TestSecurityGroupName"
      }
    }
  },
  "Parameters": {
    "VpcId": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Label": {
        "zh-cn": "現有VPC的執行個體ID",
        "en": "Existing VPC Instance ID"
      }
    }
  },
  "Outputs": {
    "SecurityGroupId": {
      "Description": "generated security group id for security group.",
      "Value": {
        "Fn::GetAtt": [
          "SecurityGroup",
          "SecurityGroupId"
        ]
      }
    },
    "SecurityGroupName": {
      "Description": "The name of security group.",
      "Value": {
        "Fn::GetAtt": [
          "SecurityGroup",
          "SecurityGroupName"
        ]
      }
    }
  }
}