Integre o AWS CloudWatch com o Google SecOps

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

Versão da integração: 6.0

Exemplos de utilização

Ações ativas: pesquisar nos registos, criar grupos/streams de registos, eliminar grupos/streams de registos e atualizar políticas de retenção.

Parâmetros de integração

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

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
ID da chave de acesso da AWS String N/A Sim ID da chave de acesso da AWS a usar na integração.
Chave secreta da AWS Palavra-passe N/A Sim Chave secreta da AWS a usar na integração.
Região predefinida da AWS String N/A Sim Região predefinida da AWS a usar na integração, por exemplo, us-west-2.

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

Se necessário, pode fazer alterações numa fase posterior. Depois de configurar uma instância de integração, pode usá-la em manuais de soluções. Para mais informações sobre como configurar e suportar várias instâncias, consulte o artigo Suporte de várias instâncias.

Ações

Para mais informações sobre ações, consulte os artigos Responda a ações pendentes da sua mesa de trabalho e Execute uma ação manual.

Tchim-tchim

Teste a conetividade ao AWS CloudWatch.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um playbook:
se for bem-sucedida: "Ligação estabelecida com êxito ao servidor do AWS CloudWatch com os parâmetros de ligação fornecidos!"

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

Geral

Apresentar grupos de registos

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

Parâmetros

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
Número máximo de grupos a devolver Número inteiro 50 Não Especifique quantos grupos devolver. Predefinição: 50.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Resultado 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
    }
]
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar 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 estiverem disponíveis dados (is_success = true): "No log groups were found in AWS CloudWatch" (Não foram encontrados grupos de registos no AWS CloudWatch).

A ação deve falhar e parar a execução de uma estratégia:
se ocorrer um erro crítico, como credenciais incorretas, sem ligação ao servidor, entre outros: "Erro ao executar a ação "List Log Groups". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela de parede da caixa

Nome: "Grupos de registos"

Coluna:

Nome

Número de filtros de métricas

Bytes armazenados

Hora da criação

Geral

Listar streams de registos

Liste os streams de registos disponíveis no AWS CloudWatch.

Parâmetros

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
Grupos de registos CSV N/A Sim Especifique uma lista de nomes de grupos separados por vírgulas para os quais quer obter streams de registos.
Ordenar por LDD

Nome da stream de registo

Valores possíveis:

Nome da stream de registo

Hora do último evento

Não Especifique a ordem dos streams de registo.
Disposição da Ordenação LDD

Ascendente

Valores possíveis:

Ascendente

Descendente

Não Especifique a ordem de ordenação a usar.
Número máximo de streams a devolver Número inteiro 50 Não Especifique quantos streams devolver por grupo de registos.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Resultado 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"
        }
    ]
}
]
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um playbook:
se os dados estiverem disponíveis para, pelo menos, um grupo de registos (is_success = true): "Successfully returned available log streams for the following log groups in AWS CloudWatch: {group names}".

if data is not available for at least one log group (is_success = true): "Action wasn't able to return available log streams for the following log groups in AWS CloudWatch: {group names}".

Se os dados não estiverem disponíveis para, pelo menos, um grupo de registos (is_success = false): "Não foram encontradas streams de registos para os grupos de registos fornecidos no AWS CloudWatch".

A ação deve falhar e parar a execução de um manual de soluções:
se ocorrer um erro crítico, como credenciais incorretas, nenhuma ligação ao servidor ou outro: "Erro ao executar a ação "List Log Streams". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela de parede da caixa

Nome: "{Group Name}: Log Streams"

Coluna:

Nome

Bytes armazenados

Hora da criação

Data/hora do último evento

Geral

Evento de registo de pesquisa

Pesquise eventos de registo no AWS CloudWatch.

Parâmetros

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
Grupo de registos String N/A Sim Especifique o nome do grupo de registos onde quer pesquisar eventos.
Streams de registos CSV N/A Não Especifique uma lista separada por vírgulas de streams de registos onde quer pesquisar eventos.
Intervalo de tempo LDD

Última hora

Valores possíveis:

Última hora

Últimas 6 horas

Últimas 24 horas

Semana passada

Mês passado

Personalizado

Não Especifique um período para a pesquisa. Se a opção "Personalizado" estiver selecionada, também tem de definir uma "Hora de início".
Hora de início String N/A Não Especifique a hora de início da pesquisa. Este parâmetro é obrigatório se "Personalizado" estiver selecionado para o parâmetro "Intervalo de tempo". Formato: ISO 8601
Hora de fim String N/A Não Especifique a hora de fim da pesquisa. Formato: ISO 8601. Se não for indicado nada e "Personalizado" for selecionado para o parâmetro "Intervalo de tempo", este parâmetro usa 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.
Máximo de eventos a devolver Número inteiro 50 Não Especifique quantos eventos devem ser devolvidos. Predefinição: 50.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Resultado 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
    }
]
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um manual de procedimentos:
se os dados estiverem disponíveis para (is_success = true): "Successfully executed search in AWS CloudWatch" (A pesquisa no AWS CloudWatch foi executada com êxito).

