Intégrer Amazon EC2 à Google SecOps
Ce document explique comment intégrer AWS Elastic Compute Cloud (Amazon EC2) à Google Security Operations.
Cas d'utilisation
Sécuriser les instances Amazon Elastic Compute Cloud (Amazon EC2)
- Créez des groupes de sécurité pour limiter l'accès Internet entrant et sortant à Amazon EC2.
- Allouer une nouvelle adresse IP Elastic
- Associer une nouvelle adresse IP Elastic
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 :
Vérifiez la visibilité réseau entre Google SecOps et les points de terminaison de service régionaux AWS EC2.
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.
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 port443/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é 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 :
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é |
| 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 :
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 :
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 :
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.