Integra Amazon EC2 con Google SecOps
Questo documento descrive come integrare AWS Elastic Compute Cloud (Amazon EC2) con Google Security Operations.
Casi d'uso
Proteggi le istanze Amazon Elastic Compute Cloud (Amazon EC2)
- Crea gruppi di sicurezza per limitare l'accesso a internet in entrata e in uscita ad Amazon EC2.
- Alloca un nuovo indirizzo IP elastico
- Associa un nuovo indirizzo IP elastico
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 per l'integrazione, assicurati di completare i seguenti passaggi:
Verifica la visibilità della rete tra Google SecOps e gli endpoint di servizio regionali di AWS EC2.
Ottieni le credenziali API programmatiche di AWS (un ID chiave di accesso e una chiave di accesso segreta) con le autorizzazioni IAM appropriate.
Configura e testa l'istanza di integrazione all'interno di 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 l'ambiente di rete soddisfi le seguenti regole di connettività:
Accesso HTTPS in uscita: abilita la comunicazione HTTPS in uscita dalla tua istanza Google SecOps o dall'agente remoto all'endpoint regionale AWS EC2 (
ec2.<region>.amazonaws.com) sulla porta443/TCP.Per saperne di più, consulta AWS Service Endpoints 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 di accesso segreta AWS validi associati a un utente o 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 di AWS.
Privilegio minimo: limita le autorizzazioni solo alle azioni e alle risorse di computing necessarie per i workflow automatizzati e ruota periodicamente le credenziali.
Per informazioni dettagliate sui suggerimenti per la sicurezza, consulta Best practice per la sicurezza in IAM nella documentazione di AWS.
Configura le autorizzazioni per le azioni
Concedi all'identità AWS IAM di autenticazione le autorizzazioni specifiche richieste per le azioni eseguite dai playbook di 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 il traffico in 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. |
| Authorize Security Group Ingress | ec2:AuthorizeSecurityGroupIngress |
ec2:DescribeRegions |
Aggiunge regole in entrata a un gruppo di sicurezza EC2. Risorsa: ARN del gruppo di sicurezza di destinazione. |
| Crea tag | ec2:CreateTags |
ec2:DescribeRegions |
Aggiunge o sovrascrive i tag sulle risorse EC2. Risorsa: ARN della risorsa EC2 di destinazione. |
| Elenca istanze | ec2:DescribeInstances |
ec2:DescribeRegions |
Recupera lo stato e i metadati delle istanze EC2. Risorsa:
*. |
| Elenco dei gruppi di sicurezza | 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. |
| Scatta istantanea | ec2:CreateSnapshots |
ec2:DescribeRegions |
Crea snapshot EBS point-in-time per i volumi delle istanze. 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
Esempio di policy IAM (privilegio minimo)
La seguente policy di esempio mostra le autorizzazioni necessarie per eseguire tutte le azioni AWS EC2 in Google SecOps.
Per istruzioni sulla creazione e sul collegamento delle 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 predefinita AWS | 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 Configura le integrazioni.
Se necessario, puoi 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 saperne di più sulle azioni, consulta Rispondi alle azioni in attesa dalla scrivania di lavoro ed Esegui un'azione manuale nel tuo caso.
Autorizza traffico in uscita del gruppo di sicurezza
Aggiunge la regola in 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 lo sviluppatore: 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 Note for dev: 'all' equals -1 from code |
| 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. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook: Se le regole in 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}" 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." Se non è stato possibile aggiungere le regole in uscita specificate a causa di un ID gruppo di sicurezza non valido: (is_success = false): "Impossibile aggiungere la regola in uscita specificata ai seguenti gruppi di sicurezza: {group_ids}. Motivo: è stato fornito un ID gruppo di sicurezza non valido. Per ulteriori dettagli, controlla i log.`` Se non è stato possibile aggiungere le regole in uscita specificate a tutti i gruppi: is_success=false L'azione dovrebbe 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". Reason: {0}''.format(error.Stacktrace) |
Generale |
Autorizza traffico in entrata 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 lo sviluppatore: 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 Note for dev: 'all' equals -1 from code |
| 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. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook: Se le regole in entrata specificate sono state aggiunte correttamente ad almeno un gruppo di sicurezza (se tutte sono state aggiornate correttamente, is_success = true): "La regola in entrata specificata è stata 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." Se non è stato possibile aggiungere le regole in entrata specificate a causa di un ID gruppo di sicurezza non valido (is_success =false): "Impossibile aggiungere la regola in entrata specificata ai seguenti gruppi di sicurezza: {group_ids}. Motivo: è stato fornito un ID gruppo di sicurezza non valido. Per ulteriori dettagli, controlla i log.`` L'azione dovrebbe 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". Reason: {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 Tagging Your Resources nella guida dell'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 Puoi aggiungere o sovrascrivere i tag specificati. Le chiavi dei tag devono essere univoche per risorsa. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook: Se l'operazione ha esito positivo: "Aggiunta dei tag {tags_list} alle seguenti risorse riuscita: "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: la risorsa può avere un massimo di 50 tag. Se la chiave tag non è univoca: (is_success = false): "Impossibile aggiungere i tag {tag_list} alle seguenti risorse: {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 una chiave e un valore. L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: In caso di errore irreversibile, errore dell'SDK, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Crea tag". Reason: {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 dei tag separati da virgole. Esempio: Name:Name1,Owner:TeamA. Le istanze restituite saranno adatte 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". |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del 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 avere esito negativo né interrompere l'esecuzione di un playbook:
L'azione dovrebbe 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". Reason: {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 i gruppi di sicurezza
Descrive i gruppi di sicurezza specificati o tutti i tuoi gruppi di sicurezza. Un gruppo di sicurezza è destinato all'utilizzo con istanze nella piattaforma EC2-Classic o in un VPC specifico.
Per saperne di più, consulta 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 |
| 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 gruppi di sicurezza" e "Nomi gruppi di sicurezza" non possono essere utilizzati con il parametro "Risultati massimi". |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del 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 avere esito negativo né interrompere l'esecuzione di un playbook:
L'azione dovrebbe 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". Reason: {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
Testa la connettività ad AWS EC2.
Parametri
N/D
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook: Se l'operazione va a buon fine: "Connessione ad Amazon EC2 con i parametri di connessione forniti riuscita". L'azione dovrebbe 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 |
Revoke Security Group Egress
Rimuove le regole in uscita specificate (regole in uscita) 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 lo sviluppatore: 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 Note for dev: 'all' equals -1 from code |
| 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. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook: Se la revoca delle regole in uscita specificate da almeno uno (o tutti) i gruppi di sicurezza è andata a buon fine: (is_success = true): "La revoca della regola in uscita specificata dai seguenti gruppi di sicurezza è andata a buon fine: {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 dovrebbe non riuscire e interrompere l'esecuzione di un playbook: In caso di errore irreversibile, errore dell'SDK, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Revoca traffico in uscita del gruppo di sicurezza". Reason: {0}''.format(error.Stacktrace) |
Gener |
Revoke Security Group Ingress
Rimuove le regole in entrata (regole 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 lo sviluppatore: 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 Note for dev: 'all' equals -1 from code |
| 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. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve avere esito negativo né interrompere l'esecuzione di un playbook: Se la revoca delle regole di ingresso specificate per almeno uno (o tutti) i gruppi di sicurezza è andata a buon fine: (is_success = true): "Successfully revoked the specified ingress rule from the following security groups: {group_ids}" Se non è stato possibile revocare le regole in entrata specificate a causa di un errore delle regole di autorizzazione (porta non valida come 205 ecc.): (is_success =false): "Impossibile revocare la regola in entrata specificata dai seguenti gruppi di sicurezza: {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 dovrebbe 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 Ingress". Reason: {0}''.format(error.Stacktrace) |
Generale |
Avvia istanza
Avvia un'istanza supportata da Amazon Elastic Block Store (Amazon EBS) che hai arrestato in precedenza. L'istanza può impiegare alcuni minuti per entrare nello stato In esecuzione. Tieni presente che non puoi avviare un'istanza supportata dall'archivio di istanze. Per saperne di più sulle istanze supportate dall'archivio di istanze, 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 |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del 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 avere esito negativo né interrompere l'esecuzione di un playbook:
L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: In caso di errore irreversibile, errore dell'SDK, ad esempio credenziali errate, nessuna connessione al server, altro: "Errore durante l'esecuzione dell'azione "Avvia istanza". Reason: {0}''.format(error.Stacktrace) |
Generale |
Arresta istanza
Arresta un'istanza supportata da Amazon EBS. Quando interrompi 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 interrompere un'istanza supportata dall'archivio di istanze, ma devi terminarla. Per ulteriori informazioni sulle istanze supportate dall'archivio di istanze, consulta 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 separato da virgole di ID istanza. |
| Forza | Bool | N/D | No | Se selezionata, l'azione esegue un arresto anomalo (forzato), interrompendo immediatamente l'istanza senza consentire lo svuotamento delle cache o dei metadati del file system.
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. |
Esegui il
Questa azione non viene eseguita sulle entità.
Scatta una foto
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. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del 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 di istanze. Per saperne di più sulle istanze supportate dall'archivio di istanze, consulta Archiviazione per il dispositivo 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 istanza 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 saperne di più, consulta la guida dell'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. |
Esegui il
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del 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 avere esito negativo né interrompere l'esecuzione di un playbook:
L'azione dovrebbe 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". Reason: {0}''.format(error.Stacktrace) |
Generale |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.