Integrar o AWS CloudWatch ao Google SecOps

Este documento descreve como integrar o AWS CloudWatch ao Google Security Operations (Google SecOps).

Versão da integração: 6.0

Casos de uso

Ações ativas: pesquisar em registros, criar grupos/fluxos de registros, excluir grupos/fluxos de registros e atualizar políticas de retenção.

Parâmetros de integração

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

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> 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 a ser usada 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.

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

Ações

Para mais informações sobre ações, consulte Responder a ações pendentes da sua mesa de trabalho e Realizar uma ação manual.

Ping

Teste a conectividade com o AWS CloudWatch.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
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 for bem-sucedida: "Conexão bem-sucedida com o servidor do AWS CloudWatch usando os parâmetros de conexão fornecidos!"

A ação precisa falhar e interromper a execução de um playbook:
se não for bem-sucedida: "Não foi possível se conectar ao servidor do AWS CloudWatch! O erro é {0}".format(exception.stacktrace)

Geral

Listar grupos de registros

Liste os grupos de registros disponíveis no AWS CloudWatch.

Parâmetros

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> Descrição>
Número máximo de grupos a serem retornados Número inteiro 50 Não Especifique quantos grupos retornar. Padrão: 50.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
Resultado do JSON
[
    {
        "arn": "arn:aws:logs:us-east-1:",
        "creationTime": 1611581795766,
        "logGroupName": "CloudTrail/DefaultLogGroup",
        "metricFilterCount": 0,
        "storedBytes": 24529015
    },
    {
        "arn": "arn:aws:logs:us-east-1:",
        "creationTime": 1606993203235,
        "logGroupName": "Example",
        "metricFilterCount": 1,
        "storedBytes": 730
    },
    {
        "arn": "arn:aws:logs:us-east-1:",
        "creationTime": 1611652265055,
        "logGroupName": "aws-cloudtrail-logs",
        "metricFilterCount": 0,
        "storedBytes": 51354815
    }
]
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 dados estiverem disponíveis (is_success = true): "Successfully returned available log groups in AWS CloudWatch".

se não houver dados disponíveis (is_success = true): "Nenhum grupo de registros foi encontrado no AWS CloudWatch".

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Listar grupos de registros". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela do painel de casos

Nome: "Grupos de registros"

Coluna:

Nome

Contagem de filtros de métricas

Bytes armazenados

Horário da criação

Geral

Listar streams de registros

Liste os fluxos de registros disponíveis no AWS CloudWatch.

Parâmetros

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> Descrição>
Grupos de registros CSV N/A Sim Especifique uma lista separada por vírgulas de nomes de grupos para os quais você quer recuperar fluxos de registros.
Order By: DDL

Nome do fluxo de registros

Valores possíveis:

Nome do stream de registro

Horário do último evento

Não Especifique como os fluxos de registros devem ser ordenados.
Ordem de classificação DDL

Crescente

Valores possíveis:

Crescente

Decrescente

Não Especifique a ordem de classificação a ser usada.
Número máximo de streams a serem retornados Número inteiro 50 Não Especifique quantas transmissões retornar por grupo de registros.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
Resultado do JSON
[{
    "group":"{group name}"
"logStreams": [
        {
            "arn": "arn:aws:logs:us-east-1:log-group:aws-cloudtrail-logs:log-stream:CloudTrail_us-east-1",
            "creationTime": 1611652272827,
            "firstEventTimestamp": 1611652287716,
            "lastEventTimestamp": 1612271538268,
            "lastIngestionTime": 1612271538289,
            "logStreamName": "CloudTrail_us-east-1",
            "storedBytes": 0,
            "uploadSequenceToken": "49039859450784908968417870788122674924958823185025535393"
        }
    ]
}
]
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 dados estiverem disponíveis para pelo menos um grupo de registros (is_success = true): "Retornou com êxito os fluxos de registros disponíveis para os seguintes grupos de registros no AWS CloudWatch: {group names}".

Se os dados não estiverem disponíveis para pelo menos um grupo de registros (is_success = true): "A ação não conseguiu retornar fluxos de registros disponíveis para os seguintes grupos de registros no AWS CloudWatch: {group names}".

