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 a PutAuditEventsAPI para ingerir eventos, fornecendo o ARN do canal e a carga útil do evento. Depois de usar a 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). Na API, o valor de eventCategory deve ser ActivityAuditLog.

  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 políticas em JSON que especificam quais ações uma entidade principal pode executar no recurso e sob quais condições. As contas definidas como entidades principais na política de recursos podem chamar a API PutAuditEvents para entregar eventos ao seu canal.

    nota

    Se não for criada uma política de recursos para o canal, somente o proprietário do canal poderá chamar a API PutAuditEvents no 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 um ID externo, todas as chamadas para a API PutAuditEvents deverão incluir o ID externo. No entanto, se a política não definir um ID externo, você ainda poderá chamar a API PutAuditEvents e especificar um parâmetro externalId.

    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 políticas do IAM para autorizar o acesso a um armazenamento de dados de eventos com base em tags, consulte Exemplos: 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 ARN do canal em uma PutAuditEventssolicitação.

  9. Chame a PutAuditEvents API 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 ARN do canal que criou nas etapas anteriores, da carga de eventos que deseja CloudTrail adicionar e do ID externo (se especificado 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 as AWS APIs mais atuais.

    Os exemplos a seguir mostram como usar o comando put-audit-events da CLI. Os parâmetros --audit-events e --channel-arn são obrigatórios. Você precisa do ARN do canal criado nas etapas anteriores, que pode ser copiado da página de detalhes da integração. O valor de --audit-events é uma matriz JSON 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 parâmetro --cli-input-json para especificar um arquivo JSON (custom-events.json) de 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 há a amostra de conteúdo do arquivo JSON do 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 é obtido por um algoritmo base64-SHA256 calculado com a execução do 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.