---
title: Enviar eventos de Security posture para o seu SIEM
url: https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/send-events
description: Solicite as atividades de Security posture do Activity Feed da Compliance API, leia uma delas campo por campo e mantenha seu SIEM atualizado com uma leitura agendada que captura atividades atrasadas.
---

<Note>
  Para habilitar a Compliance API, consulte [Configurar a Compliance API](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access).
</Note>

Esta página leva você de uma Compliance Access Key até atividades de Security posture chegando como eventos ao seu sistema de gerenciamento de informações e eventos de segurança (SIEM) de forma agendada. A visão geral informa [quais organizações têm essas atividades](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/overview#availability). Você precisa de uma Compliance Access Key que cubra a organização, com o escopo `read:compliance_activities` ou `read:org_audit`.

## Solicitar as atividades

Para ler apenas essas atividades, filtre o feed com `activity_types[]`. Nesta requisição, `created_at.gte` define o `created_at` mais antigo a ser lido, e `order=asc` retorna primeiro as atividades mais antigas:

```bash cURL
curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/activities" \
  -H "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  -H "anthropic-version: 2026-10-21" \
  --data-urlencode "activity_types[]=org_security_control_attestation_updated" \
  --data-urlencode "created_at.gte=2026-10-20T00:00:00Z" \
  --data-urlencode "order=asc" \
  --data-urlencode "limit=5000"
```

A [referência da API](https://platform.claude.com/docs/pt-BR/api/compliance/activities/list) descreve cada parâmetro.

## Ler uma atividade

Cada elemento do array `data` da resposta é uma atividade como esta.

```json
{
  "id": "activity_01Hq7ZtYc4Vb2NmKx8RsPd3W",
  "type": "org_security_control_attestation_updated",
  "created_at": "2026-10-20T15:04:00.220114Z",
  "organization_id": "org_01JuY4bkwkH1x4PodBJaWmh2",
  "organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
  "actor": {
    "type": "user_actor",
    "email_address": "jane.doe@example.com",
    "user_id": "user_01WxYzAbCdEfGhJkMnPqRsTu",
    "ip_address": "192.0.2.34",
    "user_agent": "Mozilla/5.0..."
  },
  "control": "directory_sync_enabled",
  "action": "attested",
  "status": "accepted_risk"
}
```

* `control` nomeia o [controle de segurança](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/overview#controls), uma configuração ou prática recomendada.
* `action` informa o que aconteceu com a [atestação do controle](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/overview#attestations), a declaração registrada de uma pessoa sobre o controle. Aqui, `attested` significa que uma atestação foi registrada para um controle que não tinha nenhuma.
* `status` é o valor da atestação. Aqui ele é Risco aceito (`accepted_risk`): o controle não está implementado, e a organização aceita o risco.
* `actor` aqui identifica a [pessoa que fez a atestação](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/overview#who-can-see-who-attested), pelo ID de usuário e pelo endereço de e-mail.
* `created_at` aqui é quando ela fez a atestação.

A [Referência de eventos de Security posture](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/events-reference) lista mais campos e valores.

## Se a resposta estiver vazia

Um array `data` vazio é válido. O feed contém apenas alterações feitas desde que ele [começou a registrar essas atividades para a organização](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/events-reference#what-the-feed-does-not-record). Ele fica vazio até que uma atestação seja feita ou alterada.

Verifique se a organização [tem essas atividades](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/overview#availability). Depois, peça a alguém que faça a atestação de um controle. Após algum tempo, repita a requisição.

## Executar de forma agendada

Qualquer uma dessas atividades pode se tornar consultável mais tarde do que o [atraso de indexação](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-integration-patterns#window-polling) habitual de 1 minuto do Activity Feed, com um `created_at` que já está no passado. Assim, uma integração que só avança, a partir de um cursor ou de um `created_at.gte` que avança, nunca vê essa atividade. Releia uma janela retroativa fixa de 4 horas a cada execução e descarte as atividades que você já armazenou:

```text
query = activity_types[]=org_security_control_attestation_updated
      & created_at.gte={now - 4 hours}
      & order=asc
      & limit=5000
cursor = null
loop:
  if cursor is null:
    page = GET /v1/compliance/activities?{query}
  else:
    page = GET /v1/compliance/activities?{query}&after_id={cursor}
  for activity in page.data:
    if activity.id is not in stored_ids:
      store(activity)
      add activity.id to stored_ids
  if not page.has_more: break
  cursor = page.last_id
```

* **Execute com frequência:** Execute o loop com a frequência de que seus alertas precisam, por exemplo a cada 5 minutos.
* **Mantenha a mesma consulta durante toda a execução:** Calcule `created_at.gte`, em UTC e codificado para URL, no início de cada execução. Envie os mesmos filtros e o mesmo `order` em todas as páginas. Com `order=asc`, passar `last_id` como `after_id` retorna a próxima página de atividades mais recentes. [Paginar resultados](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-activity-feed#paginate-results) explica `after_id` e `last_id`.
* **Desduplique por `id`:** Esta etapa é obrigatória, porque execuções consecutivas se sobrepõem.
* **Tratar execuções com falha:** Se uma requisição falhar após as novas tentativas descritas em [Tratar erros da Compliance API](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors), encerre a execução. A próxima execução lê toda a janela dela novamente. Se as execuções falharem ou pararem por mais de 4 horas, a próxima [releitura diária](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/send-events#re-read-15-days-once-a-day) lê as atividades que elas perderam.

## Reler 15 dias uma vez por dia

Uma vez por dia, execute o mesmo loop com uma janela retroativa de 15 dias em vez de 4 horas. Esta releitura diária também lê uma atividade que se torna consultável até 14 dias após o seu `created_at`.

* Registre o horário de início de cada releitura diária que for concluída.
* Exclua um `id` armazenado somente se você o armazenou mais de 16 dias antes do último início registrado.
* Se nenhum início tiver sido registrado, defina `created_at.gte` tão para trás quanto você precisar; o feed mantém as atividades por 6 anos.
* Se tiver passado mais de um dia desde o último início registrado, execute a próxima releitura diária com `created_at.gte` definido como 15 dias antes desse início.

## Se você já ingere o feed completo

Uma integração que lê todo o Activity Feed, sem um filtro `activity_types[]` que deixe essas atividades de fora, já as recebe. Verifique duas coisas:

* **Valores não reconhecidos:** Seu handler repassa qualquer `type` ou [valor de campo](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/events-reference) que ele não reconhece. Consulte [Entender o objeto Activity](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-activity-feed#understand-the-activity-object).
* **Atividades atrasadas:** Uma integração que só solicita atividades mais recentes perde uma atividade que se torna consultável com atraso. Adicione à integração a [releitura de 4 horas](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/send-events#run-it-on-a-schedule) e a [releitura diária de 15 dias](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/send-events#re-read-15-days-once-a-day).

## Verificar se funciona

Depois que alguém atesta um controle, execute o loop até que ele armazene a nova atividade. Em seguida, execute-o novamente: ele não armazena essa atividade uma segunda vez.

## Próximos passos

Para gerar alertas com base no horário em que você armazenou uma atividade, e não no seu `created_at`, consulte [Detectar alterações de Security posture](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/detect-changes#before-you-write-a-rule). Para o Open Cybersecurity Schema Framework (OCSF), consulte [Mapear eventos de Security posture para OCSF](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/ocsf-mapping). Para os resultados atuais, consulte [Referência de resultados de Security posture](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-security-posture/results-reference).
