Ajouter des règles à un security group

Vous pouvez ajouter des règles pour les flux entrants à des security groups. Vous pouvez également ajouter des règles pour les flux sortants aux security groups que vous créez pour un Net.

Les règles de security groups vous permettent d’autoriser les flux dans un protocole et sur les ports que vous spécifiez, venant soit d’une IP unique ou d’une plage d’IP (publiques, privées ou externes), soit d’un autre security group. Lorsque vous ajoutez une règle à un security group, celle-ci est automatiquement appliquée aux machines virtuelles (VM) auxquelles le security group est associé.

Ajouter des règles à un security group avec Cockpit v2

  1. Dans le dashboard Security Groups, cliquez sur l’ID du security group auquel vous voulez ajouter une règle.
    Le volet des security group rules apparaît.

  2. Cliquez sur IconAddFull Créer pour ajouter une règle d’entrée, ou, le cas échéant, sur l’onglet Règles de sortie puis sur IconAddFull Créer.
    La boîte de dialogue CRÉER DES RÈGLES D’ENTRÉE ou CRÉER DES RÈGLES DE SORTIE apparaît.

  3. Pour définir une règle, spécifiez les informations suivantes :

    • Service : Le service (par exemple, SSH or HTTP). Pour en savoir plus sur les services disponibles, voir À propos des règles des security groups.

    • Protocole : Le protocole IP (tcp, udp, icmp, ou Tous), le cas échéant.

    • Port/ICMP : Les numéros de ports ou types ICMP, le cas échéant. Cela peut être :

      • Une valeur ou plus, séparées par des points-virgules

      • Une plage de valeurs, séparées par un trait d’union

      • Pour TCP et UDP : un numéro de port seul entre 0 et 65535, ou une plage de numéros de ports.

      • Pour ICMP : un numéro de type seul entre 0 et 255, ou un numéro de type et numéro de code, ou -1 pour indiquer tous les types ICMP.

        Évitez d’ouvrir des flux sur tous les ports (1-65535), car cela vous empêche de les contrôler efficacement. Ouvrez des flux uniquement sur les ports dont vous avez besoin.

    • Plage d’IP/Security group : La cible de la règle. Cela peut être :

      • Une IP en notation CIDR

      • Une plage d’IP en notation CIDR

      • Un autre security group, spécifié par ID ou par nom

        Si le bouton Mon IP ne fonctionne pas, vérifiez si une extension de navigateur bloque des scripts sur la page.

  4. Pour ajouter plusieurs règles à la fois, cliquez sur IconAddFull Ajouter une règle et répétez l’étape 3.

  5. Cliquez sur Créer.
    La ou les règles sont ajoutées au security group.

Ajouter des règles à un security group avec OSC CLI

À ce jour, cette section est disponible en anglais uniquement.

The CreateSecurityGroupRule command adds one or more rules to a security group.
Use the SecurityGroupId parameter to specify the security group for which you want to create a rule.
Use the Flow parameter to specify if you want an inbound rule or an outbound rule.

An inbound rule allows the security group to receive traffic:

  • Either from a specific IP range (IpRange parameter) on a specific port range (FromPortRange and ToPortRange parameters) and specific protocol (IpProtocol parameter).

  • Or from another specific security group (SecurityGroupAccountIdToLink and SecurityGroupNameToLink parameters).

(Net only) An outbound rule works similarly but allows the security group to send traffic rather than receive traffic.

Alternatively, you can use the Rules parameter to add several rules at the same time.

  • The modifications are effective as quickly as possible, but a small delay may occur.

  • By default, traffic between two security groups is allowed through both public and private IPs. To restrict traffic to private IPs only, contact our Support team at support@outscale.com.

For more information, see About Security Group Rules.

Request sample: Creating an inbound rule from an IP range
$ osc-cli api CreateSecurityGroupRule --profile "default" \
    --Flow "Inbound" \
    --SecurityGroupId "sg-12345678" \
    --FromPortRange 80 \
    --ToPortRange 80 \
    --IpProtocol "tcp" \
    --IpRange "10.0.0.0/16"