Se os dados não estiverem disponíveis para pelo menos um grupo de registros (is_success = false): "Nenhum fluxo de registros foi encontrado para os grupos de registros fornecidos no AWS CloudWatch".

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "List Log Streams". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela do painel de casos

Nome: "{Group Name}: fluxos de registros"

Coluna:

Nome

Bytes armazenados

Horário da criação

Carimbo de data/hora do último evento

Geral

Evento de registro de pesquisa

Pesquise eventos de registro no AWS CloudWatch.

Parâmetros

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> Descrição>
Grupo de registros String N/A Sim Especifique o nome do grupo de registros em que você quer pesquisar eventos.
Streams de registros CSV N/A Não Especifique uma lista separada por vírgulas de fluxos de registros em que você quer pesquisar eventos.
Período DDL

Última hora

Valores possíveis:

Última hora

Últimas 6 horas

Últimas 24 horas

Última semana

Mês anterior

Personalizado

Não Especifique um período para a pesquisa. Se a opção "Personalizado" estiver selecionada, você também precisará definir um "Horário de início".
Horário de início String N/A Não Especifique o horário de início da pesquisa. Esse parâmetro é obrigatório se "Personalizado" for selecionado para o parâmetro "Período". Formato: ISO 8601
Horário de término String N/A Não Especifique o horário de término da pesquisa. Formato: ISO 8601. Se nada for fornecido e "Personalizado" for selecionado para o parâmetro "Período", esse parâmetro usará a hora atual.
Filtro personalizado String N/A Não Especifique o filtro personalizado para a pesquisa. Para mais informações, consulte o portal de documentação.
Número máximo de eventos a serem retornados Número inteiro 50 Não Especifique quantos eventos retornar. Padrão: 50.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
Resultado do JSON
[
        {
            "eventId": "ID",
            "ingestionTime": 1611652287896,
            "logStreamName": "CloudTrail_us-east-1",
            "message": {
                "eventVersion": "1.08",
                "userIdentity": {
                    "type": "AssumedRole",
                    "principalId": "ID",
                    "arn":"arn:aw
s:sts: : ACCOUNT_ID:assumed-role/AWSServiceRoleForAmazonMacie/AmazonMacieSession","accountId":"ACCOUNT_ID","accessKeyId":"KEY_ID","sessionC
ontext":{"sessionIssuer":{"type":"Role","principalId":"ID","arn":"arn:aws:iam: : ACCOUNT_ID:role/aws-service-role/macie.amazonaws.com/AW
SServiceRoleForAmazonMacie","accountId":"ACCOUNT_ID","userName":"AWSServiceRoleForAmazonMacie"},"webIdFederationData":{},"attributes":{"mfaAuthenticated": "false",
                    "creationDate": "2021-01-26T08:53:52Z"
                }
            },
            "invokedBy": "AWS Internal",
            "eventTime": "2021-01-26T08:53:52Z",
            "eventSource": "s3.amazonaws.com",
            "eventName": "GetBucketLogging",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "AWSInternal",
            "userAgent": "AWS Internal",
            "requestParameters": {
                "logging": "",
                "bucketName": "example",
                "Host": "example.s3.amazonaws.com"
            },
            "responseElements": null,
            "additionalEventData": {
                "SignatureVersion": "SigV4",
                "CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
                "bytesTransferredIn": 0,
                "AuthenticationMethod": "AuthHeader",
                "x-amz-id-2": "PFM+6pyK/gCPy95gh8dtstgtXftrpHkL8s=",
                "bytesTransferredOut": 289
            },
            "requestID": "8FA919A428BC82D7",
            "eventID": "7eb5dd44-7021-4945-b9be-27f5b1e0d8d0",
            "readOnly": true,
            "resources": [
                {
                    "accountId": "ACCOUNT_ID",
                    "type": "AWS::S3::Bucket",
                    "ARN": "arn:aws:s3:::example"
                }
            ],
            "eventType": "AwsApiCall",
            "managementEvent": true,
            "eventCategory": "Management",
            "recipientAccountId": "ACCOUNT_ID"
        },
        "timestamp": 1611652287716
    }
]
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 dados estiverem disponíveis para (is_success = true): "Successfully executed search in AWS CloudWatch".

