GET | Listar todas as credenciais

Prev Next

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


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 retornam 422. 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_items pode ser null ou uma estimativa. Use has_more como 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.


Documentos relacionados