Request sample: Creating an inbound rule from another security group
$ osc-cli api CreateSecurityGroupRule --profile "default" \
    --Flow "Inbound" \
    --SecurityGroupId "sg-12345678" \
    --Rules '[
        {
          "FromPortRange": 22,
          "ToPortRange": 22,
          "IpProtocol": "tcp",
          "SecurityGroupsMembers": [{"AccountId": "123456789012", "SecurityGroupName": "another-security-group"}],
        },
      ]'

This command contains the following attributes that you need to specify:

  • DryRun: (optional) If true, checks whether you have the required permissions to perform the action.

  • Flow: The direction of the flow: Inbound or Outbound. You can specify Outbound for Nets only.

  • FromPortRange: (optional) The beginning of the port range for the TCP and UDP protocols, or an ICMP type number. If you specify this parameter, you cannot specify the Rules parameter and its subparameters.

  • IpProtocol: (optional) The IP protocol name (tcp, udp, icmp, or -1 for all protocols). By default, -1. In a Net, this can also be an IP protocol number. For more information, see the IANA.org website. If you specify this parameter, you cannot specify the Rules parameter and its subparameters.

  • IpRange: (optional) The IP range for the security group rule, in CIDR notation (for example, 10.0.0.0/16). If you specify this parameter, you cannot specify the Rules parameter and its subparameters.

  • Rules: (optional) Information about the security group rule to create. If you specify this parent parameter and its subparameters, you cannot specify the following parent parameters: FromPortRange, IpProtocol, IpRange, and ToPortRange.

  • SecurityGroupAccountIdToLink: (optional) The account ID that owns the source or destination security group specified in the SecurityGroupNameToLink parameter.

  • SecurityGroupId: The ID of the security group for which you want to create a rule.

  • SecurityGroupNameToLink: (optional) The ID of a source or destination security group that you want to link to the security group of the rule.

  • ToPortRange: (optional) The end of the port range for the TCP and UDP protocols, or an ICMP code number. If you specify this parameter, you cannot specify the Rules parameter and its subparameters.

The CreateSecurityGroupRule command returns the following elements:

  • ResponseContext: Information about the context of the response.

  • SecurityGroup: Information about the security group.

Result sample: Creating an inbound rule from an IP range
{
  "SecurityGroup": {
    "Tags": [],
    "SecurityGroupName": "security-group-example",
    "OutboundRules": [
      {
        "FromPortRange": -1,
        "IpProtocol": "-1",
        "ToPortRange": -1,
        "IpRanges": [
          "0.0.0.0/0"
        ]
      }
    ],
    "SecurityGroupId": "sg-12345678",
    "AccountId": "123456789012",
    "Description": "Example of security group",
    "InboundRules": [
      {
        "FromPortRange": 80,
        "IpProtocol": "tcp",
        "ToPortRange": 80,
        "IpRanges": [
          "10.0.0.0/16"
        ]
      }
    ],
    "NetId": "vpc-12345678"
  },
  "ResponseContext": {
    "RequestId": "0475ca1e-d0c5-441d-712a-da55a4175157"
  }
}
Result sample: Creating an inbound rule from another security group
{
  "SecurityGroup": {
    "Tags": [],
    "SecurityGroupName": "security-group-example",
    "OutboundRules": [
      {
        "FromPortRange": -1,
        "IpProtocol": "-1",
        "ToPortRange": -1,
        "IpRanges": [
          "0.0.0.0/0"
        ]
      }
    ],
    "SecurityGroupId": "sg-12345678",
    "AccountId": "123456789012",
    "Description": "Example of security group",
    "InboundRules": [
      {
        "FromPortRange": 22,
        "IpProtocol": "tcp",
        "ToPortRange": 22,
        "SecurityGroupsMembers": [
          {
            "SecurityGroupName": "another-security-group",
            "SecurityGroupId": "sg-87654321",
            "AccountId": "987654321098"
          }
        ]
      }
    ],
    "NetId": "vpc-12345678"
  },
  "ResponseContext": {
    "RequestId": "0475ca1e-d0c5-441d-712a-da55a4175157"
  }
}

Ajouter des règles à un security group avec AWS CLI

Ajouter des règles pour les flux entrants à un security group

Pour ajouter une ou plusieurs règles pour les flux entrants, utilisez la commande authorize-security-group-ingress suivant cette syntaxe :

