Integra Amazon EC2 con Google SecOps

Questo documento descrive come integrare AWS Elastic Compute Cloud (Amazon EC2) con Google Security Operations.

Casi d'uso

  1. Proteggere le istanze Amazon Elastic Compute Cloud (Amazon EC2)

    1. Crea gruppi di sicurezza per limitare l'accesso a internet in entrata e in uscita ad Amazon EC2.
    2. Alloca un nuovo indirizzo IP elastico
    3. Associa un nuovo indirizzo IP elastico
  2. Gestione delle risorse: utilizza i tag personalizzati delle istanze per monitorare e identificare le risorse AWS.

Prima di iniziare

Prima di configurare l'integrazione di AWS Elastic Compute Cloud (EC2) in Google SecOps, verifica che l'ambiente di rete e le credenziali AWS soddisfino tutti i prerequisiti operativi.

Per preparare l'ambiente all'integrazione, assicurati di completare le seguenti operazioni:

  1. Verifica la linea di visibilità della rete tra Google SecOps e gli endpoint di servizio regionali AWS EC2.

  2. Ottieni le credenziali API programmatiche AWS (un ID chiave di accesso e una chiave di accesso segreta) con le autorizzazioni IAM appropriate.

  3. Configura e testa l'istanza di integrazione in Google SecOps.

Requisiti di rete

Google SecOps comunica direttamente con il servizio AWS EC2 utilizzando le API REST HTTPS e l'SDK AWS Python (boto3).

Assicurati che il tuo ambiente di rete soddisfi le seguenti regole di connettività:

  • Accesso HTTPS in uscita: attiva la comunicazione HTTPS in uscita dalla tua istanza Google SecOps o dall'agente remoto all'endpoint regionale AWS EC2 (ec2.<region>.amazonaws.com) sulla porta 443/TCP.

    Per saperne di più, consulta la sezione Endpoint di servizio AWS nella documentazione di AWS.

  • Configurazione del proxy: se la tua organizzazione instrada il traffico in uscita tramite un proxy HTTP/HTTPS, configura le variabili proxy dell'ambiente standard (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) sul server Google SecOps o sull'host dell'agente remoto.

Autenticazione e credenziali

L'integrazione di AWS EC2 richiede credenziali API programmatiche per autenticare le richieste utilizzando la versione 4 della firma di AWS.

Assicurati che il tuo ambiente AWS soddisfi i seguenti requisiti di autenticazione:

  • Credenziali programmatiche: ottieni un ID chiave di accesso AWS e una chiave segreta AWS validi associati a un utente o un ruolo AWS IAM.

    Per informazioni sulla creazione di identità IAM e sulla generazione di credenziali, consulta Gestione delle chiavi di accesso per gli utenti IAM e Identità IAM nella documentazione AWS.

  • Privilegio minimo: limita le autorizzazioni solo alle azioni e alle risorse di calcolo necessarie per i tuoi workflow automatizzati e ruota periodicamente le credenziali.

    Per informazioni dettagliate sui consigli per la sicurezza, consulta Best practice per la sicurezza in IAM nella documentazione di AWS.

Configurare le autorizzazioni di azione

Concedi all'identità AWS IAM di autenticazione le autorizzazioni specifiche richieste per le azioni eseguite dai playbook Google SecOps.

Consulta le autorizzazioni minime per le azioni di AWS Elastic Compute Cloud (EC2) nella tabella seguente:

