Pourquoi ne puis-je pas supprimer un groupe de sécurité attaché à mon Amazon VPC ?

Date de la dernière mise à jour : 23/03/2022

J'obtiens des erreurs lorsque j'essaie de supprimer un groupe de sécurité pour mon Amazon Virtual Private Cloud (Amazon VPC). Que puis-je faire pour le supprimer ?

Brève description

Il se peut que vous ne puissiez pas supprimer le groupe de sécurité pour les raisons suivantes :

  • Le groupe de sécurité est un groupe de sécurité par défaut.
  • Le groupe de sécurité est référencé par sa propre règle ou une règle dans un autre groupe de sécurité
  • Le groupe de sécurité est associé à une instance en cours d'exécution ou arrêtée.
  • Le groupe de sécurité est associé à une interface réseau.
  • Vous n'êtes pas autorisé à effectuer l'opération DeleteSecurityGroup.

Résolution

Le groupe de sécurité est un groupe de sécurité par défaut

Si vous essayez de supprimer le groupe de sécurité par défaut, l'erreur suivante s'affiche :

error: Client.CannotDelete

Tous les VPC possèdent un groupe de sécurité par défaut. Si vous ne spécifiez pas un autre groupe de sécurité lorsque vous lancez l'instance, le groupe de sécurité par défaut est automatiquement associé à votre instance. Vous ne pouvez pas supprimer un groupe de sécurité par défaut. Toutefois, vous pouvez modifier les règles d'un groupe de sécurité par défaut. Pour plus d'informations, consultez Groupes de sécurité pour vos VPC.

Le groupe de sécurité est référencé par sa propre règle ou une règle d'un autre groupe de sécurité

Si le groupe de sécurité est référencé par sa propre règle ou une règle d'un autre groupe de sécurité, le message d'erreur suivant s'affiche :

error: sg-A This security group has a rule that references sg-B and itself

Vous ne pouvez pas supprimer un groupe de sécurité s'il est référencé par une règle de groupe de sécurité. Si le groupe de sécurité est référencé dans une de ses propres règles, vous devez supprimer la règle avant de pouvoir supprimer le groupe de sécurité. Si le groupe de sécurité est référencé dans les règles d'un autre groupe de sécurité, vous devez supprimer la référence afin de supprimer le groupe de sécurité. Pour modifier les règles des groupes de sécurité, consultez Utilisation des règles de groupes de sécurité.

Par exemple, le groupe de sécurité A (sg-A) possède une règle qui fait référence au groupe de sécurité B (sg-B) et à lui-même. Si vous souhaitez supprimer l'un de ces groupes, vous devez d'abord :

  • Supprimez la règle associée à sg-B afin de supprimer sg-B.
  • Supprimez la règle auto-référencée afin de supprimer sg-A.

