Descrição
Liste todas as credenciais associadas à sua autorização no PAM Core, utilizando o modelo canônico v2. Retorna uma projeção paginada e filtrável da entidade CredentialV2.
Nota: Este endpoint faz parte da superfície da API v2 do A2A, introduzida na versão 4.2.2. O equivalente v1 está documentado em GET | Listar todas as credenciais.
Pré-requisitos
- Autorização com permissão de leitura para o PAM Core, concedida pelo administrador no A2A. Para mais informações, acesse Como gerenciar autorizações no A2A.
Requisição
GET /api/v2/pam/credentials
Parâmetros de query
Todos os parâmetros de query são opcionais. Quando nenhum parâmetro é informado, o endpoint retorna todas as credenciais acessíveis à autorização, utilizando os campos mínimos do contrato definidos no schema de resposta.
Filtros
| Campo | Tipo | Descrição |
|---|---|---|
credential.username |
string | Filtra pelo nome de usuário da credencial. Aceita qualquer string não vazia. |
credential.active |
boolean | Filtra pelo status de ativo. Valores aceitos: true, false. Os valores 0 e 1 não são aceitos. |
device_id |
integer | Filtra pelo ID do dispositivo. Intervalo aceito: 1 a 2147483647. |
device.name |
string | Filtra pelo nome do dispositivo. Aceita qualquer string não vazia. |
device.domain_name |
string | Filtra pelo nome de domínio. Omita este parâmetro para retornar credenciais independentemente de associação a domínio. |
credential.tags |
array[string] | Filtra por uma ou mais tags. Repita o parâmetro para lógica AND; use valores separados por vírgula para lógica OR. Veja a seção de exemplos a seguir. |
credential.criticality |
string | Filtra pelo nível de criticidade. Valores aceitos: low, medium, high, critical. Qualquer outro valor retorna 422. |
credential.user_credential_owner |
string | Filtra pelo nome ou ID do responsável. Omita para retornar credenciais independentemente do responsável. |
jit.credential_enabled |
boolean | Filtra pelo status da funcionalidade Just-in-Time (JIT). Valores aceitos: true, false. |
reconciliation.credential_enabled |
boolean | Filtra pelo status da funcionalidade de reconciliação. Valores aceitos: true, false. |
Nota: Filtrar por campos sensíveis ou inexistentes retorna
422. Valores booleanos inválidos também retornam422. Para as regras completas de validação de filtros, lógica AND/OR e exemplos, consulte API v2 - Convenções e comportamentos compartilhados.
Ordenação
sort_by aceita um ou mais campos no formato campo:asc ou campo:desc. Múltiplos campos são separados por vírgula e processados da esquerda para a direita. Direção padrão: asc. Campos ou direções inválidos retornam 422. Exemplo: sort_by=criticality:desc,credential.username.
Para as regras completas de ordenação, consulte API v2 - Convenções e comportamentos compartilhados.
Paginação
Suporta paginação por offset (page, limit) e paginação por cursor (cursor). As duas estratégias são mutuamente exclusivas — enviar ambas retorna 422. A paginação por cursor é recomendada para conjuntos de dados acima de 100.000 registros.
| Campo | Tipo | Descrição |
|---|---|---|
page |
integer | Número da página. Padrão: 1. |
limit |
integer | Resultados por página. Padrão: 50. |
cursor |
string | Token de cursor opaco. Não decodifique. Expira após 24 horas. |
Para as regras completas de paginação e descrição dos campos de resposta, consulte API v2 - Convenções e comportamentos compartilhados.
Exemplo de requisição
GET {{url}}/api/v2/pam/credentials
Resposta
HTTP/1.1 200 OK
Exemplo de corpo da resposta
{
"data": [
{
"id": "101",
"credential": {
"username": "svc-payments",
"active": true,
"tags": ["prod"],
"criticality": "high",
"user_credential_owner": {
"name": "John Doe"
}
},
"device": {
"id": 123,
"name": "db-prod-01",
"domain_name": "CORP"
},
"secret": {
"has_secret": true,
"type": "password"
},
"execution": {
"automatic_change_enabled": true
},
"reconciliation": {
"credential_enabled": true
},
"jit": {
"credential_enabled": false
}
},
{
"id": "102",
"credential": {
"username": "db-monitor",
"active": false,
"tags": [],
"criticality": null,
"user_credential_owner": null
},
"device": {
"id": 124,
"name": "db-dev-01",
"domain_name": null
},
"secret": {
"has_secret": false,
"type": "password"
},
"execution": {
"automatic_change_enabled": false
},
"reconciliation": {
"credential_enabled": false
},
"jit": {
"credential_enabled": false
}
}
],
"meta": {
"pagination": {
"page": 1,
"limit": 50,
"total_items": 1320,
"total_pages": 27,
"count": 50
},
"links": {
"self": "/api/v2/pam/credentials?page=1&limit=50",
"first": "/api/v2/pam/credentials?page=1&limit=50",
"prev": null,
"next": "/api/v2/pam/credentials?page=2&limit=50",
"last": "/api/v2/pam/credentials?page=27&limit=50"
}
}
}
Nota: Para conjuntos de dados grandes (mais de 100.000 registros),
total_itemspode sernullou uma estimativa. Usehas_morecomo sinal de continuação nesses cenários. Consulte API v2 — Convenções e comportamentos compartilhados.
Campos do corpo da resposta
| Campo | Tipo | Descrição |
|---|---|---|
data |
array de objetos | Lista de credenciais que correspondem aos filtros da requisição. |
data[].id |
string | Código de identificação único da credencial. Este valor é atribuído pela Segura® em POST | Criar credencial. |
data[].credential |
object | Atributos principais da credencial. |
data[].credential.username |
string | Nome de usuário atribuído à credencial. |
data[].credential.active |
boolean | Indica se a credencial está ativa. |
data[].credential.tags |
array[string] | Tags associadas à credencial. Retorna um array vazio quando nenhuma tag está configurada. |
data[].credential.criticality |
string | Nível de criticidade da credencial. Valores possíveis: low, medium, high, critical. Retorna null quando não configurado. |
data[].credential.user_credential_owner |
object | Responsável associado à credencial. Retorna null quando nenhum responsável está configurado. |
data[].credential.user_credential_owner.name |
string | Nome do responsável pela credencial. |
data[].device |
object | Dispositivo associado à credencial. |
data[].device.id |
integer | Código de identificação único do dispositivo. |
data[].device.name |
string | Nome do dispositivo. |
data[].device.domain_name |
string | Domínio associado ao dispositivo. Retorna null quando a credencial não está vinculada a um domínio. |
data[].secret |
object | Indicador de presença e tipo do segredo. |
data[].secret.has_secret |
boolean | Indica se a credencial possui um segredo associado. |
data[].secret.type |
string | Tipo do segredo. Exemplo: password. |
data[].execution |
object | Resumo da configuração de troca automática. |
data[].execution.automatic_change_enabled |
boolean | Indica se a rotação automática de credencial está habilitada. |
data[].reconciliation |
object | Resumo da configuração da funcionalidade de reconciliação. |
data[].reconciliation.credential_enabled |
boolean | Indica se a reconciliação está habilitada para esta credencial. |
data[].jit |
object | Resumo da configuração da funcionalidade Just-in-Time (JIT). |
data[].jit.credential_enabled |
boolean | Indica se o provisionamento Just-in-Time (JIT) está habilitado para esta credencial. |
meta |
object | Metadados de paginação e links de navegação. |
meta.pagination |
object | Detalhes de paginação do conjunto de resultados atual. |
meta.pagination.page |
integer | Número da página atual. |
meta.pagination.limit |
integer | Número máximo de resultados por página. |
meta.pagination.total_items |
integer | Total de credenciais que correspondem aos filtros. Pode ser null ou uma estimativa para conjuntos de dados grandes. |
meta.pagination.total_pages |
integer | Total de páginas. |
meta.pagination.count |
integer | Número de itens retornados na página atual. |
meta.links |
object | Links de navegação para percorrer os resultados. |
meta.links.self |
string | URL da página atual. |
meta.links.first |
string | URL da primeira página. |
meta.links.prev |
string | URL da página anterior. Retorna null na primeira página. |
meta.links.next |
string | URL da próxima página. Retorna null na última página. |
meta.links.last |
string | URL da última página. |
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. |
422 |
Unprocessable Content |
Campo de filtro inválido, campo sensível usado como filtro, valor booleano inválido ou page/limit combinado com cursor. |
Revise os parâmetros de query. |
500 |
Unexpected error. |
Erro interno do servidor. | Entre em contato com o suporte da Segura®. |
Para mensagens de erros de autenticação e a política de 403 vs 404, consulte API v2 - Convenções e comportamentos compartilhados.