Nome azione Autorizzazione AWS IAM richiesta (ActionName:Permission) Autorizzazione prerequisito Descrizione / ambito risorsa
Autorizza l'uscita del gruppo di sicurezza ec2:AuthorizeSecurityGroupEgress ec2:DescribeRegions Aggiunge regole in uscita a un gruppo di sicurezza EC2. Risorsa: ARN del gruppo di sicurezza di destinazione.
Autorizza l'accesso in entrata del gruppo di sicurezza ec2:AuthorizeSecurityGroupIngress ec2:DescribeRegions Aggiunge regole in entrata a un gruppo di sicurezza EC2. Risorsa: ARN del gruppo di sicurezza di destinazione.
Creare tag ec2:CreateTags ec2:DescribeRegions Aggiunge o sovrascrive i tag sulle risorse EC2. Risorsa: ARN della risorsa EC2 di destinazione.
Elenco istanze ec2:DescribeInstances ec2:DescribeRegions Recupera lo stato e i metadati delle istanze EC2. Risorsa: *.
List Security Groups ec2:DescribeSecurityGroups — Recupera le configurazioni e le regole dei gruppi di sicurezza. Risorsa: *.
Ping ec2:DescribeRegions — Convalida la connettività dell'integrazione. Risorsa: *.
Revoke Security Group Egress ec2:RevokeSecurityGroupEgress ec2:DescribeRegions Rimuove le regole in uscita da un gruppo di sicurezza EC2. Risorsa: ARN del gruppo di sicurezza di destinazione.
Revoke Security Group Ingress ec2:RevokeSecurityGroupIngress ec2:DescribeRegions Rimuove le regole in entrata da un gruppo di sicurezza EC2. Risorsa: ARN del gruppo di sicurezza di destinazione.
Avvia istanza ec2:StartInstances — Avvia le istanze EC2 arrestate. Risorsa: ARN dell'istanza EC2 di destinazione.
Arresta istanza ec2:StopInstances — Arresta le istanze EC2 in esecuzione. Risorsa: ARN dell'istanza EC2 di destinazione.
Esegui snapshot ec2:CreateSnapshots ec2:DescribeRegions Crea snapshot EBS point-in-time per i volumi dell'istanza. Risorsa: ARN di istanze e volumi.
Termina istanza ec2:TerminateInstances — Arresta e termina le istanze EC2. Risorsa: ARN dell'istanza EC2 di destinazione.

Riferimento rapido (ActionName:Permission)

Utilizza il seguente riferimento rapido per esaminare le autorizzazioni richieste per ogni azione:

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

Criterio IAM di esempio (privilegio minimo)

La seguente policy di esempio mostra le autorizzazioni richieste per eseguire tutte le azioni AWS EC2 in Google SecOps.

Per istruzioni sulla creazione e l'allegato di policy IAM, consulta Creazione di policy IAM nella documentazione di 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/*"
    }
  ]
}

Parametri di integrazione

Utilizza i seguenti parametri per configurare l'integrazione:

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID chiave di accesso AWS Stringa N/D Sì ID chiave di accesso AWS da utilizzare nell'integrazione.
Chiave segreta AWS Password N/D Sì Chiave segreta AWS da utilizzare nell'integrazione.
Regione AWS predefinita Stringa N/D Sì Regione AWS predefinita da utilizzare nell'integrazione, ad esempio us-west-2.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.

Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.

Azioni

Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.

Autorizza l'uscita del gruppo di sicurezza

Aggiunge la regola di uscita specificata a un gruppo di sicurezza da utilizzare con un VPC. Una regola in uscita consente alle istanze di inviare traffico agli intervalli di indirizzi CIDR IPv4 o IPv6 specificati. Le modifiche alle regole vengono propagate alle istanze interessate il più rapidamente possibile. Tuttavia, potrebbe verificarsi un piccolo ritardo.

Per saperne di più sui limiti dei gruppi di sicurezza VPC, consulta Limiti di Amazon VPC.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID gruppo di sicurezza Stringa N/D Sì

Uno o più ID gruppo di sicurezza. Separati da virgole.

Nota per gli sviluppatori: ogni ID in una richiesta separata

Protocollo IP DDL tutti No

Il nome del protocollo IP. Utilizza "all" per specificare tutti i protocolli. Se specifichi "all", il traffico è consentito su tutte le porte, indipendentemente dall'intervallo di porte specificato.

Valori possibili: tcp , udp , icmp, all

Nota per gli sviluppatori: "all" equivale a -1 dal codice

Dalla porta Numero intero No L'inizio dell'intervallo di porte per i protocolli TCP e UDP o un numero di tipo ICMP.
Porta di destinazione Numero intero No La fine dell'intervallo di porte per i protocolli TCP e UDP consente il traffico su tutte le porte, indipendentemente dall'intervallo di porte specificato.
Intervalli IP - CidrIP Stringa N/D No L'intervallo CIDR IPv4. Per specificare un singolo indirizzo IPv4, utilizza la lunghezza del prefisso /32.
Intervalli IPv6 - CidrIP Stringa N/D No L'intervallo CIDR IPv6. Per specificare un singolo indirizzo IPv6, utilizza la lunghezza del prefisso /128.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

