Crie uma integração personalizada com o console - AWS CloudTrail

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie uma integração personalizada com o console

Você pode usar CloudTrail para registrar e armazenar dados de atividades do usuário de qualquer fonte em seus ambientes híbridos, como aplicativos internos ou SaaS hospedados localmente ou na nuvem, máquinas virtuais ou contêineres. Execute a primeira metade desse procedimento no console do CloudTrail Lake e, em seguida, chame o PutAuditEventsAPIpara ingerir eventos, fornecendo seu canal ARN e a carga útil do evento. Depois de usar o PutAuditEvents API para ingerir a atividade do seu aplicativo CloudTrail, você pode usar o CloudTrail Lake para pesquisar, consultar e analisar os dados que são registrados nos seus aplicativos.

  1. Faça login no AWS Management Console e abra o CloudTrail console em https://console.aws.amazon.com/cloudtrail/.

  2. No painel de navegação, em Lake, escolha Integrações.

  3. Na página Add integration (Adicionar integração), insira um nome para seu canal. O nome pode ter de 3 a 128 caracteres. São permitidas apenas letras, números, pontos, traços e sublinhados.

  4. Escolha My custom integration (Minha integração personalizada).

  5. Em Event delivery location (Local de entrega do evento), escolha registrar em log os mesmos eventos de atividade nos armazenamentos de dados de eventos existentes ou criar um novo armazenamento de dados de eventos.

    Se você optar por criar um novo armazenamento de dados de eventos, insira um nome para o armazenamento de dados de eventos e especifique o período de retenção em dias. Você pode manter os dados do evento em um armazenamento de dados de eventos por até 3.653 dias (cerca de 10 anos) se escolher a opção de preço de retenção extensível de um ano ou até 2.557 dias (cerca de 7 anos) se escolher a opção de preço de retenção por sete anos.

    Se você optar por registrar em log eventos de atividade em um ou mais armazenamentos de dados de eventos existentes, escolha os armazenamentos de dados de eventos na lista. Os armazenamentos de dados de eventos só podem incluir eventos de atividades. O tipo de evento no console deve ser Events from integrations (Eventos de integrações). NoAPI, o eventCategory valor deve serActivityAuditLog.

  6. Em Resource policy (Política de recursos), configure a política de recursos para o canal de integração. As políticas de recursos são documentos de JSON política que especificam quais ações um determinado diretor pode realizar no recurso e sob quais condições. As contas definidas como diretoras na política de recursos podem ligar PutAuditEvents API para a para entregar eventos em seu canal.

    nota

    Se você não criar uma política de recursos para o canal, somente o proprietário do canal poderá ligar para o PutAuditEvents API canal.

    1. (Opcional) Insira um ID externo exclusivo para fornecer uma camada extra de proteção. O ID externo é uma string exclusiva, como um ID de conta ou uma string gerada aleatoriamente, para evitar o “confused deputy”.

      nota

      Se a política de recursos incluir uma ID externa, todas as chamadas para a PutAuditEvents API deverão incluir a ID externa. No entanto, se a política não definir uma ID externa, você ainda poderá chamar PutAuditEvents API e especificar um externalId parâmetro.

    2. Escolha Adicionar AWS conta para especificar cada ID de AWS conta a ser adicionada como principal na política de recursos do canal.

  7. (Opcional) Na área Tags, é possível adicionar até 50 pares de chave e valor de tag para ajudar a identificar, classificar e controlar o acesso ao armazenamento de dados de eventos. Para obter mais informações sobre como usar IAM políticas para autorizar o acesso a um armazenamento de dados de eventos com base em tags, consulteExemplos: negação de acesso para criar ou excluir armazenamentos de dados de eventos com base em tags. Para obter mais informações sobre como você pode usar tags em AWS, consulte Como marcar seus AWS recursos no Referência geral da AWS.

  8. Quando estiver pronto para criar a nova integração, escolha Add integration (Adicionar integração). Não há página de avaliação. CloudTrail cria a integração, mas para integrar seus eventos personalizados, você deve especificar o canal ARN em uma PutAuditEventssolicitação.

  9. Ligue PutAuditEvents API para o para incluir seus eventos de atividade em CloudTrail. É possível adicionar até 100 eventos de atividade (ou até 1 MB) por solicitação PutAuditEvents. Você precisará do canal ARN que criou nas etapas anteriores, da carga de eventos que CloudTrail deseja adicionar e da ID externa (se especificada para sua política de recursos). Certifique-se de que não haja informações confidenciais ou de identificação pessoal na carga útil do evento antes de inseri-las. CloudTrail Os eventos nos quais você ingere CloudTrail devem seguir o. CloudTrail Esquema de eventos de integrações do Lake

    dica

    Use AWS CloudShellpara ter certeza de que você está executando a versão mais atual AWS APIs.

    Os exemplos a seguir mostram como usar o put-audit-events CLI comando. Os parâmetros --audit-events e --channel-arn são obrigatórios. Você precisa ARN do canal que criou nas etapas anteriores, que pode ser copiado da página de detalhes da integração. O valor de --audit-events é uma JSON matriz de objetos de eventos. --audit-eventsinclui uma ID exigida do evento, a carga útil necessária do evento como valor de e uma soma de EventData verificação opcional para ajudar a validar a integridade do evento após a ingestão. CloudTrail

    aws cloudtrail-data put-audit-events \ --region region \ --channel-arn $ChannelArn \ --audit-events \ id="event_ID",eventData='"{event_payload}"' \ id="event_ID",eventData='"{event_payload}"',eventDataChecksum="optional_checksum"

    A seguir há um exemplo de comando com dois exemplos de eventos.

    aws cloudtrail-data put-audit-events \ --region us-east-1 \ --channel-arn arn:aws:cloudtrail:us-east-1:01234567890:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \ --audit-events \ id="EXAMPLE3-0f1f-4a85-9664-d50a3EXAMPLE",eventData='"{\"eventVersion\":\0.01\",\"eventSource\":\"custom1.domain.com\", ... \}"' \ id="EXAMPLE7-a999-486d-b241-b33a1EXAMPLE",eventData='"{\"eventVersion\":\0.02\",\"eventSource\":\"custom2.domain.com\", ... \}"',eventDataChecksum="EXAMPLE6e7dd61f3ead...93a691d8EXAMPLE"

    O comando de exemplo a seguir adiciona o --cli-input-json parâmetro para especificar um JSON arquivo (custom-events.json) da carga útil do evento.

    aws cloudtrail-data put-audit-events \ --channel-arn $channelArn \ --cli-input-json file://custom-events.json \ --region us-east-1

    A seguir estão os conteúdos de amostra do JSON arquivo de exemplo,custom-events.json.

    { "auditEvents": [ { "eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\", \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\", \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\", \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\", \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"}, \"additionalEventData\":{\"key\":\"value\"}, \"sourceIPAddress\":\"source_IP_address\",\"recipientAccountId\":\"recipient_account_ID\"}", "id": "1" } ] }

(Opcional) Calcular um valor de soma de verificação

A soma de verificação que você especifica como o valor de EventDataChecksum em uma PutAuditEvents solicitação ajuda a verificar se CloudTrail recebe o evento que corresponde à soma de verificação; ajuda a verificar a integridade dos eventos. O valor da soma de verificação é um SHA256 algoritmo base64- que você calcula executando o comando a seguir.

printf %s "{"eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\", \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\", \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\", \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\", \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"}, \"additionalEventData\":{\"key\":\"value\"}, \"sourceIPAddress\":\"source_IP_address\", \"recipientAccountId\":\"recipient_account_ID\"}", "id": "1"}" \ | openssl dgst -binary -sha256 | base64

O comando retorna a soma de verificação . Veja um exemplo a seguir.

EXAMPLEHjkI8iehvCUCWTIAbNYkOgO/t0YNw+7rrQE=

O valor da soma de verificação se torna o valor de EventDataChecksum em sua solicitação PutAuditEvents. Se a soma de verificação não corresponder à do evento fornecido, CloudTrail rejeitará o evento com um InvalidChecksum erro.