O recurso ALIYUN::ECS::SecurityGroup cria um grupo de segurança.
Sintaxe
{
"Type": "ALIYUN::ECS::SecurityGroup",
"Properties": {
"VpcId": String,
"Description": String,
"SecurityGroupName": String,
"Tags": List,
"SecurityGroupEgress": List,
"SecurityGroupIngress": List,
"ResourceGroupId": String,
"SecurityGroupType": String
}
}
Propriedades
Nome da propriedade | Tipo | Obrigatório | Permite atualizações | Descrição | Restrições |
ResourceGroupId | String | Não | Sim | ID do grupo de recursos ao qual o grupo de segurança pertence. | Nenhuma |
VpcId | String | Não | Não | ID da Virtual Private Cloud (VPC). | Nenhuma |
Description | String | Não | Não | Descrição do grupo de segurança. | Deve ter de 2 a 256 caracteres. |
Tags | List | Não | Sim | Tags do grupo de segurança. | Suporta no máximo 20 tags. Para mais informações, consulte Propriedades de Tags. |
SecurityGroupName | String | Não | Não | Nome do grupo de segurança. | Se não especificado, o valor será vazio. O valor padrão é vazio.
|
SecurityGroupEgress | List | Não | Sim | Regras de acesso de saída do grupo de segurança. | Para mais informações, consulte Propriedades de SecurityGroupEgress. |
SecurityGroupIngress | List | Não | Sim | Regras de acesso de entrada do grupo de segurança. | Para mais informações, consulte Propriedades de SecurityGroupIngress. |
SecurityGroupType | String | Não | Não | Tipo do grupo de segurança. | Valores válidos:
|
Sintaxe de Tags
"Tags": [
{
"Value" : String,
"Key" : String
}
]
Propriedades de Tags
|
Nome da propriedade |
Tipo |
Obrigatório |
Permite atualizações |
Descrição |
Restrições |
|
Key |
String |
Sim |
Não |
Chave da tag. |
Deve ter de 1 a 128 caracteres. Não pode começar com |
|
Value |
String |
Não |
Não |
Valor da tag. |
Deve ter de 0 a 128 caracteres. Não pode começar com |
Sintaxe de 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
}
]
Propriedades de SecurityGroupEgress
Nome da propriedade | Tipo | Obrigatório | Atualizável | Descrição | Restrições |
Description | String | Não | Sim | Descrição da regra do grupo de segurança. | Deve ter de 1 a 512 caracteres. |
DestGroupOwnerId | String | Não | Não | ID da conta Alibaba Cloud do grupo de segurança de destino ao configurar uma regra entre contas. | Se você não defina DestGroupOwnerId, o sistema assume que as permissões de acesso são para outros grupos de segurança. Caso defina o parâmetro DestCidrIp, o parâmetro DestGroupOwnerId torna-se inválido. |
IpProtocol | String | Sim | Não | Protocolo IP. | Valores válidos:
|
PortRange | String | Sim | Não | Faixa de portas associada ao protocolo IP. | Faixa de portas do protocolo de camada de transporte aberta pelo grupo de segurança de destino. Valores válidos:
|
NicType | String | Não | Não | Tipo de rede. | Valores válidos:
Para regras de grupo de segurança em VPC, não é necessário defina o tipo de controlador de interface de rede (NIC). O valor padrão é intranet e só pode ser intranet. Ao configure acesso mútuo entre grupos de segurança, ou seja, especifique apenas o parâmetro DestGroupId, o valor só pode ser intranet. Valor padrão: internet. |
DestPrefixListId | String | Não | Não | ID da lista de prefixos de destino para a qual você deseja configure permissões de acesso de saída. | Chame a interface DescribePrefixLists do serviço ECS da Alibaba Cloud para consultar os IDs de listas de prefixos disponíveis. Listas de prefixos não são suportadas quando o tipo de rede do grupo de segurança é classic network. Se você especifique qualquer um dos parâmetros DestCidrIp, Ipv6DestCidrIp ou DestGroupId, o sistema ignorará este parâmetro. |
Priority | Integer | Não | Não | Prioridade da política de autorização. | Valores válidos: 1 a 100. Valor padrão: 1. |
DestGroupId | String | Não | Não | ID do grupo de segurança de destino na mesma região. | Especifique o parâmetro DestGroupId ou DestCidrIp.
|
DestCidrIp | String | Não | Não | Faixa de endereços IP de destino. | Especifique a faixa de endereços IP no formato CIDR. Valor padrão: 0.0.0.0/0 (sem restrições). Outros formatos suportados, como 10.159.XX.XX/12. Máximo de 10 endereços IP ou blocos CIDR, separados por vírgulas (,). Nota Somente IPv4 é suportado. |
Policy | String | Não | Não | Política de autorização. | Valores válidos:
|
Ipv6DestCidrIp | String | Não | Não | Bloco CIDR IPv6 de destino. | Suporta faixas de endereços IP nos formatos CIDR e IPv6. Aceita apenas endereços IP do tipo VPC. |
SourcePortRange | String | Não | Não | Faixa de portas de source do protocolo de camada de transporte aberta pelo grupo de segurança. | Valores válidos:
Para regras de quinteto, consulte Regras de quinteto de grupo de segurança. |
Ipv6SourceCidrIp | String | Não | Não | Bloco CIDR IPv6 de source. | Suporta faixas de endereços IP nos formatos CIDR e IPv6. Para regras de quinteto, consulte Regras de quinteto de grupo de segurança. Nota Este parâmetro é válido apenas para instâncias ECS em VPC com IPv6 habilitado. Não defina este parâmetro e o parâmetro |
SourceCidrIp | String | Não | Não | Bloco CIDR IPv4 de source. | Suporta faixas de endereços IP nos formatos CIDR e IPv4. Para regras de quinteto, consulte Regras de quinteto de grupo de segurança. |
DestGroupOwnerAccount | String | Não | Não | Conta Alibaba Cloud à qual o grupo de segurança de destino pertence. |
|
Sintaxe de 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
}
]
Propriedades de SecurityGroupIngress
Nome da propriedade | Tipo | Obrigatório | Atualizável | Descrição | Restrições |
SourceGroupOwnerId | String | Não | Não | ID da conta Alibaba Cloud do grupo de segurança de source. | Nenhuma |
Description | String | Não | Sim | Descrição da regra do grupo de segurança. | Deve ter de 1 a 512 caracteres. |
SourcePrefixListId | String | Não | Não | ID da lista de prefixos de source para a qual você deseja configure permissões de acesso de entrada. | Chame a interface DescribePrefixLists do serviço ECS da Alibaba Cloud para consultar os IDs de listas de prefixos disponíveis. Listas de prefixos não são suportadas quando o tipo de rede do grupo de segurança é classic network. Se você especifique qualquer um dos parâmetros SourceCidrIp, Ipv6DestCidrIp ou DestGroupId, o sistema ignorará este parâmetro. |
IpProtocol | String | Sim | Não | Protocolo IP. | Valores válidos:
|
PortRange | String | Sim | Não | Faixa de portas associada ao protocolo IP. | Faixa de portas do protocolo de camada de transporte aberta pelo grupo de segurança de destino. Valores válidos:
|
SourceGroupId | String | Não | Não | ID do grupo de segurança de source na mesma região. | Especifique o parâmetro SourceGroupId ou SourceCidrIp. Se ambos forem especificados, o sistema autoriza SourceCidrIp por padrão. Se você especifique este parâmetro e não defina SourceCidrIp, NicType só poderá ser intranet. |
NicType | String | Não | Não | Tipo de rede. | Valores válidos:
|
Priority | Integer | Não | Não | Prioridade da política de autorização. | Valores válidos: 1 a 100. Valor padrão: 1. |
SourceCidrIp | String | Não | Não | Faixa de endereços IP de source. | Especifique a faixa de endereços IP no formato CIDR. Valor padrão: 0.0.0.0/0 (sem restrições). Outros formatos suportados, como 10.159.XX.XX/12. Máximo de 10 endereços IP ou blocos CIDR, separados por vírgulas (,). Nota Somente IPv4 é suportado. |
Policy | String | Não | Não | Política de autorização. | Valores válidos:
|
SourcePortRange | String | Não | Não | Faixa de portas abertas no grupo de segurança de source para o protocolo de camada de transporte. | Valores válidos:
|
Ipv6SourceCidrIp | String | Não | Não | Bloco CIDR IPv6 de source. | Aceita apenas endereços IP do tipo VPC. Suporta faixas de endereços IP nos formatos CIDR e IPv6. |
Ipv6DestCidrIp | String | Não | Não | Bloco CIDR IPv6 de destino. | Suporta faixas de endereços IP nos formatos CIDR e IPv6. Nota Este parâmetro é válido apenas para instâncias ECS em VPC com IPv6 habilitado. Não defina este parâmetro e o parâmetro |
SourceGroupOwnerAccount | String | Não | Não | Conta Alibaba Cloud à qual o grupo de segurança de source pertence. |
|
DestCidrIp | String | Não | Não | Bloco CIDR IPv4 de destino. | Suporta faixas de endereços IP nos formatos CIDR e IPv4. Para regras de quinteto, consulte Regras de quinteto de grupo de segurança. |
Valores de retorno
Fn::GetAtt
SecurityGroupId: ID do grupo de segurança.
SecurityGroupName: nome do grupo de segurança.
Exemplos
Cenário 1: Crie um grupo de segurança básico em uma VPC existente.
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: Existing VPC instance 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
{
"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": "Existing VPC instance 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"
]
}
}
}
}
Cenário 2: Crie um grupo de segurança avançado em uma VPC existente.
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: enterprise
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: Existing VPC instance 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
{
"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": "enterprise",
"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": "Existing VPC instance 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"
]
}
}
}
}
Cenário 3: Crie uma instância ECS e configure o grupo de segurança para abrir a porta de entrada 9966.
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: Create an ECS instance and configure the security group to open inbound port 9966.
en: Create an ECS instance and configure the security group to open inbound port 9966.
Parameters:
ZoneId:
Type: String
Label:
en: Availability Zone
zh-cn: Zone ID
AssociationProperty: ALIYUN::ECS::Instance:ZoneId
InstanceType:
Type: String
Label:
en: Instance Type
zh-cn: Instance type
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ${ZoneId}
SystemDiskCategory:
Type: String
Label:
en: System Disk Type
zh-cn: System disk type
AssociationProperty: ALIYUN::ECS::Disk::SystemDiskCategory
AssociationPropertyMetadata:
LocaleKey: DiskCategory
ZoneId: ${ZoneId}
InstanceType: ${InstanceType}
AutoSelectFirst: true
AutoChangeType: false
Default: cloud_essd
InstancePassword:
Type: String
NoEcho: true
Label:
en: Instance Password
zh-cn: Instance password
Description:
en: Server logon password. Length must be 8–30 characters and include three of the following: uppercase letters, lowercase letters, numbers, or special symbols ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
zh-cn: Server logon password. Length must be 8–30 characters and include three of the following: uppercase letters, lowercase letters, numbers, or special symbols ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
ConstraintDescription:
en: Length must be 8–30 characters and include three of the following: uppercase letters, lowercase letters, numbers, or special symbols ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
zh-cn: Length must be 8–30 characters and include three of the following: uppercase letters, lowercase letters, numbers, or special symbols ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Equals:
- ${SelectInstance}
- false
Default: Null
AssociationProperty: ALIYUN::ECS::Instance::Password
Resources:
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
CidrBlock: 192.168.0.0/16
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
ZoneId:
Ref: ZoneId
VpcId:
Ref: Vpc
CidrBlock: 192.168.0.0/24
SecurityGroup:
Type: ALIYUN::ECS::SecurityGroup
Properties:
VpcId:
Ref: Vpc
SecurityGroupIngress_9966:
Type: ALIYUN::ECS::SecurityGroupIngress
Properties:
SecurityGroupId:
Ref: SecurityGroup
SourceCidrIp: 0.0.0.0/0
IpProtocol: tcp
NicType: intranet
PortRange: 9966/9966
InstanceGroup:
Type: ALIYUN::ECS::InstanceGroup
Properties:
VpcId:
Ref: Vpc
VSwitchId:
Ref: VSwitch
SecurityGroupId:
Ref: SecurityGroup
ImageId: ubuntu_22_04
InstanceName: ChatTTS
InstanceType:
Ref: InstanceType
SystemDiskCategory:
Ref: SystemDiskCategory
Password:
Ref: InstancePassword
IoOptimized: optimized
MaxAmount: 1
Outputs: {}
Metadata: {}
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "Create an ECS instance and configure the security group to open inbound port 9966.",
"en": "Create an ECS instance and configure the security group to open inbound port 9966."
},
"Parameters": {
"ZoneId": {
"Type": "String",
"Label": {
"en": "Availability Zone",
"zh-cn": "Zone ID"
},
"AssociationProperty": "ALIYUN::ECS::Instance:ZoneId"
},
"InstanceType": {
"Type": "String",
"Label": {
"en": "Instance Type",
"zh-cn": "Instance type"
},
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
"AssociationPropertyMetadata": {
"ZoneId": "${ZoneId}"
}
},
"SystemDiskCategory": {
"Type": "String",
"Label": {
"en": "System Disk Type",
"zh-cn": "System disk type"
},
"AssociationProperty": "ALIYUN::ECS::Disk::SystemDiskCategory",
"AssociationPropertyMetadata": {
"LocaleKey": "DiskCategory",
"ZoneId": "${ZoneId}",
"InstanceType": "${InstanceType}",
"AutoSelectFirst": true,
"AutoChangeType": false
},
"Default": "cloud_essd"
},
"InstancePassword": {
"Type": "String",
"NoEcho": true,
"Label": {
"en": "Instance Password",
"zh-cn": "Instance password"
},
"Description": {
"en": "Server logon password. Length must be 8–30 characters and include three of the following: uppercase letters, lowercase letters, numbers, or special symbols ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/",
"zh-cn": "Server logon password. Length must be 8–30 characters and include three of the following: uppercase letters, lowercase letters, numbers, or special symbols ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/"
},
"ConstraintDescription": {
"en": "Length must be 8–30 characters and include three of the following: uppercase letters, lowercase letters, numbers, or special symbols ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/",
"zh-cn": "Length must be 8–30 characters and include three of the following: uppercase letters, lowercase letters, numbers, or special symbols ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/"
},
"AssociationPropertyMetadata": {
"Visible": {
"Condition": {
"Fn::Equals": [
"${SelectInstance}",
false
]
}
}
},
"Default": null,
"AssociationProperty": "ALIYUN::ECS::Instance::Password"
}
},
"Resources": {
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"CidrBlock": "192.168.0.0/16"
}
},
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"ZoneId": {
"Ref": "ZoneId"
},
"VpcId": {
"Ref": "Vpc"
},
"CidrBlock": "192.168.0.0/24"
}
},
"SecurityGroup": {
"Type": "ALIYUN::ECS::SecurityGroup",
"Properties": {
"VpcId": {
"Ref": "Vpc"
}
}
},
"SecurityGroupIngress_9966": {
"Type": "ALIYUN::ECS::SecurityGroupIngress",
"Properties": {
"SecurityGroupId": {
"Ref": "SecurityGroup"
},
"SourceCidrIp": "0.0.0.0/0",
"IpProtocol": "tcp",
"NicType": "intranet",
"PortRange": "9966/9966"
}
},
"InstanceGroup": {
"Type": "ALIYUN::ECS::InstanceGroup",
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"VSwitchId": {
"Ref": "VSwitch"
},
"SecurityGroupId": {
"Ref": "SecurityGroup"
},
"ImageId": "ubuntu_22_04",
"InstanceName": "ChatTTS",
"InstanceType": {
"Ref": "InstanceType"
},
"SystemDiskCategory": {
"Ref": "SystemDiskCategory"
},
"Password": {
"Ref": "InstancePassword"
},
"IoOptimized": "optimized",
"MaxAmount": 1
}
}
},
"Outputs": {
},
"Metadata": {
}
}
Para mais exemplos, consulte modelos públicos que incluem este recurso.