se le regole di uscita specificate sono state aggiunte correttamente ad almeno un gruppo di sicurezza (o a tutti): (is_success = true): "Successfully added the specified egress rule to the following security groups: {group_ids}" (La regola di uscita specificata è stata aggiunta correttamente ai seguenti gruppi di sicurezza: {group_ids})

if failed to add the specified egress rules because of permissions rule error (invalid port,etc): (is_success = false): "Failed to add the specified egress rule to the following security groups: {group_ids}. Motivo: set di autorizzazioni IP non valido. Per ulteriori dettagli, controlla i log."

if failed to add the specified egress rules because of invalid security group id: (is_success = false): "Failed to add the specified egress rule to the following security groups: {group_ids}. Motivo: è stato fornito un ID gruppo di sicurezza non valido. Per ulteriori dettagli, controlla i log.``

If failed to add the specified egress rules to all groups: is_success=false

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

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

Generale

Autorizza l'ingresso del gruppo di sicurezza

Aggiunge la regola in entrata specificata a un gruppo di sicurezza. Una regola in entrata consente alle istanze di ricevere traffico dagli intervalli di indirizzi CIDR IPv4 o IPv6 specificati. Le modifiche alle regole vengono propagate alle istanze interessate il più rapidamente possibile. Tuttavia, potrebbe verificarsi un piccolo ritardo.

Per saperne di più sui limiti dei gruppi di sicurezza VPC, consulta Limiti di Amazon VPC.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID gruppo di sicurezza Stringa N/D Sì

Uno o più ID gruppo di sicurezza. Separati da virgole.

Nota per gli sviluppatori: ogni ID in una richiesta separata

Protocollo IP DDL tutti No

Il nome del protocollo IP. Utilizza "all" per specificare tutti i protocolli. Se specifichi "all", il traffico è consentito su tutte le porte, indipendentemente dall'intervallo di porte specificato.

Valori possibili: tcp , udp , icmp, all

Nota per gli sviluppatori: "all" equivale a -1 dal codice

Dalla porta Numero intero No L'inizio dell'intervallo di porte per i protocolli TCP e UDP o un numero di tipo ICMP.
Porta di destinazione Numero intero No La fine dell'intervallo di porte per i protocolli TCP e UDP consente il traffico su tutte le porte, indipendentemente dall'intervallo di porte specificato.
Intervalli IP - CidrIP Stringa N/D No L'indirizzo IPv4 in formato CIDR. Per specificare un singolo indirizzo IPv4, utilizza la lunghezza del prefisso /32.
Intervalli IPv6 - CidrIP Stringa N/D No L'intervallo CIDR IPv6. Per specificare un singolo indirizzo IPv6, utilizza la lunghezza del prefisso /128.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

se le regole di ingresso specificate sono state aggiunte correttamente ad almeno un gruppo di sicurezza (se tutti sono stati aggiornati correttamente, is_success = true): "Successfully added the specified ingress rule to the following security groups: {group_ids}" (Regola di ingresso specificata aggiunta correttamente ai seguenti gruppi di sicurezza: {group_ids})

if failed to add the specified ingress rules because of permissions rule error (invalid port,etc): (is_success =false): "Failed to add the specified ingress rule to the following security groups: {group_ids}. Motivo: set di autorizzazioni IP non valido. Per ulteriori dettagli, controlla i log."

if failed to add the specified ingress rules because of invalid security group id: (is_success =false): "Failed to add the specified ingress rule to the following security groups: {group_ids}. Motivo: è stato fornito un ID gruppo di sicurezza non valido. Per ulteriori dettagli, controlla i log.``

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

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

Generale

Crea tag

Un tag è un'etichetta che assegni a una risorsa AWS. Ogni tag è costituito da una chiave e da un valore facoltativo. Puoi utilizzare i tag per cercare e filtrare le risorse o monitorare i costi di AWS. Aggiunge o sovrascrive solo i tag specificati per la risorsa o le risorse Amazon EC2 specificate. Quando specifichi una chiave tag esistente, il valore viene sovrascritto con il nuovo valore. Ogni risorsa può avere un massimo di 50 tag. Le chiavi dei tag devono essere univoche per risorsa.

