Integrar o Amazon EC2 ao Google SecOps

Neste documento, descrevemos como integrar o AWS Elastic Compute Cloud (Amazon EC2) ao Google Security Operations.

Casos de uso

  1. Proteger as instâncias do Amazon Elastic Compute Cloud (Amazon EC2)

    1. Crie grupos de segurança para restringir o acesso à internet de entrada e saída para o Amazon EC2.
    2. Alocar um novo endereço IP elástico
    3. Associar um novo endereço IP elástico
  2. Gerenciamento de recursos: use tags personalizadas de instância para rastrear e identificar recursos da AWS.

Antes de começar

Antes de configurar a integração do AWS Elastic Compute Cloud (EC2) no Google SecOps, verifique se o ambiente de rede e as credenciais da AWS atendem a todos os pré-requisitos operacionais.

Para preparar o ambiente para integração, conclua o seguinte:

  1. Verifique a linha de visão da rede entre o Google SecOps e os endpoints de serviço regionais do AWS EC2.

  2. Consiga credenciais de API programática da AWS (um ID de chave de acesso e uma chave de acesso secreta) com as permissões do IAM adequadas.

  3. Configure e teste a instância de integração no Google SecOps.

Requisitos de rede

O Google SecOps se comunica diretamente com o serviço AWS EC2 usando APIs REST HTTPS e o SDK do Python da AWS (boto3).

Verifique se o ambiente de rede atende às seguintes regras de conectividade:

  • Acesso HTTPS de saída: ative a comunicação HTTPS de saída da sua instância do Google SecOps ou do agente remoto para o endpoint regional do AWS EC2 (ec2.<region>.amazonaws.com) pela porta 443/TCP.

    Para mais informações, consulte Endpoints de serviço da AWS na documentação da AWS.

  • Configuração de proxy: se a organização rotear o tráfego de saída por um proxy HTTP/HTTPS, configure as variáveis de proxy de ambiente padrão (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) no servidor do Google SecOps ou no host do agente remoto.

Autenticação e credenciais

A integração com o AWS EC2 requer credenciais de API programáticas para autenticar solicitações usando o AWS Signature versão 4.

Verifique se o ambiente da AWS atende aos seguintes requisitos de autenticação:

  • Credenciais programáticas: consiga um ID de chave de acesso e uma chave secreta da AWS válidos associados a um usuário ou papel do AWS IAM.

    Para informações sobre como criar identidades do IAM e gerar credenciais, consulte Como gerenciar chaves de acesso para usuários do IAM e Identidades do IAM na documentação da AWS.

  • Privilégio mínimo: restrinja as permissões apenas às ações e aos recursos de computação necessários para seus fluxos de trabalho automatizados e alterne as credenciais periodicamente.

    Para detalhes sobre as recomendações de segurança, consulte Práticas recomendadas de segurança no IAM na documentação da AWS.

Configurar permissões de ação

Conceda à identidade de autenticação do AWS IAM as permissões específicas necessárias para as ações que os playbooks do Google SecOps executam.

Consulte as permissões mínimas para ações do AWS Elastic Compute Cloud (EC2) na tabela a seguir:

