Intégrer Amazon EC2 à Google SecOps

Ce document explique comment intégrer AWS Elastic Compute Cloud (Amazon EC2) à Google Security Operations.

Cas d'utilisation

  1. Sécuriser les instances Amazon Elastic Compute Cloud (Amazon EC2)

    1. Créez des groupes de sécurité pour limiter l'accès Internet entrant et sortant à Amazon EC2.
    2. Allouer une nouvelle adresse IP Elastic
    3. Associer une nouvelle adresse IP Elastic
  2. Gestion des ressources : utilisez des tags d'instance personnalisés pour suivre et identifier les ressources AWS.

Avant de commencer

Avant de configurer l'intégration d'AWS Elastic Compute Cloud (EC2) dans Google SecOps, vérifiez que votre environnement réseau et vos identifiants AWS répondent à toutes les conditions préalables opérationnelles.

Pour préparer votre environnement à l'intégration, assurez-vous d'effectuer les opérations suivantes :

  1. Vérifiez la visibilité réseau entre Google SecOps et les points de terminaison de service régionaux AWS EC2.

  2. Obtenez des identifiants d'API programmatique AWS (un ID de clé d'accès et une clé d'accès secrète) avec les autorisations IAM appropriées.

  3. Configurez et testez l'instance d'intégration dans Google SecOps.

Configuration réseau requise

Google SecOps communique directement avec le service AWS EC2 à l'aide des API REST HTTPS et du SDK AWS Python (boto3).

Assurez-vous que votre environnement réseau respecte les règles de connectivité suivantes :

  • Accès HTTPS sortant : activez la communication HTTPS sortante depuis votre instance Google SecOps ou votre agent distant vers le point de terminaison régional AWS EC2 (ec2.<region>.amazonaws.com) sur le port 443/TCP.

    Pour en savoir plus, consultez la section Points de terminaison de service AWS dans la documentation AWS.

  • Configuration du proxy : si votre organisation achemine le trafic sortant via un proxy HTTP/HTTPS, configurez les variables de proxy d'environnement standards (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) sur le serveur Google SecOps ou l'hôte de l'agent distant.

Authentification et identifiants

L'intégration AWS EC2 nécessite des identifiants d'API programmatiques pour authentifier les requêtes à l'aide d'AWS Signature version 4.

Assurez-vous que votre environnement AWS répond aux exigences d'authentification suivantes :

  • Identifiants programmatiques : obtenez un ID de clé d'accès AWS et une clé secrète AWS valides associés à un utilisateur ou un rôle IAM AWS.

    Pour en savoir plus sur la création d'identités IAM et la génération d'identifiants, consultez Gérer les clés d'accès pour les utilisateurs IAM et Identités IAM dans la documentation AWS.

  • Moindre privilège : limitez les autorisations aux seules actions et ressources de calcul requises pour vos workflows automatisés, et effectuez une rotation périodique des identifiants.

    Pour en savoir plus sur les recommandations de sécurité, consultez Bonnes pratiques de sécurité dans IAM dans la documentation AWS.

Configurer les autorisations d'action

Accordez à l'identité AWS IAM d'authentification les autorisations spécifiques requises pour les actions exécutées par vos playbooks Google SecOps.

Consultez les autorisations minimales pour les actions AWS Elastic Compute Cloud (EC2) dans le tableau suivant :

Nom de l'action Autorisation AWS IAM requise (ActionName:Permission) Autorisation requise Description/Champ d'application de la ressource
Autoriser le trafic sortant du groupe de sécurité ec2:AuthorizeSecurityGroupEgress ec2:DescribeRegions Ajoute des règles de trafic sortant à un groupe de sécurité EC2. Ressource : ARN du groupe de sécurité cible.
Autoriser l'entrée du groupe de sécurité ec2:AuthorizeSecurityGroupIngress ec2:DescribeRegions Ajoute des règles entrantes à un groupe de sécurité EC2. Ressource : ARN du groupe de sécurité cible.
Créer des tags ec2:CreateTags ec2:DescribeRegions Ajoute ou écrase des tags sur les ressources EC2. Ressource : ARN de la ressource EC2 cible.
Lister les instances ec2:DescribeInstances ec2:DescribeRegions Récupère l'état et les métadonnées des instances EC2. Ressource : *.
Lister les groupes de sécurité ec2:DescribeSecurityGroups — Récupère les configurations et les règles des groupes de sécurité. Ressource : *.
Ping ec2:DescribeRegions — Valide la connectivité de l'intégration. Ressource : *.
Révoquer la sortie du groupe de sécurité ec2:RevokeSecurityGroupEgress ec2:DescribeRegions Supprime les règles de trafic sortant d'un groupe de sécurité EC2. Ressource : ARN du groupe de sécurité cible.
Révoquer l'entrée du groupe de sécurité ec2:RevokeSecurityGroupIngress ec2:DescribeRegions Supprime les règles entrantes d'un groupe de sécurité EC2. Ressource : ARN du groupe de sécurité cible.
Démarrer l'instance ec2:StartInstances — Démarre les instances EC2 arrêtées. Ressource : ARN de l'instance EC2 cible.
Arrêter l'instance ec2:StopInstances — Arrête les instances EC2 en cours d'exécution. Ressource : ARN de l'instance EC2 cible.
Prendre un instantané ec2:CreateSnapshots ec2:DescribeRegions Crée des instantanés EBS à un moment précis pour les volumes d'instance. Ressource : ARN d'instance et de volume.
Arrêter l'instance ec2:TerminateInstances — Arrête et supprime les instances EC2. Ressource : ARN de l'instance EC2 cible.