Per saperne di più sui tag, consulta la sezione Tagging Your Resources nella Guida per l'utente di Amazon Elastic Compute Cloud.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID risorsa Stringa N/D Sì Uno o più ID risorsa. Separati da virgole.
Tag Stringa N/D Sì

La coppia chiave-valore di un tag da assegnare alla risorsa. Ad esempio, per aggiungere a tutte le risorse specificate un tag con la chiave Owner e il valore TeamA, specifica Owner:TeamA. Puoi specificare più coppie chiave-valore separandole con virgole.

Puoi aggiungere o sovrascrivere i tag specificati. Le chiavi tag devono essere univoche per risorsa.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

In caso di esito positivo: "Tag {tags_list} aggiunti correttamente alle seguenti risorse: "resource_ids"

Per gli ID risorsa non validi (is_success = false): "Impossibile aggiungere i tag {tag_list} alle seguenti risorse: {resource_ids}. Motivo: ID risorsa non valido

Se la risorsa ha più di 50 tag (is_success = false): "Impossibile aggiungere i tag {tag_list} alle seguenti risorse: {resource_ids}. Motivo: una risorsa può avere un massimo di 50 tag.

Se la chiave del tag non è univoca: (is_success = false): "Failed to add {tag_list} tags to the following resources: {resource_ids}. Motivo: le chiavi dei tag devono essere univoche per risorsa.

Se il tag specificato non è nel formato valido (ovvero solo chiave o solo valore senza la struttura completa di chiave:valore) (is_success = false): "Impossibile aggiungere i tag {invalid_tags} alle seguenti risorse: {ids}. Motivo: formato non valido. Il tag deve includere chiave e valore.

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

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

Generale

Elenco istanze

Descrive le istanze specificate o tutte le istanze.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID istanza Stringa N/D No Uno o più ID istanza. Se specifichi gli ID istanza, l'output include informazioni solo per le istanze specificate. Questo parametro non può essere utilizzato con il parametro "Risultati massimi". "ID istanza" ha la priorità sul parametro "Risultato massimo".
Filtri dei tag Stringa N/D No La combinazione chiave/valore di un tag assegnato alla risorsa. Ad esempio, per trovare tutte le risorse che hanno un tag con la chiave Proprietario e il valore TeamA, specifica Owner:TeamA. Filtri tag separati da virgole. Esempio: Nome:Nome1,Proprietario:TeamA. Le istanze restituite corrisponderanno a tutti i filtri.
Risultati per pagina Numero intero 50 No Specifica il numero di istanze da restituire. Il valore predefinito è 50. Il valore massimo è 1000. Il parametro "ID istanza" non può essere utilizzato con il parametro "Risultati massimi". "ID istanza" ha la priorità sul parametro "Risultato massimo".

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato 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
   }
}
 ]
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

  • Se le istanze sono state elencate correttamente (is_success = true): "Successfully described Amazon EC2 instances." (Istanze Amazon EC2 descritte correttamente).
  • Se non sono disponibili valori(is_success = false): "Nessuna istanza trovata in Amazon EC2"

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

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

Generale
Tabella della bacheca casi

Nome tabella:istanze Amazon EC2

Colonne della tabella:

ID

Stato

Tipo

Zona di disponibilità

DNS IPv4 pubblico

Indirizzo IPv4 pubblico

Monitoraggio

Nome del gruppo di sicurezza

Nome chiave

Ora di avvio

Elenca gruppi di sicurezza

Descrive i gruppi di sicurezza specificati o tutti i tuoi gruppi di sicurezza. Un gruppo di sicurezza è da utilizzare con istanze nella piattaforma EC2-Classic o in un VPC specifico.