Exemple de requête
$ aws ec2 authorize-security-group-ingress \
    --profile YOUR_PROFILE \
    --group-name my-security-group \
    [--group-id NOT_SPECIFIED] \
    [--protocol NOT_SPECIFIED] \
    [--port NOT_SPECIFIED] \
    [--cidr NOT_SPECIFIED] \
    [--source-group NOT_SPECIFIED] \
    [--group-owner NOT_SPECIFIED] \
    --ip-permissions "[ \
                        { \
                        \"IpProtocol\": \"tcp\", \
                        \"FromPort\": 22, \
                        \"ToPort\": 22, \
                        \"IpRanges\": [ \
                                        { \
                                        \"CidrIp\": \"10.0.0.0/16\" \
                                        } \
                                      ], \
                        \"UserIdGroupPairs\": [ \
                                                { \
                                                \"UserId\": \"123456789000\", \
                                                \"GroupName\": \"dev-sg\", \
                                                \"GroupId\": \"sg-87654321\" \
                                                } \
                                              ] \
                        } \
                      ]" \
    --endpoint https://fcu.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • (optionnel) profile : Le profil nommé que vous voulez utiliser, créé pendant la configuration d’AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI.

  • (optionnel) group-name : Le nom du security group, si vous êtes dans le Cloud public.

  • (optionnel) group-id : L’ID du security group.

    Parmi les attributs qui suivent, vous devez spécifier soit :

    • les attributs protocol, port et cidr

    • les attributs protocol, port, source-group et group-owner

    • l’attribut ip-permissions

  • (optionnel) protocol : Le nom de protocole (tcp, udp, icmp, ou -1 pour tous les protocoles). Par défaut, -1. Dans un VPC, cette valeur peut aussi être un numéro de protocole IP. Pour en savoir plus, voir le site IANA.org.

  • (optionnel) port : Le port en tant que nombre entier, ou la plage de ports sous la forme min-max pour les protocoles TCP et UDP, ou le numéro de type de message et de code ICMP sous la forme type-code (-1 pour indiquer tous les types de messages ICMP).

  • (optionnel) cidr : La plage d’IP que vous voulez autoriser, en notation CIDR (préfixe /32 pour une IP individuelle).

  • (optionnel) source-group : Le nom ou l’ID du security group source dont vous voulez autoriser les flux.

  • (optionnel) group-owner : L’ID de compte du propriétaire du security group source, s’il appartient à un autre compte.

  • (optionnel) ip-permissions : Un ensemble d’autorisations que vous pouvez utiliser pour ajouter plusieurs règles dans une même requête. Cet attribut contient les éléments suivants que vous devez spécifier :

    • (optionnel) IpProtocol : Le nom de protocole (tcp, udp, icmp, ou -1 pour tous les protocoles). Par défaut, -1. Dans un VPC, cette valeur peut aussi être un numéro de protocole IP. Pour en savoir plus, voir le site IANA.org.

    • (optionnel) FromPort : Le début de la plage de port pour les protocoles TCP et UDP, ou un numéro de type de message ICMP (-1 pour indiquer tous les types de message ICMP).

    • (optionnel) ToPort : La fin de la plage de ports pour les protocoles TCP et UDP, ou le numéro d’un code ICMP (-1 pour indiquer tous les codes ICMP).

    • (optionnel) IpRanges : Une ou plusieurs plages d’IP.

      • (optionnel) CidrIp : La plage d’IP.

    • (optionnel) UserIdGroupPairs : Informations sur un ou plusieurs comptes ou security groups pour autoriser les flux venant de security groups d’autres comptes. Cet attribut contient les éléments suivants que vous devez spécifier :

      • (optionnel) UserId : L’ID de compte du propriétaire du security group référencé.

      • (optionnel) GroupName : Le nom du security group référencé.

      • (optionnel) GroupId : L’ID du security group référencé.

  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

Les règles spécifiées pour les flux entrants sont ajoutées au security group.

(VPC uniquement) Ajouter des règles pour les flux sortants à un security group

Pour ajouter une ou plusieurs règles pour les flux sortants, utilisez la commande authorize-security-group-egress suivant cette syntaxe :