Se os dados não estiverem disponíveis (is_success = false): "Nenhum dado foi encontrado para a pesquisa fornecida".

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Pesquisar eventos de registro". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela do painel de casos

Nome: "Resultados da pesquisa"

Coluna:todas as chaves disponíveis.

Geral

Definir política de retenção

Defina a política de retenção para grupos de registros no AWS CloudWatch.

Parâmetros

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> Descrição>
Grupo de registros String N/A Sim Especifique o nome do grupo de registros para o qual você quer definir a política de retenção.
Dias de retenção DDL

1

Valores possíveis

1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827 e 3653

Sim Especifique por quantos dias os dados serão retidos no grupo de registros.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
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:
if data success: (is_success = true): "Successfully set the retention policy for log group {group} in AWS CloudWatch".

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Definir política de retenção". Motivo: {0}''.format(error.Stacktrace)

Geral

Remover política de retenção

Remova a política de retenção do grupo de registros no AWS CloudWatch.

Parâmetros

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> Descrição>
Grupo de registros String N/A Sim Especifique o nome do grupo de registros de que você quer remover a política de retenção.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
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:
if data success: (is_success = true): "Successfully removed the retention policy from log group {group} in AWS CloudWatch".

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Remover política de retenção". Motivo: {0}''.format(error.Stacktrace)

Geral

Criar grupo de registros

Crie um grupo de registros no Amazon CloudWatch.

Parâmetros

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> Descrição>
Nome do grupo de registros String N/A Sim Especifique o nome do novo grupo de registros.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
"group_name": "GROUP_NAME"
}
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:
if data success: (is_success = true): "Successfully created a new log group {group} in AWS CloudWatch".

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Criar grupo de registros". Motivo: {0}''.format(error.Stacktrace)

Geral

Criar stream de registro

Crie um fluxo de registros para o grupo de registros no AWS CloudWatch.

Parâmetros

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> Descrição>
Grupo de registros String N/A Sim Especifique o nome do grupo de registros em que você quer criar um fluxo de registros.
Nome do stream de registro String N/A Sim Especifique o nome do novo fluxo de registros.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
Resultado do JSON
{
"log_stream": "STREAM_NAME"
}
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:
if data success: (is_success = true): "Successfully created a new log stream in log group {group} in AWS CloudWatch".

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Criar fluxo de registros". Motivo: {0}''.format(error.Stacktrace)

Geral

Excluir grupo de registros

Exclua um grupo de registros no AWS CloudWatch.

Parâmetros

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> Descrição>
Nome do grupo de registros String N/A Sim Especifique o nome do grupo de registros que precisa ser excluído.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
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 data success: (is_success = true): "Successfully deleted log group {group} in AWS CloudWatch".

Se o grupo não existir (is_success=false): "Não foi possível excluir o grupo de registros {group} no Amazon CloudWatch. Motivo: o grupo de registros {group} não foi encontrado no Amazon CloudWatch da AWS."

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Excluir grupo de registros". Motivo: {0}''.format(error.Stacktrace)

Geral

Excluir fluxo de registros

Exclua um fluxo de registros em um grupo de registros no AWS CloudWatch.

Parâmetros

Nome de exibição do parâmetro> Type> Valor padrão> Is Mandatory> Descrição>
Nome do grupo de registros String N/A Sim Especifique o nome do grupo de registros que contém o fluxo de registros.
Nome do stream de registro String N/A Sim Especifique o nome do stream de registros que precisa ser excluído.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valor>
is_success is_success=False
is_success is_success=True
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:
if data success: (is_success = true): "Successfully deleted log stream {stream} from log group {group} in AWS CloudWatch".

Se o fluxo não existir (is_success=false): "Não foi possível excluir o fluxo de registros {stream} do grupo de registros {group} no AWS CloudWatch. Motivo: o fluxo de registros {stream} não foi encontrado no grupo de registros {group} no AWS CloudWatch."

Se o grupo não existir (is_success=false): "Não foi possível excluir o fluxo de registros {stream} do grupo de registros {group} no AWS CloudWatch. Motivo: o grupo de registros {group} não foi encontrado no Amazon CloudWatch da AWS."

A ação precisa falhar e interromper a execução de um playbook:
se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Excluir fluxo de registros". Motivo: {0}''.format(error.Stacktrace)

Geral

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