Per ulteriori informazioni, vedi Gruppi di sicurezza Amazon EC2.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
Nomi dei gruppi di sicurezza Stringa N/D Falso Uno o più nomi di gruppi di sicurezza [solo EC2-Classic e VPC predefinito]. Separati da virgole.Se specifichi i nomi dei gruppi di sicurezza, l'output include informazioni solo per i nomi specificati.
ID gruppo di sicurezza Stringa N/D Falso Uno o più ID gruppo di sicurezza. Separati da virgole.Se specifichi gli ID dei gruppi di sicurezza, l'output include informazioni solo per gli ID specificati. Obbligatorio per i gruppi di sicurezza in un VPC non predefinito.
Filtri dei tag Stringa N/D Falso

La coppia chiave-valore di un tag assegnato al gruppo di sicurezza. Ad esempio, per trovare tutti i gruppi con un tag che include la chiave Owner e il valore TeamA, inserisci Owner:TeamA. Puoi utilizzare filtri per tag separati da virgole, ad esempio Name:Name1,Owner:TeamA. I gruppi restituiti devono corrispondere a tutti i filtri.

Risultati per pagina Numero intero 50 Falso Il numero di gruppi di sicurezza da restituire. Il valore predefinito è 50. Il valore massimo è 1000. Nota: i parametri "ID gruppo di sicurezza" e "Nomi gruppi di sicurezza" non possono essere utilizzati con il parametro "Risultati massimi".

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato 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"
}
]
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

  • Se i gruppi sono stati elencati correttamente (is_success = true): "Successfully described Amazon EC2 security groups." (Gruppi di sicurezza Amazon EC2 descritti correttamente).
  • Se non sono disponibili valori(is_success = false): "Nessun gruppo di sicurezza trovato in Amazon EC2"

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

if fatal error, invalid group ID/Name, SDK error, like wrong credentials, no connection to server, other: "Error executing action "List Security Groups". Motivo: {0}''.format(error.Stacktrace)

Generale
Tabella della bacheca casi

Nome tabella:istanze Amazon EC2

Colonne della tabella:

ID gruppo di sicurezza

Nome del gruppo di sicurezza

ID VPC

Descrizione

ID proprietario

Dindin

Verifica la connettività ad AWS EC2.

Parametri

N/D

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

Se l'operazione va a buon fine: "Connessione ad Amazon EC2 riuscita con i parametri di connessione forniti."

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

In caso contrario: "Impossibile connettersi al server Amazon EC2. Error is {0}".format(exception.stacktrace)

Generale

Revoca dell'uscita del gruppo di sicurezza

Rimuove le regole di uscita (regole in uscita) specificate da un gruppo di sicurezza per EC2-VPC. Questa azione non si applica ai gruppi di sicurezza da utilizzare in EC2-Classic. Per rimuovere una regola, i valori specificati (ad esempio le porte) devono corrispondere esattamente ai valori della regola esistente. Le modifiche alle regole vengono propagate alle istanze all'interno del gruppo di sicurezza il più rapidamente possibile. Tuttavia, potrebbe verificarsi un piccolo ritardo.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID gruppo di sicurezza Stringa N/D Sì

Uno o più ID gruppo di sicurezza. Separati da virgole.

Nota per gli sviluppatori: ogni ID in una richiesta separata

Protocollo IP DDL tutti No

Il nome del protocollo IP. Utilizza "all" per specificare tutti i protocolli. Se specifichi "all", il traffico è consentito su tutte le porte, indipendentemente dall'intervallo di porte specificato.

Valori possibili: tcp , udp , icmp, all

Nota per gli sviluppatori: "all" equivale a -1 dal codice

Dalla porta Numero intero No L'inizio dell'intervallo di porte per i protocolli TCP e UDP o un numero di tipo ICMP.
Porta di destinazione Numero intero No La fine dell'intervallo di porte per i protocolli TCP e UDP consente il traffico su tutte le porte, indipendentemente dall'intervallo di porte specificato.
Intervalli IP - CidrIP Stringa N/D No L'indirizzo IPv4 in formato CIDR. Per specificare un singolo indirizzo IPv4, utilizza la lunghezza del prefisso /32.
Intervalli IPv6 - CidrIP Stringa N/D No L'intervallo CIDR IPv6. Per specificare un singolo indirizzo IPv6, utilizza la lunghezza del prefisso /128.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