Exemple de requête
$ aws ec2 authorize-security-group-egress \
    --profile YOUR_PROFILE \
    --group-id my-security-group \
    [--protocol NOT_SPECIFIED] \
    [--port NOT_SPECIFIED] \
    [--cidr NOT_SPECIFIED] \
    [--source-group NOT_SPECIFIED] \
    [--group-owner NOT_SPECIFIED] \
    --ip-permissions "[ \
                        { \
                        \"IpProtocol\": \"tcp\", \
                        \"FromPort\": 22, \
                        \"ToPort\": 22, \
                        \"IpRanges\": [ \
                                        { \
                                        \"CidrIp\": \"10.0.0.0/16\" \
                                        } \
                                      ], \
                        \"UserIdGroupPairs\": [ \
                                                { \
                                                \"UserId\": \"123456789000\", \
                                                \"GroupName\": \"dev-sg\", \
                                                \"GroupId\": \"sg-87654321\" \
                                                } \
                                              ], \
                        \"PrefixListIds\": [ \
                                             { \
                                             \"PrefixListId\": \"pl-12345678\" \
                                             } \
                                           ] \
                        } \
                      ]" \
    --endpoint https://fcu.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • (optionnel) profile : Le profil nommé que vous voulez utiliser, créé pendant la configuration d’AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI.

  • group-id : L’ID du security group.

    Parmi les attributs qui suivent, vous devez spécifier soit :

    • les attributs protocol, port et cidr

    • les attributs protocol, port, source-group et group-owner

    • l’attribut ip-permissions

  • (optionnel) protocol : Le nom de protocole (tcp, udp, icmp, ou -1 pour tous les protocoles). Par défaut, -1. Dans un VPC, cette valeur peut aussi être un numéro de protocole IP. Pour en savoir plus, voir le site IANA.org.

  • (optionnel) port : Le port en tant que nombre entier, ou la plage de ports sous la forme min-max pour les protocoles TCP et UDP, ou le numéro de type de message et de code ICMP sous la forme type-code (-1 pour indiquer tous les types de messages ICMP).

  • (optionnel) cidr : La plage d’IP que vous voulez autoriser, en notation CIDR (préfixe /32 pour une IP individuelle).

  • (optionnel) source-group : Le nom ou l’ID du security group source vers lequel vous voulez autoriser les flux.

  • (optional) group-owner : L’ID de compte du propriétaire du security group source, s’il appartient à un autre compte.

  • (optionnel) ip-permissions : Un ensemble d’autorisations que vous pouvez utiliser pour ajouter plusieurs règles dans une même requête. Cet attribut contient les éléments suivants que vous devez spécifier :

  • (optionnel) IpProtocol : Le nom de protocole (tcp, udp, icmp, ou -1 pour tous les protocoles). Par défaut, -1. Dans un VPC, cette valeur peut aussi être un numéro de protocole IP. Pour en savoir plus, voir le site IANA.org.

  • (optionnel) FromPort : Le début de la plage de port pour les protocoles TCP et UDP, ou un numéro de type de message ICMP (-1 pour indiquer tous les types de message ICMP).

  • (optionnel) IpRanges : Une ou plusieurs plages d’IP.

    • (optionnel) CidrIp : La plage d’IP.

  • (optionnel) ToPort : La fin de la plage de ports pour les protocoles TCP et UDP, ou le numéro d’un code ICMP (-1 pour indiquer tous les codes ICMP).

  • (optionnel) UserIdGroupPairs : Informations sur un ou plusieurs comptes ou security groups pour autoriser les flux vers des security groups d’autres comptes. Cet attribut contient les éléments suivants que vous devez spécifier :

    • (optionnel) UserId : L’ID de compte du propriétaire du security group référencé.

    • (optionnel) GroupName : Le nom du security group référencé.

    • (optionnel) GroupId : L’ID du security group référencé.

  • (optionnel) PrefixListIds : Une ou plusieurs ID de prefix list. Pour en savoir plus, voir Obtenir des informations sur les prefix lists.

    • (optionnel) PrefixListId : L’ID d’une prefix list.

  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

Les règles spécifiées pour les flux sortants sont ajoutées au security group.

Pages connexes

Méthodes API correspondantes

AWS™ et Amazon Web Services™ sont des marques de commerce d’Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.