Se os dados não estiverem disponíveis (is_success = false): "No data was found for the provided search." (Não foram encontrados dados para a pesquisa fornecida).

A ação deve falhar e parar a execução de um playbook:
se ocorrer um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor, entre outros: "Erro ao executar a ação "Procurar eventos de registo". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela de parede da caixa

Nome: "Resultados da pesquisa"

Coluna: todas as chaves disponíveis.

Geral

Defina a Política de Retenção

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

Parâmetros

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
Grupo de registos String N/A Sim Especifique o nome do grupo de registos para o qual quer definir a política de retenção.
Dias de retenção LDD

1

Valores possíveis

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

Sim Especifique durante quantos dias os dados devem ser retidos no grupo de registos.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um manual de procedimentos:
se os dados forem bem-sucedidos (is_success = true): "Successfully set the retention policy for log group {group} in AWS CloudWatch" (A política de retenção do grupo de registos {group} foi definida com êxito no AWS CloudWatch).

A ação deve falhar e parar a execução de um playbook:
se ocorrer um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor ou outro: "Erro ao executar a ação "Definir política de retenção". Motivo: {0}''.format(error.Stacktrace)

Geral

Remova a Política de Retenção

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

Parâmetros

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
Grupo de registos String N/A Sim Especifique o nome do grupo de registos do qual quer remover a política de retenção.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um playbook:
se os dados forem bem-sucedidos (is_success = true): "Successfully removed the retention policy from log group {group} in AWS CloudWatch" (A política de retenção foi removida com êxito do grupo de registos {group} no AWS CloudWatch).

A ação deve falhar e parar a execução de um manual de soluções:
se ocorrer um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor ou outro: "Erro ao executar a ação "Remover política de retenção". Motivo: {0}''.format(error.Stacktrace)

Geral

Criar grupo de registos

Crie um grupo de registos no AWS CloudWatch.

Parâmetros

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
Nome do grupo de registos String N/A Sim Especifique o nome do novo grupo de registos.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Resultado JSON
{
"group_name": "GROUP_NAME"
}
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um playbook:
se os dados forem bem-sucedidos (is_success = true): "Successfully created a new log group {group} in AWS CloudWatch".

A ação deve falhar e parar a execução de um playbook:
se ocorrer um erro fatal, como credenciais incorretas, sem ligação ao servidor, entre outros: "Erro ao executar a ação "Criar grupo de registos". Motivo: {0}''.format(error.Stacktrace)

Geral

Crie uma stream de registo

Crie um fluxo de registo para o grupo de registos no AWS CloudWatch.

Parâmetros

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
Grupo de registos String N/A Sim Especifique o nome do grupo de registos onde quer criar uma stream de registos.
Nome da stream de registo String N/A Sim Especifique o nome da nova stream de registo.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Resultado JSON
{
"log_stream": "STREAM_NAME"
}
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um manual de procedimentos:
se os dados forem bem-sucedidos (is_success = true): "Criou com êxito um novo fluxo de registo no grupo de registo {group} no AWS CloudWatch".

A ação deve falhar e parar a execução de um manual de procedimentos:
se ocorrer um erro fatal, como credenciais incorretas, sem ligação ao servidor, entre outros: "Erro ao executar a ação "Criar stream de registo". Motivo: {0}''.format(error.Stacktrace)

Geral

Elimine o grupo de registos

Elimine um grupo de registos no AWS CloudWatch.

Parâmetros

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
Nome do grupo de registos String N/A Sim Especifique o nome do grupo de registos que tem de ser eliminado.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um manual de procedimentos:
se os dados forem bem-sucedidos (is_success = true): "O grupo de registos {group} foi eliminado com êxito no AWS CloudWatch".

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

A ação deve falhar e parar a execução de um manual de soluções:
se ocorrer um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor ou outro: "Erro ao executar a ação "Eliminar grupo de registos". Motivo: {0}''.format(error.Stacktrace)

Geral

Elimine a stream de registos

Elimine um fluxo de registo num grupo de registos no AWS CloudWatch.

Parâmetros

Nome a apresentar do parâmetro> Type> Valor predefinido> É obrigatório> Descrição>
Nome do grupo de registos String N/A Sim Especifique o nome do grupo de registos que contém o fluxo de registos.
Nome da stream de registo String N/A Sim Especifique o nome da stream de registo que tem de ser eliminada.

Executar em

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

Resultados da ação

Resultado do script
Nome do resultado do script> Opções de valores>
is_success is_success=False
is_success is_success=True
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um playbook:
se os dados forem bem-sucedidos (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 eliminar o fluxo de registo {stream} do grupo de registo {group} no AWS CloudWatch. Motivo: o fluxo de registo {stream} não foi encontrado no grupo de registos {group} no AWS CloudWatch."

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

A ação deve falhar e parar a execução de um manual de soluções:
se ocorrer um erro fatal, como credenciais incorretas, nenhuma ligação ao servidor ou outro: "Erro ao executar a ação "Eliminar stream de registo". Motivo: {0}''.format(error.Stacktrace)

Geral

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