se le regole di uscita specificate sono state revocate correttamente da almeno uno (o tutti) i gruppi di sicurezza: (is_success = true): "Successfully revoked the specified egress rule from the following security groups: {group_ids}" (la regola di uscita specificata è stata revocata correttamente dai seguenti gruppi di sicurezza: {group_ids})

if failed to revoke the specified egress rules because of permissions rule error (invalid port as 205,etc): (is_success =false): "Failed to revoke the specified egress rule from the following security groups: {group_ids}. Motivo: set di autorizzazioni IP non valido. Per ulteriori dettagli, controlla i log."

if failed to revoke the specified egress rules because of invalid security group id: (is_success =false): "Failed to revoke the specified egress rule from the following security groups: {group_ids}. Motivo: è stato fornito un ID gruppo di sicurezza non valido. Per ulteriori dettagli, controlla i log.``

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

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

Gener

Revoca dell'accesso in entrata del gruppo di sicurezza

Rimuove le regole di ingresso (in entrata) specificate da un gruppo di sicurezza. Per rimuovere una regola, i valori specificati (ad esempio le porte) devono corrispondere esattamente ai valori della regola esistente. Le modifiche alle regole vengono propagate alle istanze all'interno del gruppo di sicurezza il più rapidamente possibile. Tuttavia, potrebbe verificarsi un piccolo ritardo.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID gruppo di sicurezza Stringa N/D Sì

Uno o più ID gruppo di sicurezza. Separati da virgole.

Nota per gli sviluppatori: ogni ID in una richiesta separata

Protocollo IP DDL tutti No

Il nome del protocollo IP. Utilizza "all" per specificare tutti i protocolli. Se specifichi "all", il traffico è consentito su tutte le porte, indipendentemente dall'intervallo di porte specificato.

Valori possibili: tcp , udp , icmp, all

Nota per gli sviluppatori: "all" equivale a -1 dal codice

Dalla porta Numero intero No L'inizio dell'intervallo di porte per i protocolli TCP e UDP o un numero di tipo ICMP.
Porta di destinazione Numero intero No La fine dell'intervallo di porte per i protocolli TCP e UDP consente il traffico su tutte le porte, indipendentemente dall'intervallo di porte specificato.
Intervalli IP - CidrIP Stringa N/D No L'indirizzo IPv4 in formato CIDR. Per specificare un singolo indirizzo IPv4, utilizza la lunghezza del prefisso /32.
Intervalli IPv6 - CidrIP Stringa N/D No L'intervallo CIDR IPv6. Per specificare un singolo indirizzo IPv6, utilizza la lunghezza del prefisso /128.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

se la revoca delle regole di ingresso specificate è riuscita per almeno uno (o tutti) i gruppi di sicurezza: (is_success = true): "Successfully revoked the specified ingress rule from the following security groups: {group_ids}" (Revoca della regola di ingresso specificata riuscita per i seguenti gruppi di sicurezza: {group_ids})

if failed to revoke the specified ingress rules because of permissions rule error (invalid port as 205,etc): (is_success =false): "Failed to revoke the specified ingress rule from the following security groups: {group_ids}. Motivo: set di autorizzazioni IP non valido. Per ulteriori dettagli, controlla i log."

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}. Motivo: è stato fornito un ID gruppo di sicurezza non valido. Per ulteriori dettagli, controlla i log.``

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se si verifica un errore irreversibile, un errore dell'SDK, ad esempio credenziali errate, nessuna connessione al server o altro: "Errore durante l'esecuzione dell'azione "Revoca dell'accesso al gruppo di sicurezza". Motivo: {0}''.format(error.Stacktrace)

Generale

Avvia istanza