Nome da ação Permissão do IAM da AWS obrigatória (ActionName:Permission) Permissão de pré-requisito Descrição / Escopo do recurso
Authorize Security Group Egress ec2:AuthorizeSecurityGroupEgress ec2:DescribeRegions Adiciona regras de saída a um grupo de segurança do EC2. Recurso: ARN do grupo de segurança de destino.
Autorizar entrada do grupo de segurança ec2:AuthorizeSecurityGroupIngress ec2:DescribeRegions Adiciona regras de entrada a um grupo de segurança do EC2. Recurso: ARN do grupo de segurança de destino.
Criar tags ec2:CreateTags ec2:DescribeRegions Adiciona ou substitui tags em recursos do EC2. Recurso: ARN do recurso de destino do EC2.
Listar instâncias ec2:DescribeInstances ec2:DescribeRegions Recupera o status e os metadados das instâncias do EC2. Recurso: *.
Listar grupos de segurança ec2:DescribeSecurityGroups — Recupera configurações e regras de grupos de segurança. Recurso: *.
Ping ec2:DescribeRegions — Valida a conectividade da integração. Recurso: *.
Revoke Security Group Egress ec2:RevokeSecurityGroupEgress ec2:DescribeRegions Remove regras de saída de um grupo de segurança do EC2. Recurso: ARN do grupo de segurança de destino.
Revogar entrada do grupo de segurança ec2:RevokeSecurityGroupIngress ec2:DescribeRegions Remove regras de entrada de um grupo de segurança do EC2. Recurso: ARN do grupo de segurança de destino.
Iniciar instância ec2:StartInstances — Inicia instâncias do EC2 interrompidas. Recurso: ARN da instância de destino do EC2.
Interromper instância ec2:StopInstances — Interrompe a execução de instâncias do EC2. Recurso: ARN da instância de destino do EC2.
Criar snapshot ec2:CreateSnapshots ec2:DescribeRegions Cria snapshots pontuais do EBS para volumes de instâncias. Recurso: ARNs de instância e volume.
Encerrar instância ec2:TerminateInstances — Encerra e finaliza instâncias do EC2. Recurso: ARN da instância de destino do EC2.

Referência rápida (ActionName:Permission)

Use a seguinte referência rápida para analisar as permissões necessárias para cada ação:

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

Exemplo de política do IAM (privilégio mínimo)

O exemplo de política a seguir demonstra as permissões necessárias para executar todas as ações do AWS EC2 no Google SecOps.