Suivez les étapes ci-dessous pour supprimer la règle associée au groupe de sécurité que vous souhaitez supprimer (sg-B dans l'exemple précédent) :

1.    Ouvrez la console Amazon VPC.

2.    Dans le volet de navigation, sélectionnez Groupes de sécurité.

3.    Sélectionnez le groupe de sécurité que vous souhaitez mettre à jour.

4.    Choisissez Actions, Edit inbound rules (Modifier les règles de trafic entrant) ou Actions, Edit outbound rules (Modifier les règles de trafic sortant), selon votre cas d'utilisation.

5.    Choisissez Delete (Supprimer) pour la règle que vous souhaitez supprimer.

6.    Choisissez Save rules (Enregistrer les règles).

Le groupe de sécurité peut aussi être référencé dans un groupe de sécurité au sein d'un autre Amazon VPC où une connexion d'appairage est établie. Pour supprimer le groupe de sécurité, vous pouvez supprimer la référence ou la connexion d'appairage de VPC.

Suivez les étapes ci-dessous si le groupe de sécurité est référencé dans un groupe de sécurité au sein d'un autre Amazon VPC :

1.    Ouvrez la console Amazon VPC.

2.    Dans le panneau de navigation, choisissez Peering Connections (Connexions d'appairage).

3.    Sélectionnez la connexion d'appairage de VPC, puis choisissez Actions, Delete VPC Peering Connection (Supprimer la connexion d'appairage de VPC).

4.    Dans la boîte de dialogue de confirmation, choisissez Yes, delete (Oui, supprimer).

Remarque : vous pouvez utiliser l'API DescribeSecurityGroupReferences pour décrire les VPC de l'autre côté d'une connexion d'appairage de VPC qui font référence aux groupes de sécurité que vous supprimez.

Le groupe de sécurité est associé à une instance en cours d'exécution ou arrêtée

Vous ne pouvez pas supprimer un groupe de sécurité s'il est affecté à une instance en cours d'exécution ou arrêtée. Pour déterminer si le groupe de sécurité est affecté à une instance :

1.    Ouvrez la console Amazon Elastic Compute Cloud (Amazon EC2).

2.    Dans le panneau de navigation, choisissez Instances.

3.    Dans la barre de recherche du panneau de contenu, saisissez Client filter (Filtre client).

4.    Sélectionnez Instance state (client) [État de l'instance (client)] dans la liste déroulante.

5.    Sélectionnez Instance state (client): running [État de l'instance (client) : en cours d'exécution].

6.    Répétez les étapes 3 à 5. Sélectionnez ensuite Instance state (client): stopped [État de l'instance (client) : arrêté].

7.    Dans la liste filtrée, sélectionnez Security Group ID (ID de groupe de sécurité) ou Security Group Name (Nom du groupe de sécurité). Sélectionnez ensuite l'ID du groupe de sécurité ou le nom du groupe de sécurité. Toutes les instances affectées au groupe de sécurité apparaissent dans la liste des instances filtrées.

Remarque : pour modifier le groupe de sécurité affecté à une instance, consultez Utilisation des groupes de sécurité.

Le groupe de sécurité est associé à une interface réseau

Vous ne pouvez pas supprimer un groupe de sécurité qui est associé à une interface réseau gérée par le demandeur. Les interfaces réseau gérées par le demandeur sont automatiquement créées pour les ressources gérées, par exemple les nœuds Application Load Balancer. Les services et les ressources, comme AWS Lambda, Amazon Elastic File System (Amazon EFS), FSx, Redis, Memcached et Amazon DynamoDB, possèdent des groupes de sécurité qui sont systématiquement attachés à l'interface réseau Elastic. Pour supprimer ou détacher ces interfaces réseau Elastic, vous devez supprimer la ressource représentée par l'interface réseau. Une fois cela fait, le service AWS détache et supprime automatiquement l'interface réseau pour vous

Si vous essayez de supprimer ces types de groupes de sécurité, les erreurs suivantes peuvent s'afficher si votre interface est attachée à des ressources gérées par d'autres services AWS, par exemple Elastic Load Balancing (ELB) ou Lambda. Voici un exemple de message d'erreur :

Error detaching network interface. eni-xxxxxxxx:Network interface 'eni-xxxxxxxx' is currently in use

Pour résoudre ces erreurs, effectuez les opérations suivantes :

1.    Ouvrez la console Amazon EC2.

2.    Dans le volet de navigation, sélectionnez Network Interfaces (Interfaces réseau).

3.    Recherchez l'ID d'interface réseau Elastic de l'interface réseau Elastic que vous souhaitez détacher ou supprimer.

4.    Sélectionnez l'interface réseau Elastic et choisissez l'onglet Details (Détails).

5.    Important : consultez la Description pour trouver la ressource à laquelle l'interface réseau Elastic est attachée.

6.    Si vous n'utilisez plus le service AWS correspondant, commencez par le supprimer. L'interface réseau Elastic est automatiquement supprimée de votre VPC.

Vous ne pouvez pas supprimer un groupe de sécurité s'il est associé à une interface réseau utilisée sur les points de terminaison d'un VPC. Si vous essayez de supprimer un groupe de sécurité associé à une interface réseau utilisée sur les points de terminaison d'un VPC, des erreurs similaires aux suivantes peuvent s'afficher :

An error occurred (DependencyViolation) when calling the DeleteSecurityGroup operation: resource sg-xyz has a dependent object

Pour supprimer le groupe de sécurité, supprimez ou remplacez le groupe de sécurité dans le paramètre modify-interface-endpoint.

1.    Ouvrez la console d'Amazon VPC.

2.    Dans le panneau de navigation, choisissez Endpoints (Points de terminaison), puis le point de terminaison d'interface.

3.    Choisissez Actions, Manage security groups (Gérer les groupes de sécurité).

4.    Sélectionnez ou désélectionnez les groupes de sécurité selon vos besoins, puis choisissez Save (Enregistrer).

Remarque : exécutez la commande suivante dans AWS Command Line Interface (AWS CLI) pour rechercher des interfaces réseau associées à un groupe de sécurité en fonction de l'ID du groupe de sécurité. La sortie de la commande affiche les interfaces réseau associées au groupe de sécurité.

aws ec2 describe-network-interfaces --filters Name=group-id,Values=<group-id> --region <region> --output json

Exemple :

aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-07abcd9f0e12345495 --region us-east-1 --output json

Vérifiez la sortie de la commande. Si la sortie est vide, comme illustré dans l'exemple ci-dessous, aucune ressource n'est associée au groupe de sécurité :

Exemple de sortie

{

    "NetworkInterfaces": []

}

Remarque : en cas d'erreurs lors de l'exécution des commandes AWS CLI, vérifiez que vous utilisez la version la plus récente d'AWS CLI.

Vous n'êtes pas autorisé à effectuer l'opération DeleteSecurityGroup

Si le message d'erreur suivant s'affiche, il se peut que vous ne disposiez pas des autorisations appropriées pour supprimer des groupes de sécurité :

Failed to delete security groups. An Unknown error happened". You are not authorized to perform "DeleteSecurityGroup" operation

1.    Consultez les journaux AWS CloudTrail pour les appels d'API DeleteSecurityGroup. Les erreurs sont liées aux autorisations associées au rôle IAM si les informations suivantes apparaissent dans les journaux :

"errorMessage": You are not authorized to perform this operation” is seen in the Cloudtrail logs

2.    Vérifiez que l'action DeleteSecurityGroup est ajoutée dans les politiques AWS Identity and Access Management (IAM).

3.    Renseignez-vous auprès de votre organisation pour apporter les modifications nécessaires à ses politiques de contrôle de sécurité (SCP) et modifiez l'autorisation de l'utilisateur. Vous devrez peut-être demander au compte principal de modifier les SCP.

Remarque : une SCP restreint les autorisations pour les utilisateurs et les rôles IAM dans les comptes membres, notamment l'utilisateur racine du compte membre. Si une autorisation est bloquée à un niveau supérieur au compte, implicitement ou explicitement [à l'aide d'une action Deny (Refuser)], un utilisateur ou un rôle du compte concerné ne peut pas utiliser cette autorisation, même si l'administrateur du compte attache la politique IAM AdministratorAccess avec les autorisations*/* pour l'utilisateur.

Pour plus d'informations, consultez Incidence des SCP sur les autorisations.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?