Avvia un'istanza supportata da Amazon Elastic Block Store (Amazon EBS) che hai arrestato in precedenza. Possono essere necessari alcuni minuti prima che l'istanza entri nello stato di esecuzione. Tieni presente che non puoi avviare un'istanza supportata da uno store di istanze. Per saperne di più sulle istanze supportate da instance store, consulta Archiviazione per il dispositivo root.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID istanza Stringa N/D Sì Uno o più ID istanza. Separati da virgole

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
[
  {
      "CurrentState": "pending",
        "InstanceId": "string",
        "PreviousState":"stopped"
    }
]
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

  • Se lo stato attuale di tutte/alcune istanze è diverso da: pending, running: ( Is_success = false): Non è possibile avviare le seguenti istanze dal loro stato attuale: <failed_instance ids>
  • Se lo stato attuale è in attesa → azione ancora in corso: continua… le istanze richieste sono ancora in attesa
  • Se lo stato attuale è in esecuzione:(is_success=true: Stampa: Le seguenti istanze sono state avviate correttamente : <running_instance ids>
  • Se una delle istanze non è valida (is_success =false): le seguenti istanze non sono valide: <not valid ids>. Riprova.

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

Se si verifica un errore irreversibile, un errore dell'SDK, ad esempio credenziali errate, nessuna connessione al server o altro: "Errore durante l'esecuzione dell'azione "Avvia istanza". Motivo: {0}''.format(error.Stacktrace)

Generale

Arresta istanza

Arresta un'istanza supportata da Amazon EBS. Quando arresti un'istanza, il sistema tenta di arrestarla forzatamente dopo un breve ritardo. L'arresto dell'istanza può richiedere alcuni minuti. Puoi riavviare l'istanza in qualsiasi momento. Non puoi arrestare un'istanza supportata da uno store di istanze; devi invece terminarla. Per ulteriori informazioni sulle istanze supportate da store, vedi https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID istanza Stringa N/D Sì Un elenco di ID istanza separati da virgole.
Forza Bool N/D No Se selezionata, l'azione esegue un arresto anomalo (hard), arrestando immediatamente l'istanza senza consentirle di svuotare le cache del file system o i metadati. Questo processo richiede procedure obbligatorie di controllo e riparazione del file system prima che l'istanza possa riprendere il funzionamento. Opzione sconsigliata per le istanze Windows.

Non è abilitata per impostazione predefinita.

Run On

Questa azione non viene eseguita sulle entità.

Scatta istantanea

Scatta uno snapshot dell'istanza.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID istanza Stringa N/D Sì Specifica l'ID istanza.
Descrizione Stringa N/D No Specifica la descrizione dello snapshot.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato 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"
    }
  ]
}

Termina istanza

Termina un'istanza.

Le istanze terminate non possono essere riavviate. È possibile terminare solo le istanze supportate dall'archivio istanze. Per saperne di più sulle istanze supportate da instance store, consulta Archiviazione per il dispositivo di root.

Se termini un'istanza più di una volta, ogni chiamata va a buon fine. Se specifichi più istanze e la richiesta non va a buon fine (ad esempio a causa di un singolo ID istanza errato), nessuna delle istanze viene terminata.

Le istanze terminate rimangono visibili dopo la terminazione (per circa un'ora). Per impostazione predefinita, Amazon EC2 elimina tutti i volumi EBS collegati al momento dell'avvio dell'istanza. I volumi collegati dopo l'avvio dell'istanza continuano a essere eseguiti. Per ulteriori informazioni, consulta la guida utente di Amazon.

Parametri

Nome visualizzato del parametro Tipo Valore predefinito È obbligatorio Descrizione
ID istanza Stringa N/D Sì Uno o più ID istanza. Separati da virgole.

Run On

Questa azione non viene eseguita sulle entità.

Risultati dell'azione

Risultato script
Nome del risultato dello script Opzioni di valore Esempio
is_success Vero/Falso is_success:False
Risultato JSON
"StoppingInstances": [
      {
      "CurrentState": "shutting-down",
        "InstanceId": "string",
        "PreviousState":"running"
      }
   ]
Bacheca casi
Tipo di risultato Valore / Descrizione Tipo
Messaggio di output*

L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

  • Se lo stato attuale di tutte o alcune istanze è diverso da: arresto, terminato (Is_success = false): Impossibile terminare le seguenti istanze dal loro stato attuale: <ID istanze non riuscite>
  • Se lo stato attuale è shutting-down: (is_success=true) → action still in progress: Continuing….the requested instances are still shutting-down
  • Se lo stato attuale è terminato (is_success=true): le seguenti istanze sono state terminate correttamente: <stopped_instance ids>
  • Se una delle istanze non è valida (is_success =false): le seguenti istanze non sono valide: <not valid ids>. Riprova.

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

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

Generale

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.