Référence rapide (ActionName:Permission)

Utilisez l'aide-mémoire suivant pour examiner les autorisations requises pour chaque action :

Ping: ec2:DescribeRegions
Authorize Security Group Egress: ec2:AuthorizeSecurityGroupEgress, ec2:DescribeRegions
Authorize Security Group Ingress: ec2:AuthorizeSecurityGroupIngress, ec2:DescribeRegions
Create Tags: ec2:CreateTags, ec2:DescribeRegions
List Instances: ec2:DescribeInstances, ec2:DescribeRegions
List Security Groups: ec2:DescribeSecurityGroups
Revoke Security Group Egress: ec2:RevokeSecurityGroupEgress, ec2:DescribeRegions
Revoke Security Group Ingress: ec2:RevokeSecurityGroupIngress, ec2:DescribeRegions
Start Instance: ec2:StartInstances
Stop Instance: ec2:StopInstances
Take Snapshot: ec2:CreateSnapshots, ec2:DescribeRegions
Terminate Instance: ec2:TerminateInstances

Exemple de stratégie IAM (moindre privilège)

L'exemple de stratégie suivant illustre les autorisations requises pour exécuter toutes les actions AWS EC2 dans Google SecOps.

Pour savoir comment créer et associer des stratégies IAM, consultez Créer des stratégies IAM dans la documentation AWS.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "SecOpsEC2Discovery",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeRegions",
        "ec2:DescribeInstances",
        "ec2:DescribeSecurityGroups"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SecOpsEC2InstanceRemediation",
      "Effect": "Allow",
      "Action": [
        "ec2:StartInstances",
        "ec2:StopInstances",
        "ec2:TerminateInstances",
        "ec2:CreateTags",
        "ec2:CreateSnapshots"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SecOpsEC2SecurityGroupManagement",
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:RevokeSecurityGroupIngress",
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupEgress"
      ],
      "Resource": "arn:aws:ec2:*:*:security-group/*"
    }
  ]
}

Paramètres d'intégration