Para instruções sobre como criar e anexar políticas do IAM, consulte Como criar políticas do IAM na documentação da 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/*"
    }
  ]
}

Parâmetros de integração

Use os seguintes parâmetros para configurar a integração:

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
ID da chave de acesso da AWS String N/A Sim ID da chave de acesso da AWS a ser usado na integração.
Chave secreta da AWS Senha N/A Sim Chave secreta da AWS para usar na integração.
Região padrão da AWS String N/A Sim Região padrão da AWS a ser usada na integração, por exemplo, us-west-2.

Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

Se necessário, você pode fazer mudanças depois. Depois de configurar uma instância de integração, é possível usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Como oferecer suporte a várias instâncias.

Ações

Para mais informações sobre ações, consulte Responder a ações pendentes na sua mesa de trabalho e Executar uma ação manual no seu caso.

Authorize Security Group Egress

Adiciona a regra de saída especificada a um grupo de segurança para uso com uma VPC. Uma regra de saída permite que as instâncias enviem tráfego para os intervalos de endereços CIDR IPv4 ou IPv6 especificados. As mudanças nas regras são propagadas para as instâncias afetadas o mais rápido possível. No entanto, pode haver um pequeno atraso.

Para mais informações sobre os limites de grupos de segurança da VPC, consulte Limites da Amazon VPC.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs dos grupos de segurança String N/A Sim

Um ou mais IDs de grupo de segurança. Separados por vírgula.

Observação para o desenvolvedor: cada ID em uma solicitação separada

Protocolo IP DDL todas Não

O nome do protocolo IP. Use "all" para especificar todos os protocolos. Especificar "all" permite o tráfego em todas as portas, independentemente do intervalo de portas especificado.

Valores possíveis: tcp , udp , icmp, all

Observação para o desenvolvedor: "all" é igual a -1 no código

Da porta Inteiro Não O início do intervalo de portas para os protocolos TCP e UDP ou um número de tipo ICMP.
Para fazer a portabilidade Inteiro Não O fim do intervalo de portas para os protocolos TCP e UDP permite o tráfego em todas as portas, independentemente do intervalo de portas especificado.
Intervalos de IP: CidrIP String N/A Não O intervalo CIDR IPv4. Para especificar um único endereço IPv4, use o tamanho de prefixo /32.
Intervalos IPv6: CidrIP String N/A Não O intervalo CIDR IPv6. Para especificar um único endereço IPv6, use o tamanho de prefixo /128.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se as regras de saída especificadas forem adicionadas a pelo menos um (ou todos) os grupos de segurança: (is_success = true): "A regra de saída especificada foi adicionada aos seguintes grupos de segurança: {group_ids}"

Se não for possível adicionar as regras de saída especificadas devido a um erro de regra de permissões (porta inválida etc.): (is_success = false): "Falha ao adicionar a regra de saída especificada aos seguintes grupos de segurança: {group_ids}. Motivo: conjunto de permissões de IP inválido. Para mais detalhes, verifique os registros."

Se não foi possível adicionar as regras de saída especificadas devido a um ID de grupo de segurança inválido: (is_success = false): "Falha ao adicionar a regra de saída especificada aos seguintes grupos de segurança: {group_ids}. Motivo: o ID do grupo de segurança fornecido é inválido. Para mais detalhes, verifique os registros.``

Se não for possível adicionar as regras de saída especificadas a todos os grupos: is_success=false

A ação deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, falta de conexão com o servidor, entre outros: "Erro ao executar a ação 'Autorizar saída do grupo de segurança'. Motivo: {0}''.format(error.Stacktrace)

Geral

Autorizar entrada do grupo de segurança

Adiciona a regra de entrada especificada a um grupo de segurança. Uma regra de entrada permite que as instâncias recebam tráfego dos intervalos de endereços CIDR IPv4 ou IPv6 especificados. As mudanças nas regras são propagadas para as instâncias afetadas o mais rápido possível. No entanto, pode haver um pequeno atraso.

Para mais informações sobre os limites de grupos de segurança da VPC, consulte Limites da Amazon VPC.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs dos grupos de segurança String N/A Sim

Um ou mais IDs de grupo de segurança. Separados por vírgula.

Observação para o desenvolvedor: cada ID em uma solicitação separada

Protocolo IP DDL todas Não

O nome do protocolo IP. Use "all" para especificar todos os protocolos. Especificar "all" permite o tráfego em todas as portas, independentemente do intervalo de portas especificado.

Valores possíveis: tcp , udp , icmp, all

Observação para o desenvolvedor: "all" é igual a -1 no código

Da porta Inteiro Não O início do intervalo de portas para os protocolos TCP e UDP ou um número de tipo ICMP.
Para fazer a portabilidade Inteiro Não O fim do intervalo de portas para os protocolos TCP e UDP permite o tráfego em todas as portas, independentemente do intervalo de portas especificado.
Intervalos de IP: CidrIP String N/A Não O endereço IPv4 no formato CIDR. Para especificar um único endereço IPv4, use o tamanho de prefixo /32.
Intervalos IPv6: CidrIP String N/A Não O intervalo CIDR IPv6. Para especificar um único endereço IPv6, use o tamanho de prefixo /128.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se as regras de entrada especificadas forem adicionadas a pelo menos um grupo de segurança (se todas forem atualizadas: is_success = true): "As regras de entrada especificadas foram adicionadas aos seguintes grupos de segurança: {group_ids}"

Se não foi possível adicionar as regras de entrada especificadas devido a um erro de regra de permissões (porta inválida etc.): (is_success =false): "Falha ao adicionar a regra de entrada especificada aos seguintes grupos de segurança: {group_ids}. Motivo: conjunto de permissões de IP inválido. Para mais detalhes, verifique os registros."

Se não for possível adicionar as regras de entrada especificadas devido a um ID de grupo de segurança inválido (is_success =false): "Falha ao adicionar a regra de entrada especificada aos seguintes grupos de segurança: {group_ids}. Motivo: o ID do grupo de segurança fornecido é inválido. Para mais detalhes, verifique os registros.``

A ação deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, falta de conexão com o servidor, entre outros: "Erro ao executar a ação 'Autorizar entrada do grupo de segurança'. Motivo: {0}''.format(error.Stacktrace)

Geral

Criar tags

Uma tag é um rótulo que você atribui a um recurso da AWS. Cada tag consiste em uma chave e um valor opcional. Use tags para pesquisar e filtrar seus recursos ou rastrear seus custos da AWS. Adiciona ou substitui apenas as tags especificadas para o recurso ou recursos especificados do Amazon EC2. Quando você especifica uma chave de tag existente, o valor é substituído pelo novo valor. Cada recurso pode ter no máximo 50 tags. As chaves de tag precisam ser exclusivas por recurso.

Para mais informações sobre tags, consulte Como marcar seus recursos no Guia do usuário do Amazon Elastic Compute Cloud.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Códigos de recurso String N/A Sim Um ou mais IDs de recurso. Separados por vírgula.
Tags String N/A Sim

A combinação de chave-valor de uma tag a ser atribuída ao recurso. Por exemplo, para adicionar a todos os recursos especificados uma tag com a chave Owner e o valor TeamA, especifique Owner:TeamA. É possível especificar várias combinações de chave-valor separando-as com vírgulas.

É possível adicionar ou substituir as tags especificadas. As chaves de tag precisam ser exclusivas por recurso.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se der certo: "As tags {tags_list} foram adicionadas aos seguintes recursos: "resource_ids"

Para IDs de recursos inválidos (is_success = false): "Falha ao adicionar as tags {tag_list} aos seguintes recursos: {resource_ids}. Motivo: ID de recurso inválido

Se o recurso tiver mais de 50 tags (is_success = false): "Falha ao adicionar as tags {tag_list} aos seguintes recursos: {resource_ids}. Motivo: o recurso pode ter no máximo 50 tags.

Se a chave da tag não for exclusiva (is_success = false): "Falha ao adicionar as tags {tag_list} aos seguintes recursos: {resource_ids}. Motivo: as chaves de tag precisam ser exclusivas por recurso.

Se a tag fornecida estiver em um formato inválido (ou seja, apenas chave ou apenas valor sem a estrutura completa de chave:valor) (is_success = false): "Falha ao adicionar as tags {invalid_tags} aos seguintes recursos: {ids}. Motivo: formato inválido. A tag precisa incluir chave e valor.

A ação deve falhar e interromper a execução de um playbook:

Se houver um erro fatal ou do SDK, como credenciais incorretas, falta de conexão com o servidor, entre outros: "Erro ao executar a ação 'Criar tags'. Motivo: {0}''.format(error.Stacktrace)

Geral

Listar instâncias

Descreve as instâncias especificadas ou todas as instâncias.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs de instância String N/A Não Um ou mais IDs de instância. Se você especificar IDs de instância, a saída vai incluir informações apenas para as instâncias especificadas. Esse parâmetro não pode ser usado com o parâmetro "Max Results". "IDs de instância" tem prioridade sobre o parâmetro "Resultado máximo".
Filtros de tags String N/A Não A combinação de chave/valor de uma tag atribuída ao recurso. Por exemplo, para encontrar todos os recursos que têm uma tag com a chave Proprietário e o valor TeamA, especifique Owner:TeamA. Filtros de tag separados por vírgula. Exemplo: Name:Name1,Owner:TeamA. As instâncias retornadas vão se ajustar a todos os filtros.
Máximo de resultados Inteiro 50 Não Especifique quantas instâncias serão retornadas. O padrão é 50. O máximo é 1.000. O parâmetro "IDs de instância" não pode ser usado com o parâmetro "Máximo de resultados". "IDs de instância" tem prioridade sobre o parâmetro "Resultado máximo".

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do 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
   }
}
 ]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se as instâncias forem listadas com sucesso(is_success = true): "As instâncias do Amazon EC2 foram descritas com sucesso."
  • Se não houver valores disponíveis(is_success = false): "Nenhuma instância foi encontrada no Amazon EC2"

A ação deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, ID de instância inválido, erro do SDK, como credenciais erradas, sem conexão com o servidor, outro: "Erro ao executar a ação 'Listar instâncias'. Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela do painel de casos

Nome da tabela: instâncias do Amazon EC2

Colunas da tabela:

ID

Estado

Tipo

Zona de disponibilidade

DNS IPv4 público

Endereço IPv4 público

Monitoramento

Nome do grupo de segurança

Nome da chave

Hora do lançamento

Listar grupos de segurança

Descreve os grupos de segurança especificados ou todos os seus grupos de segurança. Um grupo de segurança é usado com instâncias na plataforma EC2-Classic ou em uma VPC específica.

Para mais informações, consulte Grupos de segurança do Amazon EC2.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nomes dos grupos de segurança String N/A Falso Um ou mais nomes de grupos de segurança [somente EC2-Classic e VPC padrão]. Separados por vírgula.Se você especificar nomes de grupos de segurança, a saída vai incluir informações apenas para os nomes especificados.
IDs dos grupos de segurança String N/A Falso Um ou mais IDs de grupo de segurança. Separados por vírgula.Se você especificar IDs de grupos de segurança, a saída vai incluir informações apenas para os IDs especificados. Obrigatório para grupos de segurança em uma VPC não padrão.
Filtros de tags String N/A Falso

A combinação de chave-valor de uma tag atribuída ao grupo de segurança. Por exemplo, para encontrar todos os grupos com uma tag que inclua a chave Owner e o valor TeamA, digite Owner:TeamA. É possível usar filtros de tag separados por vírgulas, como Name:Name1,Owner:TeamA. Os grupos retornados precisam corresponder a todos os filtros.

Máximo de resultados Inteiro 50 Falso O número de grupos de segurança que serão retornados. O valor padrão é 50. O valor máximo é 1000. Observação: os parâmetros "IDs do grupo de segurança" e "Nomes do grupo de segurança" não podem ser usados com o parâmetro "Máximo de resultados".

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do 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"
}
]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se os grupos forem listados(is_success = true): "Os grupos de segurança do Amazon EC2 foram descritos."
  • Se não houver valores disponíveis(is_success = false): "Nenhum grupo de segurança foi encontrado no Amazon EC2"

A ação deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, ID/nome de grupo inválido, erro do SDK, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação 'Listar grupos de segurança'. Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela do painel de casos

Nome da tabela: instâncias do Amazon EC2

Colunas da tabela:

ID do grupo de segurança

Nome do grupo de segurança

ID da VPC

Descrição

ID do proprietário

Ping

Teste a conectividade com o AWS EC2.

Parâmetros

N/A

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se der certo: "Conexão com o Amazon EC2 estabelecida com os parâmetros fornecidos!"

A ação deve falhar e interromper a execução de um playbook:

Se não for concluída: "Falha ao se conectar ao servidor do Amazon EC2! O erro é {0}".format(exception.stacktrace)

Geral

Revoke Security Group Egress

Remove as regras de saída especificadas de um grupo de segurança para EC2-VPC. Essa ação não se aplica a grupos de segurança para uso no EC2-Classic. Para remover uma regra, os valores especificados (por exemplo, portas) precisam corresponder exatamente aos valores da regra atual. As mudanças nas regras são propagadas para as instâncias no grupo de segurança o mais rápido possível. No entanto, pode ocorrer um pequeno atraso.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs dos grupos de segurança String N/A Sim

Um ou mais IDs de grupo de segurança. Separados por vírgula.

Observação para o desenvolvedor: cada ID em uma solicitação separada

Protocolo IP DDL todas Não

O nome do protocolo IP. Use "all" para especificar todos os protocolos. Especificar "all" permite o tráfego em todas as portas, independentemente do intervalo de portas especificado.

Valores possíveis: tcp , udp , icmp, all

Observação para o desenvolvedor: "all" é igual a -1 no código

Da porta Inteiro Não O início do intervalo de portas para os protocolos TCP e UDP ou um número de tipo ICMP.
Para fazer a portabilidade Inteiro Não O fim do intervalo de portas para os protocolos TCP e UDP permite o tráfego em todas as portas, independentemente do intervalo de portas especificado.
Intervalos de IP: CidrIP String N/A Não O endereço IPv4 no formato CIDR. Para especificar um único endereço IPv4, use o tamanho de prefixo /32.
Intervalos IPv6: CidrIP String N/A Não O intervalo CIDR IPv6. Para especificar um único endereço IPv6, use o tamanho de prefixo /128.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se as regras de saída especificadas forem revogadas de pelo menos um (ou todos) os grupos de segurança (is_success = true): "As regras de saída especificadas foram revogadas dos seguintes grupos de segurança: {group_ids}"

Se houver falha ao revogar as regras de saída especificadas devido a um erro de regra de permissões (porta inválida como 205 etc.): (is_success =false): "Falha ao revogar a regra de saída especificada dos seguintes grupos de segurança: {group_ids}. Motivo: conjunto de permissões de IP inválido. Para mais detalhes, verifique os registros."

Se não for possível revogar as regras de saída especificadas devido a um ID de grupo de segurança inválido (is_success =false): "Falha ao revogar a regra de saída especificada dos seguintes grupos de segurança: {group_ids}. Motivo: o ID do grupo de segurança fornecido é inválido. Para mais detalhes, verifique os registros.``

A ação deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, falta de conexão com o servidor, entre outros: "Erro ao executar a ação 'Revogar saída do grupo de segurança'. Motivo: {0}''.format(error.Stacktrace)

Gener

Revogar entrada do grupo de segurança

Remove as regras de entrada especificadas de um grupo de segurança. Para remover uma regra, os valores especificados (por exemplo, portas) precisam corresponder exatamente aos valores da regra atual. As mudanças nas regras são propagadas para as instâncias no grupo de segurança o mais rápido possível. No entanto, pode haver um pequeno atraso.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs dos grupos de segurança String N/A Sim

Um ou mais IDs de grupo de segurança. Separados por vírgula.

Observação para o desenvolvedor: cada ID em uma solicitação separada

Protocolo IP DDL todas Não

O nome do protocolo IP. Use "all" para especificar todos os protocolos. Especificar "all" permite o tráfego em todas as portas, independentemente do intervalo de portas especificado.

Valores possíveis: tcp , udp , icmp, all

Observação para o desenvolvedor: "all" é igual a -1 no código

Da porta Inteiro Não O início do intervalo de portas para os protocolos TCP e UDP ou um número de tipo ICMP.
Para fazer a portabilidade Inteiro Não O fim do intervalo de portas para os protocolos TCP e UDP permite o tráfego em todas as portas, independentemente do intervalo de portas especificado.
Intervalos de IP: CidrIP String N/A Não O endereço IPv4 no formato CIDR. Para especificar um único endereço IPv4, use o tamanho de prefixo /32.
Intervalos IPv6: CidrIP String N/A Não O intervalo CIDR IPv6. Para especificar um único endereço IPv6, use o tamanho de prefixo /128.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se as regras de entrada especificadas forem revogadas com sucesso para pelo menos um (ou todos) os grupos de segurança: (is_success = true): "Successfully revoked the specified ingress rule from the following security groups: {group_ids}"

Se houver falha ao revogar as regras de entrada especificadas devido a um erro de regra de permissões (porta inválida como 205 etc.): (is_success =false): "Falha ao revogar a regra de entrada especificada dos seguintes grupos de segurança: {group_ids}. Motivo: conjunto de permissões de IP inválido. Para mais detalhes, verifique os registros."

Se houver falha ao revogar as regras de entrada especificadas devido a um ID de grupo de segurança inválido (is_success =false): "Falha ao revogar a regra de entrada especificada dos seguintes grupos de segurança: {group_ids}. Motivo: o ID do grupo de segurança fornecido é inválido. Para mais detalhes, verifique os registros.``

A ação deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, falta de conexão com o servidor, entre outros: "Erro ao executar a ação 'Revogar entrada do grupo de segurança'. Motivo: {0}''.format(error.Stacktrace)

Geral

Iniciar instância

Inicia uma instância do Amazon Elastic Block Store (Amazon EBS) que você interrompeu anteriormente. Pode levar alguns minutos para que a instância entre no estado de execução. Não é possível iniciar uma instância com armazenamento de instâncias. Para mais informações sobre instâncias com armazenamento de instâncias, consulte Armazenamento para o dispositivo raiz.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs de instância String N/A Sim Um ou mais IDs de instância. Separados por vírgula

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
[
  {
      "CurrentState": "pending",
        "InstanceId": "string",
        "PreviousState":"stopped"
    }
]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se o estado atual de todas/algumas instâncias for diferente de: pendente, em execução: ( Is_success = false): Não é possível iniciar as seguintes instâncias do estado atual: <failed_instance ids>
  • Se o estado atual for pendente → ação ainda em andamento: as instâncias solicitadas ainda estão pendentes.
  • Se o estado atual for em execução:(is_success=true: Print: As seguintes instâncias foram iniciadas : <running_instance ids>
  • Se uma das instâncias não for válida (is_success =false): as seguintes instâncias não são válidas: <not valid ids>. Tente de novo.

A ação deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, nenhuma conexão com o servidor, entre outros: "Erro ao executar a ação 'Iniciar instância'. Motivo: {0}''.format(error.Stacktrace)

Geral

Interromper instância

Interrompe uma instância com suporte do Amazon EBS. Quando você interrompe uma instância, o sistema tenta encerrá-la à força após um curto período. A interrupção da instância pode levar alguns minutos. É possível reiniciar a instância a qualquer momento. Não é possível interromper uma instância com armazenamento de instâncias. É preciso encerrá-la. Para mais informações sobre instâncias com armazenamento de instâncias, consulte https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs de instância String N/A Sim Uma lista separada por vírgulas de IDs de instância.
Força Booleano N/A Não Se selecionada, a ação realiza um desligamento forçado (hard), interrompendo imediatamente a instância sem permitir que ela limpe os caches ou metadados do sistema de arquivos. Esse processo exige procedimentos obrigatórios de verificação e reparo do sistema de arquivos antes que a instância possa retomar a operação. Não recomendado para instâncias do Windows.

Não ativado por padrão.

Corrida

Essa ação não é executada em entidades.

Criar instantâneo

Tire um snapshot da instância.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
ID da instância String N/A Sim Especifique o ID da instância.
Descrição String N/A Não Especifique a descrição do snapshot.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do 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"
    }
  ]
}

Encerrar instância

Encerra uma instância.

Não é possível reiniciar instâncias encerradas. Somente as instâncias com armazenamento de instâncias podem ser encerradas. Para mais informações sobre instâncias com armazenamento de instâncias, consulte Armazenamento para o dispositivo raiz.

Se você encerrar uma instância mais de uma vez, todas as chamadas serão bem-sucedidas. Se você especificar várias instâncias e a solicitação falhar (por exemplo, devido a um único ID de instância incorreto), nenhuma das instâncias será encerrada.

As instâncias encerradas permanecem visíveis após o encerramento (por aproximadamente uma hora). Por padrão, o Amazon EC2 exclui todos os volumes do EBS que foram anexados quando a instância foi iniciada. Os volumes anexados após o lançamento da instância continuam em execução. Para mais informações, consulte o guia do usuário da Amazon.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs de instância String N/A Sim Um ou mais IDs de instância. Separados por vírgula.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
"StoppingInstances": [
      {
      "CurrentState": "shutting-down",
        "InstanceId": "string",
        "PreviousState":"running"
      }
   ]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

  • Se o estado atual de todas/algumas instâncias for diferente de: shutting-down, terminated: ( Is_success = false): Não é possível encerrar as seguintes instâncias do estado atual: <failed_instance ids>
  • Se o estado atual for shutting-down: (is_success=true) → ação ainda em andamento: Continuando… as instâncias solicitadas ainda estão sendo encerradas.
  • Se o estado atual for encerrado:(is_success=true): as seguintes instâncias foram encerradas : <stopped_instance ids>
  • Se uma das instâncias não for válida (is_success =false): as seguintes instâncias não são válidas: <not valid ids>. Tente de novo.

A ação deve falhar e interromper a execução de um playbook:

Se houver um erro fatal, um erro do SDK, como credenciais incorretas, falta de conexão com o servidor, entre outros: "Erro ao executar a ação 'Encerrar instância'. Motivo: {0}''.format(error.Stacktrace)

Geral

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.