La ressource ALIYUN::ECS::SecurityGroup permet de créer un groupe de sécurité.
Syntaxe
{
"Type": "ALIYUN::ECS::SecurityGroup",
"Properties": {
"VpcId": String,
"Description": String,
"SecurityGroupName": String,
"Tags": List,
"SecurityGroupEgress": List,
"SecurityGroupIngress": List,
"ResourceGroupId": String,
"SecurityGroupType": String
}
}
Propriétés
Nom de la propriété | Type | Obligatoire | Mises à jour autorisées | Description | Contraintes |
ResourceGroupId | String | Non | Oui | ID du groupe de ressources auquel appartient le groupe de sécurité. | Aucune |
VpcId | String | Non | Non | ID du réseau privé virtuel (VPC). | Aucune |
Description | String | Non | Non | Description du groupe de sécurité. | Longueur comprise entre 2 et 256 caractères. |
Tags | List | Non | Oui | Tags du groupe de sécurité. | Jusqu'à 20 tags. Pour plus d'informations, consultez les propriétés Tags. |
SecurityGroupName | String | Non | Non | Nom du groupe de sécurité. | Vide par défaut si non spécifié.
|
SecurityGroupEgress | List | Non | Oui | Règles de trafic sortant du groupe de sécurité. | Pour plus d'informations, consultez les propriétés SecurityGroupEgress. |
SecurityGroupIngress | List | Non | Oui | Règles de trafic entrant du groupe de sécurité. | Pour plus d'informations, consultez les propriétés SecurityGroupIngress. |
SecurityGroupType | String | Non | Non | Type de groupe de sécurité. | Valeurs valides :
|
Syntaxe des tags
"Tags": [
{
"Value" : String,
"Key" : String
}
]
Propriétés des tags
|
Nom de la propriété |
Type |
Obligatoire |
Mises à jour autorisées |
Description |
Contraintes |
|
Key |
String |
Oui |
Non |
Clé du tag. |
Longueur comprise entre 1 et 128 caractères. Ne peut pas commencer par |
|
Value |
String |
Non |
Non |
Valeur du tag. |
Longueur comprise entre 0 et 128 caractères. Ne peut pas commencer par |
Syntaxe 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
}
]
Propriétés SecurityGroupEgress
Nom de la propriété | Type | Obligatoire | Mise à jour possible | Description | Contraintes |
Description | String | Non | Oui | Description de la règle du groupe de sécurité. | Longueur comprise entre 1 et 512 caractères. |
DestGroupOwnerId | String | Non | Non | ID du compte Alibaba Cloud du groupe de sécurité de destination lors de la configuration d'une règle inter-comptes. | Si vous ne définissez pas |
IpProtocol | String | Oui | Non | Protocole IP. | Valeurs valides :
|
PortRange | String | Oui | Non | Plage de ports associée au protocole IP. | Plage de ports associée au protocole de la couche transport ouvert par le groupe de sécurité de destination. Valeurs valides :
|
NicType | String | Non | Non | Type de réseau. | Valeurs valides :
Pour les règles de groupe de sécurité VPC, il n'est pas nécessaire de définir le type d'interface réseau (NIC). La valeur par défaut est intranet et ne peut être qu'intranet. Lorsque vous configurez un accès mutuel entre groupes de sécurité (c'est-à-dire en spécifiant uniquement le paramètre Valeur par défaut : internet. |
DestPrefixListId | String | Non | Non | ID de la liste de préfixes de destination pour laquelle vous souhaitez configurer les autorisations de trafic sortant. | Appelez l'opération Les listes de préfixes ne sont pas prises en charge lorsque le type de réseau du groupe de sécurité est un réseau classique. Si vous spécifiez l'un des paramètres |
Priority | Integer | Non | Non | Priorité de la politique d'autorisation. | Valeurs valides : 1 à 100. Valeur par défaut : 1. |
DestGroupId | String | Non | Non | ID du groupe de sécurité de destination dans la même région. | Spécifiez soit le paramètre
|
DestCidrIp | String | Non | Non | Plage d'adresses IP de destination. | Spécifiez la plage d'adresses IP au format CIDR. Valeur par défaut : 0.0.0.0/0 (sans restriction). Autres formats pris en charge, tels que 10.159.XX.XX/12. Maximum de 10 adresses IP ou blocs CIDR, séparés par des virgules (,). Remarque Seul IPv4 est pris en charge. |
Policy | String | Non | Non | Politique d'autorisation. | Valeurs valides :
|
Ipv6DestCidrIp | String | Non | Non | Bloc CIDR IPv6 de destination. | Prend en charge les plages d'adresses IP aux formats CIDR et IPv6. Prend uniquement en charge les adresses IP de type VPC. |
SourcePortRange | String | Non | Non | Plage de ports source associée au protocole de la couche transport ouvert par le groupe de sécurité. | Valeurs valides :
Pour les règles quintuplets, consultez les règles quintuplets des groupes de sécurité. |
Ipv6SourceCidrIp | String | Non | Non | Bloc CIDR IPv6 source. | Prend en charge les plages d'adresses IP aux formats CIDR et IPv6. Pour les règles quintuplets, consultez les règles quintuplets des groupes de sécurité. Remarque Ce paramètre est valide uniquement pour les instances ECS VPC activées pour IPv6. Ne définissez pas ce paramètre et le paramètre |
SourceCidrIp | String | Non | Non | Bloc CIDR IPv4 source. | Prend en charge les plages d'adresses IP aux formats CIDR et IPv4. Pour les règles quintuplets, consultez les règles quintuplets des groupes de sécurité. |
DestGroupOwnerAccount | String | Non | Non | Compte Alibaba Cloud auquel appartient le groupe de sécurité de destination. |
|
Syntaxe 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
}
]
Propriétés SecurityGroupIngress
Nom de la propriété | Type | Obligatoire | Mise à jour possible | Description | Contraintes |
SourceGroupOwnerId | String | Non | Non | ID du compte Alibaba Cloud du groupe de sécurité source. | Aucune |
Description | String | Non | Oui | Description de la règle du groupe de sécurité. | Longueur comprise entre 1 et 512 caractères. |
SourcePrefixListId | String | Non | Non | ID de la liste de préfixes source pour laquelle vous souhaitez configurer les autorisations de trafic entrant. | Appelez l'opération Les listes de préfixes ne sont pas prises en charge lorsque le type de réseau du groupe de sécurité est un réseau classique. Si vous spécifiez l'un des paramètres |
IpProtocol | String | Oui | Non | Protocole IP. | Valeurs valides :
|
PortRange | String | Oui | Non | Plage de ports associée au protocole IP. | Plage de ports associée au protocole de la couche transport ouvert par le groupe de sécurité de destination. Valeurs valides :
|
SourceGroupId | String | Non | Non | ID du groupe de sécurité source dans la même région. | Spécifiez soit le paramètre Si vous spécifiez les deux, le système autorise Si vous spécifiez ce paramètre sans spécifier |
NicType | String | Non | Non | Type de réseau. | Valeurs valides :
|
Priority | Integer | Non | Non | Priorité de la politique d'autorisation. | Valeurs valides : 1 à 100. Valeur par défaut : 1. |
SourceCidrIp | String | Non | Non | Plage d'adresses IP source. | Spécifiez la plage d'adresses IP au format CIDR. Valeur par défaut : 0.0.0.0/0 (sans restriction). Autres formats pris en charge, tels que 10.159.XX.XX/12. Maximum de 10 adresses IP ou blocs CIDR, séparés par des virgules (,). Remarque Seul IPv4 est pris en charge. |
Policy | String | Non | Non | Politique d'autorisation. | Valeurs valides :
|
SourcePortRange | String | Non | Non | Plage de ports ouverts dans le groupe de sécurité source pour le protocole de la couche transport. | Valeurs valides :
|
Ipv6SourceCidrIp | String | Non | Non | Bloc CIDR IPv6 source. | Prend uniquement en charge les adresses IP de type VPC. Prend en charge les plages d'adresses IP aux formats CIDR et IPv6. |
Ipv6DestCidrIp | String | Non | Non | Bloc CIDR IPv6 de destination. | Prend en charge les plages d'adresses IP aux formats CIDR et IPv6. Remarque Ce paramètre est valide uniquement pour les instances ECS VPC activées pour IPv6. Ne définissez pas ce paramètre et le paramètre |
SourceGroupOwnerAccount | String | Non | Non | Compte Alibaba Cloud auquel appartient le groupe de sécurité source. |
|
DestCidrIp | String | Non | Non | Bloc CIDR IPv4 de destination. | Prend en charge les plages d'adresses IP aux formats CIDR et IPv4. Pour les règles quintuplets, consultez les règles quintuplets des groupes de sécurité. |
Valeurs de retour
Fn::GetAtt
SecurityGroupId : ID du groupe de sécurité.
SecurityGroupName : nom du groupe de sécurité.
Exemples
Scénario 1 : Créer un groupe de sécurité standard dans un VPC existant.
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"
]
}
}
}
}
Scénario 2 : Créer un groupe de sécurité avancé dans un VPC existant.
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"
]
}
}
}
}Scénario 3 : Créer une instance ECS et configurer le groupe de sécurité pour ouvrir le port entrant 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": {
}
}Pour plus d'exemples, consultez les modèles publics incluant cette ressource.