Utilisez les paramètres suivants pour configurer l'intégration :

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
AWS Access Key ID (ID de clé d'accès AWS) Chaîne N/A Oui ID de clé d'accès AWS à utiliser dans l'intégration.
Clé secrète AWS Mot de passe N/A Oui Clé secrète AWS à utiliser dans l'intégration.
Région AWS par défaut Chaîne N/A Oui Région AWS par défaut à utiliser dans l'intégration, par exemple "us-west-2".

Pour savoir comment configurer une intégration dans Google SecOps, consultez Configurer des intégrations.

Vous pourrez apporter des modifications ultérieurement si nécessaire. Après avoir configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour en savoir plus sur la configuration et la prise en charge de plusieurs instances, consultez Prendre en charge plusieurs instances.

Actions

Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis votre bureau et Exécuter une action manuelle dans votre demande.

Autoriser la sortie du groupe de sécurité

Ajoute la règle de sortie spécifiée à un groupe de sécurité à utiliser avec un VPC. Une règle de trafic sortant permet aux instances d'envoyer du trafic vers les plages d'adresses CIDR IPv4 ou IPv6 spécifiées. Les modifications de règles sont propagées aux instances concernées aussi rapidement que possible. Toutefois, un léger délai peut survenir.

Pour en savoir plus sur les limites des groupes de sécurité VPC, consultez Limites d'Amazon VPC.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID de groupes de sécurité Chaîne N/A Oui

Un ou plusieurs ID de groupe de sécurité. Séparés par une virgule.

Note for dev: every ID in a separate request

Protocole IP LDD tous Non

Nom du protocole IP. Utilisez "all" pour spécifier tous les protocoles. Si vous spécifiez "all", le trafic est autorisé sur tous les ports, quelle que soit la plage de ports que vous spécifiez.

Valeurs possibles : tcp , udp , icmp, all

Note for dev: 'all' equals -1 from code

Depuis le port Integer Non Début de la plage de ports pour les protocoles TCP et UDP, ou numéro de type ICMP.
Au port Integer Non La fin de la plage de ports pour les protocoles TCP et UDP autorise le trafic sur tous les ports, quelle que soit la plage de ports que vous spécifiez.
Plages d'adresses IP – CidrIP Chaîne N/A Non Plage CIDR IPv4. Pour spécifier une seule adresse IPv4, utilisez la longueur de préfixe /32.
Plages IPv6 - CidrIP Chaîne N/A Non Plage CIDR IPv6. Pour spécifier une seule adresse IPv6, utilisez la longueur de préfixe /128.

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si les règles de sortie spécifiées ont bien été ajoutées à au moins un (ou tous) les groupes de sécurité (is_success = true) : "Successfully added the specified egress rule to the following security groups: {group_ids}"

Échec de l'ajout des règles de sortie spécifiées en raison d'une erreur de règle d'autorisation (port non valide,etc.) (is_success = false) : "Échec de l'ajout de la règle de sortie spécifiée aux groupes de sécurité suivants : {group_ids}. Motif : ensemble d'autorisations d'adresses IP non valide. Pour en savoir plus, veuillez consulter les journaux."

Échec de l'ajout des règles de sortie spécifiées en raison d'un ID de groupe de sécurité non valide (is_success = false) : "Échec de l'ajout de la règle de sortie spécifiée aux groupes de sécurité suivants : {group_ids}. Motif : l'ID de groupe de sécurité fourni n'est pas valide. Pour en savoir plus, veuillez consulter les journaux.``

Si l'ajout des règles de sortie spécifiées à tous les groupes a échoué : is_success=false

L'action doit échouer et arrêter l'exécution d'un playbook :

En cas d'erreur fatale, d'erreur du SDK (par exemple, identifiants incorrects, absence de connexion au serveur, etc.) : "Error executing action "Authorize Security Group Egress". Reason: {0}''.format(error.Stacktrace)

Général

Autoriser l'entrée du groupe de sécurité

Ajoute la règle d'entrée spécifiée à un groupe de sécurité. Une règle d'entrée permet aux instances de recevoir du trafic provenant des plages d'adresses CIDR IPv4 ou IPv6 spécifiées. Les modifications de règles sont propagées aux instances concernées aussi rapidement que possible. Toutefois, un léger délai peut survenir.

Pour en savoir plus sur les limites des groupes de sécurité VPC, consultez Limites d'Amazon VPC.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID de groupes de sécurité Chaîne N/A Oui

Un ou plusieurs ID de groupe de sécurité. Séparés par une virgule.

Note for dev: every ID in a separate request

Protocole IP LDD tous Non

Nom du protocole IP. Utilisez "all" pour spécifier tous les protocoles. Si vous spécifiez "all", le trafic est autorisé sur tous les ports, quelle que soit la plage de ports que vous spécifiez.

Valeurs possibles : tcp , udp , icmp, all

Note for dev: 'all' equals -1 from code

Depuis le port Integer Non Début de la plage de ports pour les protocoles TCP et UDP, ou numéro de type ICMP.
Au port Integer Non La fin de la plage de ports pour les protocoles TCP et UDP autorise le trafic sur tous les ports, quelle que soit la plage de ports que vous spécifiez.
Plages d'adresses IP – CidrIP Chaîne N/A Non Adresse IPv4 au format CIDR. Pour spécifier une seule adresse IPv4, utilisez la longueur de préfixe /32.
Plages IPv6 - CidrIP Chaîne N/A Non Plage CIDR IPv6. Pour spécifier une seule adresse IPv6, utilisez la longueur de préfixe /128.

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si les règles d'entrée spécifiées ont bien été ajoutées à au moins un groupe de sécurité (si toutes ont bien été mises à jour, is_success = true) : "Successfully added the specified ingress rule to the following security groups: {group_ids}"

Échec de l'ajout des règles d'entrée spécifiées en raison d'une erreur de règle d'autorisation (port non valide,etc.) (is_success =false) : "Échec de l'ajout de la règle d'entrée spécifiée aux groupes de sécurité suivants : {group_ids}. Motif : ensemble d'autorisations d'adresses IP non valide. Pour en savoir plus, veuillez consulter les journaux."

Échec de l'ajout des règles d'entrée spécifiées en raison d'un ID de groupe de sécurité non valide (is_success =false) : "Échec de l'ajout de la règle d'entrée spécifiée aux groupes de sécurité suivants : {group_ids}. Motif : l'ID de groupe de sécurité fourni n'est pas valide. Pour en savoir plus, veuillez consulter les journaux.``

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Authorize Security Group Ingress". Reason: {0}''.format(error.Stacktrace)

Général

Créer des tags

Un tag est une étiquette que vous attribuez à une ressource AWS. Chaque tag se compose d'une clé et d'une valeur facultative. Vous pouvez utiliser des tags pour rechercher et filtrer vos ressources, ou pour suivre vos coûts AWS. Ajoute ou écrase uniquement les tags spécifiés pour la ou les ressources Amazon EC2 spécifiées. Lorsque vous spécifiez une clé de tag existante, la valeur est remplacée par la nouvelle valeur. Chaque ressource peut être associée à un maximum de 50 tags. Les clés de tag doivent être uniques pour chaque ressource.

Pour en savoir plus sur les tags, consultez la section Ajouter des tags à vos ressources dans le guide de l'utilisateur d'Amazon Elastic Compute Cloud.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID des ressources Chaîne N/A Oui Un ou plusieurs ID de ressource. Séparés par une virgule.
Tags Chaîne N/A Oui

Combinaison clé-valeur d'un tag à attribuer à la ressource. Par exemple, pour ajouter à toutes les ressources spécifiées un tag avec la clé Owner et la valeur TeamA, spécifiez Owner:TeamA. Vous pouvez spécifier plusieurs combinaisons clé-valeur en les séparant par une virgule.

Vous pouvez ajouter ou écraser les tags spécifiés. Les clés de tag doivent être uniques pour chaque ressource.

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

En cas de réussite : "Successfully added {tags_list} tags to the following resources: "resource_ids"

Pour les ID de ressources non valides (is_success = false) : "Échec de l'ajout des tags {tag_list} aux ressources suivantes : {resource_ids}. Motif : ID de ressource non valide

Si la ressource comporte plus de 50 tags (is_success = false) : "Échec de l'ajout des tags {tag_list} aux ressources suivantes : {resource_ids}. Motif : une ressource peut comporter jusqu'à 50 tags.

Si la clé de tag n'est pas unique (is_success = false) : "Échec de l'ajout des tags {tag_list} aux ressources suivantes : {resource_ids}. Motif : Les clés de tag doivent être uniques pour chaque ressource.

Si le tag donné n'est pas au bon format (c'est-à-dire qu'il ne contient que la clé ou que la valeur, sans la structure complète clé:valeur) (is_success = false) : "Échec de l'ajout des tags {invalid_tags} aux ressources suivantes : {ids}. Motif : format non valide. Le tag doit inclure une clé et une valeur.

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Create Tags". Reason: {0}''.format(error.Stacktrace)

Général

Répertorier les instances

Décrit les instances spécifiées ou toutes les instances.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID d'instances Chaîne N/A Non Un ou plusieurs ID d'instance. Si vous spécifiez des ID d'instance, la sortie n'inclut que les informations concernant les instances spécifiées. Ce paramètre ne peut pas être utilisé avec le paramètre "Nombre maximal de résultats". Le paramètre "ID d'instance" est prioritaire sur le paramètre "Nombre maximal de résultats".
Filtres de tags Chaîne N/A Non Combinaison clé/valeur d'un tag attribué à la ressource. Par exemple, pour trouver toutes les ressources qui ont un tag avec la clé "Propriétaire" et la valeur "TeamA", spécifiez "Owner:TeamA". Filtres de tags séparés par une virgule. Exemple : Name:Name1,Owner:TeamA. Les instances renvoyées correspondront à tous les filtres.
Nombre maximum de résultats Integer 50 Non Spécifiez le nombre d'instances à renvoyer. La valeur par défaut est 50. La valeur maximale est de 1 000. Le paramètre "ID d'instance" ne peut pas être utilisé avec le paramètre "Nombre maximal de résultats". Le paramètre "ID d'instance" est prioritaire sur le paramètre "Nombre maximal de résultats".

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Résultat JSON
"EC2_Instances": [
    {
   "AmiLaunchIndex":0,
   "ImageId":"ami-047a51fa27710816e",
   "InstanceId":"i-044c08c5bfe1a7f98",
   "InstanceType":"t2.micro",
   "KeyName":"\"Key\": \"Test\", \"Value\":\"Test\"",
   "LaunchTime":"2021-1-30",
   "Monitoring":{
      "State":"disabled"
   },
   "Placement":{
      "AvailabilityZone":"us-east-1d",
      "GroupName":"",
      "Tenancy":"default"
   },
   "PrivateDnsName":"ip-192-0-2-220.ec2.internal",
   "PrivateIpAddress":"192.0.2.220",
   "ProductCodes":[

   ],
   "PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
   "PublicIpAddress":"192.0.2.218",
   "State":{
      "Code":16,
      "Name":"running"
   },
   "StateTransitionReason":"",
   "SubnetId":"subnet-1b1fda3a",
   "VpcId":"vpc-ID",
   "Architecture":"x86_64",
   "BlockDeviceMappings":[
      {
         "DeviceName":"/dev/xvda",
         "Ebs":{
            "AttachTime":"2021-1-30",
            "DeleteOnTermination":true,
            "Status":"attached",
            "VolumeId":"vol-00f70681a43e5d86e"
         }
      }
   ],
   "ClientToken":"",
   "EbsOptimized":false,
   "EnaSupport":true,
   "Hypervisor":"xen",
   "NetworkInterfaces":[
      {
         "Association":{
            "IpOwnerId":"amazon",
            "PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
            "PublicIp":"192.0.2.218"
         },
         "Attachment":{
            "AttachTime":"",
            "AttachmentId":"eni-attach-06bc5e5901ce99ef2",
            "DeleteOnTermination":true,
            "DeviceIndex":0,
            "Status":"attached",
            "NetworkCardIndex":0
         },
         "Description":"",
         "Groups":[
            {
               "GroupName":"launch-wizard-2",
               "GroupId":"sg-001700ccddac4189a"
            }
         ],
         "Ipv6Addresses":[

         ],
         "MacAddress":"12:34:56:ab:cd:ef",
         "NetworkInterfaceId":"eni-020fa83efd417e32d",
         "OwnerId":"ID",
         "PrivateDnsName":"ip-192-0-2-220.ec2.internal",
         "PrivateIpAddress":"192.0.2.220",
         "PrivateIpAddresses":[
            {
               "Association":{
                  "IpOwnerId":"amazon",
                  "PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
                  "PublicIp":"192.0.2.218"
               },
               "Primary":true,
               "PrivateDnsName":"ip-192-0-2-220.ec2.internal",
               "PrivateIpAddress":"192.0.2.220"
            }
         ],
         "SourceDestCheck":true,
         "Status":"in-use",
         "SubnetId":"subnet-1b1fda3a",
         "VpcId":"vpc-ID",
         "InterfaceType":"interface"
      }
   ],
   "RootDeviceName":"/dev/xvda",
   "RootDeviceType":"ebs",
   "SecurityGroups":[
      {
         "GroupName":"launch-wizard-2",
         "GroupId":"sg-001700ccddac4189a"
      }
   ],
   "SourceDestCheck":true,
   "Tags":[
      {
         "Key":"Owner",
         "Value":"Example"
      },
      {
         "Key":"Name",
         "Value":"Example test"
      }
   ],
   "VirtualizationType":"hvm",
   "CpuOptions":{
      "CoreCount":1,
      "ThreadsPerCore":1
   },
   "CapacityReservationSpecification":{
      "CapacityReservationPreference":"open"
   },
   "HibernationOptions":{
      "Configured":false
   },
   "MetadataOptions":{
      "State":"applied",
      "HttpTokens":"optional",
      "HttpPutResponseHopLimit":1,
      "HttpEndpoint":"enabled"
   },
   "EnclaveOptions":{
      "Enabled":false
   }
}
 ]
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si les instances ont bien été listées(is_success = true) : "Successfully described Amazon EC2 instances."
  • Si aucune valeur n'est disponible(is_success = false) : "Aucune instance n'a été trouvée dans Amazon EC2"

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, invalid instance ID, SDK error, like wrong credentials, no connection to server, other: "Error executing action "List Instances". Reason: {0}''.format(error.Stacktrace)

Général
Tableau du mur des cas

Nom de la table : Instances Amazon EC2

Colonnes du tableau :

ID

État

Type

Zone de disponibilité

DNS IPv4 public

Adresse IPv4 publique

Surveillance

Nom du groupe de sécurité

Nom de la clé

Heure de lancement

Lister les groupes de sécurité

Décrit les groupes de sécurité spécifiés ou tous vos groupes de sécurité. Un groupe de sécurité est destiné à être utilisé avec des instances de la plate-forme EC2-Classic ou d'un VPC spécifique.

Pour en savoir plus, consultez Groupes de sécurité Amazon EC2.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
Noms des groupes de sécurité Chaîne N/A Faux Un ou plusieurs noms de groupes de sécurité [EC2-Classic et VPC par défaut uniquement]. Séparez les noms par une virgule.Si vous spécifiez des noms de groupes de sécurité, la sortie n'inclut que les informations correspondant aux noms spécifiés.
ID de groupes de sécurité Chaîne N/A Faux Un ou plusieurs ID de groupe de sécurité. Séparés par une virgule.Si vous spécifiez des ID de groupe de sécurité, la sortie n'inclut que les informations correspondant aux ID spécifiés. Obligatoire pour les groupes de sécurité d'un VPC autre que celui par défaut.
Filtres de tags Chaîne N/A Faux

Combinaison clé-valeur d'un tag attribué au groupe de sécurité. Par exemple, pour trouver tous les groupes associés à un tag incluant la clé Owner et la valeur TeamA, saisissez Owner:TeamA. Vous pouvez utiliser des filtres de tags séparés par une virgule, tels que Name:Name1,Owner:TeamA. Les groupes renvoyés doivent correspondre à tous les filtres.

Nombre maximum de résultats Integer 50 Faux Nombre de groupes de sécurité à renvoyer. La valeur par défaut est 50. La valeur maximale est 1000. Remarque : Les paramètres "ID des groupes de sécurité" et "Noms des groupes de sécurité" ne peuvent pas être utilisés avec le paramètre "Nombre maximal de résultats".

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Résultat JSON
"EC2_Security_Groups": [
{
   "Description":"launch-wizard-2 created 2021-01-30T19:37:11.523+02:00",
   "GroupName":"launch-wizard-2",
   "IpPermissions":[
      {
         "FromPort":22,
         "IpProtocol":"tcp",
         "IpRanges":[
            {
               "CidrIp":"192.0.2.0/0"
            }
         ],
         "Ipv6Ranges":[

         ],
         "PrefixListIds":[

         ],
         "ToPort":22,
         "UserIdGroupPairs":[

         ]
      }
   ],
   "OwnerId":"582302349248",
   "GroupId":"sg-001700ccddac4189a",
   "IpPermissionsEgress":[
      {
         "IpProtocol":"-1",
         "IpRanges":[
            {
               "CidrIp":"192.0.2.0/0"
            }
         ],
         "Ipv6Ranges":[

         ],
         "PrefixListIds":[

         ],
         "UserIdGroupPairs":[

         ]
      }
   ],
   "Tags":[
      {
         "Key":"Team",
         "Value":"A-Team"
      },
      {
         "Key":"Owner",
         "Value":"Example"
      }
   ],
   "VpcId":"vpc-ID"
}
]
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si les groupes ont bien été listés(is_success = true) : "Successfully described Amazon EC2 security groups."
  • Si aucune valeur n'est disponible(is_success = false) : "Aucun groupe de sécurité n'a été trouvé dans Amazon EC2"

L'action doit échouer et arrêter l'exécution d'un playbook :

En cas d'erreur fatale, d'ID/nom de groupe non valide, d'erreur du SDK (par exemple, identifiants incorrects, absence de connexion au serveur, etc.) : "Error executing action "List Security Groups". Reason: {0}''.format(error.Stacktrace)

Général
Tableau du mur des cas

Nom de la table : Instances Amazon EC2

Colonnes du tableau :

ID du groupe de sécurité

Nom du groupe de sécurité

Identifiant du VPC

Description

ID du propriétaire

Ping

Testez la connectivité à AWS EC2.

Paramètres

N/A

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

En cas de réussite : "Successfully connected to the Amazon EC2 with the provided connection parameters!" (Connexion à Amazon EC2 établie avec les paramètres de connexion fournis)

L'action doit échouer et arrêter l'exécution d'un playbook :

Si l'opération échoue : "Échec de la connexion au serveur Amazon EC2 ! Error is {0}".format(exception.stacktrace)

Général

Révoquer la sortie du groupe de sécurité

Supprime les règles de sortie spécifiées (règles sortantes) d'un groupe de sécurité pour EC2-VPC. Cette action ne s'applique pas aux groupes de sécurité à utiliser dans EC2-Classic. Pour supprimer une règle, les valeurs que vous spécifiez (par exemple, les ports) doivent correspondre exactement aux valeurs de la règle existante. Les modifications apportées aux règles sont propagées aux instances du groupe de sécurité aussi rapidement que possible. Toutefois, un léger délai peut survenir.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID de groupes de sécurité Chaîne N/A Oui

Un ou plusieurs ID de groupe de sécurité. Séparés par une virgule.

Note for dev: every ID in a separate request

Protocole IP LDD tous Non

Nom du protocole IP. Utilisez "all" pour spécifier tous les protocoles. Si vous spécifiez "all", le trafic est autorisé sur tous les ports, quelle que soit la plage de ports que vous spécifiez.

Valeurs possibles : tcp , udp , icmp, all

Note for dev: 'all' equals -1 from code

Depuis le port Integer Non Début de la plage de ports pour les protocoles TCP et UDP, ou numéro de type ICMP.
Au port Integer Non La fin de la plage de ports pour les protocoles TCP et UDP autorise le trafic sur tous les ports, quelle que soit la plage de ports que vous spécifiez.
Plages d'adresses IP – CidrIP Chaîne N/A Non Adresse IPv4 au format CIDR. Pour spécifier une seule adresse IPv4, utilisez la longueur de préfixe /32.
Plages IPv6 - CidrIP Chaîne N/A Non Plage CIDR IPv6. Pour spécifier une seule adresse IPv6, utilisez la longueur de préfixe /128.

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si les règles de sortie spécifiées ont bien été révoquées pour au moins un (ou tous) les groupes de sécurité (is_success = true) : "Successfully revoked the specified egress rule from the following security groups: {group_ids}"

Échec de la révocation des règles de sortie spécifiées en raison d'une erreur de règle d'autorisation (port non valide,par exemple 205) : (is_success =false) : "Échec de la révocation de la règle de sortie spécifiée pour les groupes de sécurité suivants : {group_ids}. Motif : ensemble d'autorisations d'adresses IP non valide. Pour en savoir plus, veuillez consulter les journaux."

Échec de la révocation des règles de sortie spécifiées en raison d'un ID de groupe de sécurité non valide (is_success =false) : "Échec de la révocation de la règle de sortie spécifiée pour les groupes de sécurité suivants : {group_ids}. Motif : l'ID de groupe de sécurité fourni n'est pas valide. Pour en savoir plus, veuillez consulter les journaux.``

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Revoke Security Group Egress". Reason: {0}''.format(error.Stacktrace)

Gener

Révoquer l'entrée du groupe de sécurité

Supprime les règles d'entrée spécifiées (règles entrantes) d'un groupe de sécurité. Pour supprimer une règle, les valeurs que vous spécifiez (par exemple, les ports) doivent correspondre exactement aux valeurs de la règle existante. Les modifications apportées aux règles sont propagées aux instances du groupe de sécurité aussi rapidement que possible. Toutefois, un léger délai peut survenir.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID de groupes de sécurité Chaîne N/A Oui

Un ou plusieurs ID de groupe de sécurité. Séparés par une virgule.

Note for dev: every ID in a separate request

Protocole IP LDD tous Non

Nom du protocole IP. Utilisez "all" pour spécifier tous les protocoles. Si vous spécifiez "all", le trafic est autorisé sur tous les ports, quelle que soit la plage de ports que vous spécifiez.

Valeurs possibles : tcp , udp , icmp, all

Note for dev: 'all' equals -1 from code

Depuis le port Integer Non Début de la plage de ports pour les protocoles TCP et UDP, ou numéro de type ICMP.
Au port Integer Non La fin de la plage de ports pour les protocoles TCP et UDP autorise le trafic sur tous les ports, quelle que soit la plage de ports que vous spécifiez.
Plages d'adresses IP – CidrIP Chaîne N/A Non Adresse IPv4 au format CIDR. Pour spécifier une seule adresse IPv4, utilisez la longueur de préfixe /32.
Plages IPv6 - CidrIP Chaîne N/A Non Plage CIDR IPv6. Pour spécifier une seule adresse IPv6, utilisez la longueur de préfixe /128.

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si les règles d'entrée spécifiées ont bien été révoquées pour au moins un (ou tous) les groupes de sécurité (is_success = true) : "Successfully revoked the specified ingress rule from the following security groups: {group_ids}"

Si la révocation des règles d'entrée spécifiées a échoué en raison d'une erreur de règle d'autorisation (port non valide comme 205,etc.) : (is_success =false) : "Échec de la révocation de la règle d'entrée spécifiée pour les groupes de sécurité suivants : {group_ids}. Motif : ensemble d'autorisations d'adresses IP non valide. Pour en savoir plus, veuillez consulter les journaux."

if failed to revoke the specified ingress rules because of invalid security group id: (is_success =false): "Failed to revoke the specified ingress rule from the following security groups: {group_ids}. Motif : l'ID de groupe de sécurité fourni n'est pas valide. Pour en savoir plus, veuillez consulter les journaux.``

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Revoke Security Group Ingress". Reason: {0}''.format(error.Stacktrace)

Général

Démarrer l'instance

Démarre une instance basée sur Amazon Elastic Block Store (Amazon EBS) que vous avez précédemment arrêtée. L'instance peut mettre quelques minutes à passer à l'état d'exécution. Notez que vous ne pouvez pas démarrer une instance basée sur un magasin d'instances. Pour en savoir plus sur les instances basées sur un magasin d'instances, consultez Stockage pour l'appareil racine.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID d'instances Chaîne N/A Oui Un ou plusieurs ID d'instance. Séparés par une virgule

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Résultat JSON
[
  {
      "CurrentState": "pending",
        "InstanceId": "string",
        "PreviousState":"stopped"
    }
]
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si l'état actuel de toutes les instances ou de quelques-unes d'entre elles est différent de "en attente" ou "en cours d'exécution" (Is_success = false) : Impossible de démarrer les instances suivantes à partir de leur état actuel : <failed_instance ids>
  • Si l'état actuel est "En attente" → l'action est toujours en cours : "Poursuite de l'opération… Les instances demandées sont toujours en attente"
  • Si l'état actuel est "en cours d'exécution" (is_success=true) : Afficher : "Les instances suivantes ont bien été démarrées : <running_instance ids>"
  • Si l'une des instances n'est pas valide (is_success =false) : Les instances suivantes ne sont pas valides : <ID non valides>. Veuillez réessayer.

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Start Instance". Reason: {0}''.format(error.Stacktrace)

Général

Arrêter l'instance

Arrête une instance basée sur Amazon EBS. Lorsque vous arrêtez une instance, le système tente de l'arrêter de force après un court délai. L'opération prend quelques minutes. Vous pouvez redémarrer l'instance à tout moment. Vous ne pouvez pas arrêter une instance basée sur un stockage d'instances. Vous devez l'arrêter définitivement. Pour en savoir plus sur les instances basées sur un magasin d'instances, consultez https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID d'instances Chaîne N/A Oui Liste d'ID d'instance séparés par une virgule.
Force Bool N/A Non Si cette option est sélectionnée, l'action effectue un arrêt brutal (forcé), en interrompant immédiatement l'instance sans lui permettre de vider les caches du système de fichiers ni les métadonnées. Ce processus nécessite des procédures obligatoires de vérification et de réparation du système de fichiers avant que l'instance puisse reprendre son fonctionnement. Non recommandé pour les instances Windows.

Non activé par défaut.

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Réaliser un instantané

Prenez un instantané de l'instance.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID d'instance Chaîne N/A Oui Spécifiez l'ID de l'instance.
Description Chaîne N/A Non Spécifiez la description de l'instantané.

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Résultat JSON
{
  "EC2_Snapshot": [
    {
      "Description": "",
      "Tags": [],
      "Encrypted": false,
      "VolumeId": "vol-ID",
      "State": "pending",
      "VolumeSize": 8,
      "StartTime": "2022-11-13 15:45:44.795000+00:00",
      "Progress": "",
      "OwnerId": "OWNER_ID",
      "SnapshotId": "snap-ID"
    }
  ]
}

Arrêter l'instance

Arrête une instance.

Les instances arrêtées ne peuvent pas être redémarrées. Seules les instances basées sur un stockage d'instances peuvent être résiliées. Pour en savoir plus sur les instances basées sur un stockage d'instances, consultez Stockage pour l'appareil racine.

Si vous arrêtez une instance plusieurs fois, chaque appel aboutit. Si vous spécifiez plusieurs instances et que la requête échoue (par exemple, en raison d'un seul ID d'instance incorrect), aucune des instances n'est résiliée.

Les instances arrêtées restent visibles après l'arrêt (pendant environ une heure). Par défaut, Amazon EC2 supprime tous les volumes EBS qui étaient associés au lancement de l'instance. Les volumes associés après le lancement de l'instance continuent de s'exécuter. Pour en savoir plus, consultez le guide de l'utilisateur Amazon.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID d'instances Chaîne N/A Oui Un ou plusieurs ID d'instance. Séparés par une virgule.

Exécuter sur

Cette action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Résultat JSON
"StoppingInstances": [
      {
      "CurrentState": "shutting-down",
        "InstanceId": "string",
        "PreviousState":"running"
      }
   ]
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si l'état actuel de toutes les instances ou de certaines d'entre elles est différent de "shutting-down" ou "terminated" (Is_success = false) : Impossible d'arrêter les instances suivantes à partir de leur état actuel : <failed_instance ids>
  • Si l'état actuel est "shutting-down" : (is_success=true) → l'action est toujours en cours : poursuite de l'opération… les instances demandées sont toujours en cours d'arrêt.
  • Si l'état actuel est "arrêté" (is_success=true) : les instances suivantes ont bien été arrêtées : <stopped_instance ids>
  • Si l'une des instances n'est pas valide (is_success =false) : Les instances suivantes ne sont pas valides : <ID non valides>. Veuillez réessayer.

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Terminate Instance". Reason: {0}''.format(error.Stacktrace)

Général

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.