Descrição
Recupere todos os eventos registrados de uma credencial no PAM Core, utilizando o modelo canônico v2. A resposta agrega sessões, rotações, liberações de custódia e alterações de configuração em uma única lista cronológica.
O endpoint responde a uma única pergunta: o que aconteceu com esta credencial. Sem ele, o auditor cruza manualmente os recursos de sessões, rotações e custódia.
Este endpoint faz parte da superfície da API v2 do A2A, introduzida na versão 4.2.13. Não existe equivalente v1. A API v1 nunca expôs uma trilha de auditoria por credencial como recurso de primeira classe.
Os acessos realizados pela API v1 legada não aparecem nesta trilha. A API v1 os registra em um repositório separado que a API v2 não alcança nesta versão.
Pré-requisitos
Este endpoint utiliza a mesma autorização do A2A usada por GET /api/v2/pam/credentials. Nessa autorização, o administrador precisa habilitar:
- PAM Core como recurso autorizado, com permissão de leitura.
- Credentials and devices.
- PAM sessions (V2).
Para mais informações, acesse Como gerenciar autorizações no A2A.
Requisição
GET /api/v2/pam/credentials/{id}/audit-trail
Parâmetros de path
| Campo | Tipo | Descrição |
|---|---|---|
id |
string | Código de identificação único da credencial cuja trilha você quer consultar. |
Parâmetros de query
Todos os parâmetros de query são opcionais.
Intervalo de datas
| Campo | Tipo | Descrição |
|---|---|---|
occurred_at_gte |
string | Retorna os eventos que ocorreram neste instante ou depois dele. |
occurred_at_lte |
string | Retorna os eventos que ocorreram neste instante ou antes dele. |
Ordenação
sort_by aceita um campo no formato field:asc ou field:desc. A direção padrão é asc. Exemplo: sort_by=occurred_at:desc.
Para as regras completas de ordenação, consulte API v2 - Convenções e comportamentos compartilhados.
Paginação
limit define o número máximo de eventos retornados.
| Campo | Tipo | Descrição |
|---|---|---|
limit |
integer | Número máximo de eventos retornados. |
Este endpoint segue o modelo de paginação compartilhado pela superfície da API v2. Para as regras completas, consulte API v2 - Convenções e comportamentos compartilhados.
Exemplo de requisição
GET {{url}}/api/v2/pam/credentials/102/audit-trail?limit=4&sort_by=occurred_at:desc
Resposta
HTTP/1.1 200 OK
Exemplo de corpo da resposta
{
"data": [
{
"id": "coss_sessao:385",
"occurred_at": "2026-08-25T15:19:57-03:00",
"event_type": "session_start",
"actor": {
"id": 134,
"username": "_a2a_alice",
"name": "alice"
},
"outcome": "permitted",
"details": {},
"links": {
"session": "/api/v2/pam/sessions/399"
}
},
{
"id": "coat_trail:2638",
"occurred_at": "2026-08-25T15:18:11-03:00",
"event_type": "rotation",
"actor": {
"id": 134,
"username": "_a2a_alice",
"name": "alice"
},
"outcome": "succeeded",
"details": {
"attempts": 1
},
"links": {
"job": "/api/v2/pam/jobs/45"
}
},
{
"id": "coac_log:642",
"occurred_at": "2026-08-25T15:17:03-03:00",
"event_type": "configuration_change",
"actor": {
"id": 134,
"username": "_a2a_alice",
"name": "alice"
},
"outcome": "succeeded",
"details": {
"action": "Credential rotation requested",
"origin": "PAM API",
"changed": true
}
},
{
"id": "coac_log:640",
"occurred_at": "2026-08-25T14:02:44-03:00",
"event_type": "password_view",
"actor": {
"id": 134,
"username": "_a2a_alice",
"name": "alice"
},
"outcome": "denied",
"details": {}
}
],
"meta": {}
}
Campos do corpo da resposta
| Campo | Tipo | Descrição |
|---|---|---|
data |
array de objetos | Eventos registrados da credencial que correspondem aos filtros da requisição. |
data[].id |
string | Código de identificação único do evento. |
data[].occurred_at |
string | Instante em que o evento ocorreu. |
data[].event_type |
string | Tipo do evento. Consulte a seção a seguir para a lista completa. |
data[].actor |
objeto | Usuário ou aplicação que produziu o evento. |
data[].actor.id |
integer | Código de identificação único do actor. |
data[].actor.username |
string | Nome de usuário do actor. |
data[].actor.name |
string | Nome de exibição do actor. |
data[].outcome |
string | Resultado do evento. Os valores possíveis dependem do tipo de evento. Consulte a seção a seguir. |
data[].source_ip |
string | Endereço IP que originou o evento. |
data[].details |
objeto | Atributos adicionais do evento. Os campos mudam conforme o event_type. |
data[].links |
objeto | Links para o recurso de origem completo do evento. Retornado apenas para os tipos de evento que têm origem navegável. |
data[].links.session |
string | Path da sessão que originou o evento. Retornado para session_start. |
data[].links.job |
string | Path do job de rotação que originou o evento. Retornado para rotation. |
meta |
objeto | Metadados da resposta. |
Tipos de evento
A trilha agrega os seguintes tipos de evento.
event_type |
Significado | Valores de outcome |
links |
|---|---|---|---|
session_start |
Uma sessão foi aberta na credencial. | permitted, denied |
links.session |
rotation |
A senha da credencial foi rotacionada. | succeeded, failed |
links.job |
configuration_change |
Uma configuração da credencial foi alterada. | succeeded, failed |
nenhum |
custody_release |
A custódia da credencial foi liberada. | succeeded, failed |
nenhum |
password_view |
A senha da credencial foi visualizada. | permitted, denied |
nenhum |
credential_created |
A credencial foi criada. | succeeded, failed |
nenhum |
credential_updated |
A credencial foi editada. | succeeded, failed |
nenhum |
Nota: As alterações de configuração não produzem um tipo de evento por ação. Criar, editar, ativar e desativar uma credencial chegam todos como
configuration_change, e a ação realizada é descrita emdetails.action.
Details por tipo de evento
O objeto details muda de forma conforme o event_type.
rotation
| Campo | Tipo | Descrição |
|---|---|---|
attempts |
integer | Número de tentativas de rotação feitas pelo job. |
configuration_change
| Campo | Tipo | Descrição |
|---|---|---|
action |
string | Descrição da alteração realizada. Exemplo: Credential rotation requested. |
origin |
string | Origem da alteração. Exemplo: PAM API. |
changed |
boolean | Indica se a alteração modificou a credencial. |
Erros
| Código HTTP | Mensagem | Causa possível | Solução |
|---|---|---|---|
401 |
Unauthorized |
Token de autenticação ausente ou inválido. | Verifique o token de acesso e solicite um novo caso esteja expirado. |
403 |
Forbidden |
A autorização não possui permissão de leitura para recursos do PAM Core. | Solicite ao administrador que verifique as permissões de autorização no A2A. |
500 |
Unexpected error. |
Erro interno do servidor. | Entre em contato com o suporte da Segura™. |
Para o formato de erro, as mensagens de erros de autenticação e a política de 403 vs 404, consulte API v2 - Convenções e comportamentos compartilhados.