GET | Listar uma sessão remota por [id]

Prev Next

Descrição

Acesse o registro canônico completo de uma sessão remota no PAM Core, utilizando o modelo v2. A resposta retorna a entidade SessionV2 completa, incluindo os campos que o endpoint de listagem omite. Ela também retorna os namespaces condicionais que descrevem uma aplicação remota ou um dispositivo remoto, quando a sessão envolve um deles.

Este endpoint é somente leitura. A criação e o encerramento de sessões não fazem parte da superfície v2.

Info

Este endpoint faz parte da superfície da API v2 do A2A, introduzida na versão 4.2.13. O equivalente v1 está documentado em GET | Listar uma sessão remota por [id].


Pré-requisitos

Atenção

Este endpoint retorna qualquer sessão remota do ambiente. Ele não filtra os resultados pelas concessões de credencial da aplicação chamadora, o que corresponde ao comportamento dos endpoints de sessão remota da v1. Esse comportamento pode mudar em uma versão futura.


Requisição

GET /api/v2/pam/sessions/{id}

Parâmetros de path

Campo Tipo Obrigatório Descrição
id integer Sim Código de identificação único da sessão. Nota: é o campo id retornado por GET | Listar todas as sessões remotas, e não o valor de session.session_id.

Parâmetros de query

Campo Tipo Obrigatório Descrição
fields string Não Chaves canônicas a retornar, separadas por vírgula, como session.status,device.hostname. O campo id é sempre retornado. Uma chave desconhecida retorna 422 api.validation.invalid_field.

Para as regras completas de projeção, consulte API v2 - Convenções e comportamentos compartilhados.


Exemplo de requisição

GET {{url}}/api/v2/pam/sessions/810


Resposta

HTTP/1.1 200 OK

Exemplo de corpo da resposta

{
    "data": {
        "id": "810",
        "session": {
            "session_id": "S2026083010100",
            "session_type": "rdp_proxy",
            "protocol": "RDP",
            "port": 3389,
            "status": "active",
            "user": "jsilva",
            "justification": "Conciliação trimestral no ERP",
            "access_period": "2026-08-30T10:00:00+00:00/2026-08-30T12:00:00+00:00",
            "origin": "200.100.50.51",
            "selection_mode": "explicit",
            "created_at": "2026-08-30T10:10:00+00:00",
            "started_at": "2026-08-30T10:10:05+00:00",
            "ended_at": null,
            "duration": "00:02:41"
        },
        "device": {
            "id": 61,
            "hostname": "rds-01"
        },
        "credential": {
            "id": 101,
            "username": "svc-payments"
        },
        "remote_app": {
            "id": 12,
            "name": "ERP Access"
        }
    },
    "meta": {
        "links": {
            "self": "/api/v2/pam/sessions/810"
        }
    }
}

Campos do corpo da resposta

Campo Tipo Descrição
data object O registro da sessão.
meta object Links de navegação. Carrega apenas links.self.

data

Campo Tipo Descrição
→id string Código de identificação único da sessão.
→session object Atributos da sessão.
→device object Dispositivo ao qual a sessão se conectou.
→credential object Credencial utilizada pela sessão. null para sessões ad-hoc e do EPM que não utilizam uma credencial do cofre.
→remote_device object Dispositivo ao qual a credencial pertence, retornado apenas quando é diferente do dispositivo da sessão. Isso ocorre com credenciais de domínio. Omitido quando não se aplica e nunca retornado como null. Verifique se a chave está presente.
→remote_app object Aplicação remota publicada na sessão, retornada apenas para sessões de RemoteApp. Omitido quando não se aplica e nunca retornado como null. Verifique se a chave está presente.

data.session

Campo Tipo Descrição
→→session_id string Identificador da sessão exibido aos usuários e referenciado em tickets de incidente.
→→session_type string Tipo de sessão. Um entre web_proxy, terminal_proxy, rdp_proxy, database_proxy, segura_browser, tcp_tunneling, epm.
→→protocol string Protocolo utilizado pela sessão, como SSH, RDP ou HTTPS.
→→port integer Porta utilizada pela sessão no dispositivo de destino. Retornada apenas por este endpoint.
→→status string Status atual da sessão: pending, active, terminated ou expired. Derivado dos registros de data e hora da sessão, e não armazenado.
→→user string Nome de usuário do usuário que solicitou a sessão.
→→justification string Justificativa informada pelo usuário ao solicitar a sessão.
→→access_period string Janela de acesso aprovada como um intervalo ISO 8601 no formato início/fim. null quando a sessão não possui solicitação aprovada.
→→origin string Endereço IP de origem do usuário que solicitou a sessão. É um dado pessoal e é retornado integralmente para fins de auditoria.
→→selection_mode string Como a credencial foi escolhida: explicit quando o chamador ou a interface a selecionou, automatic quando o sistema a resolveu.
→→created_at string Data e hora em que a sessão foi solicitada, no formato ISO 8601 e em UTC. Exemplo: 2026-08-30T10:10:00+00:00.
→→started_at string Data e hora em que a sessão iniciou, no formato ISO 8601 e em UTC. null enquanto a sessão está pendente e para reservas que expiraram sem iniciar.
→→ended_at string Data e hora em que a sessão terminou, no formato ISO 8601 e em UTC. Para sessões expired, é o instante em que a reserva expirou. null enquanto a sessão está ativa ou pendente.
→→duration string Tempo decorrido da sessão no formato HH:MM:SS. Avança enquanto a sessão está ativa, mantém o valor final após o encerramento e é null quando a sessão nunca iniciou.

data.device

Campo Tipo Descrição
→→id integer Código de identificação único do dispositivo.
→→hostname string Hostname do dispositivo.

data.credential

Campo Tipo Descrição
→→id integer Código de identificação único da credencial.
→→username string Nome de usuário da credencial utilizada pela sessão. O valor do segredo nunca é retornado.

data.remote_device

Campo Tipo Descrição
→→id integer Código de identificação único do dispositivo ao qual a credencial pertence.
→→hostname string Hostname desse dispositivo.

data.remote_app

Campo Tipo Descrição
→→id integer Código de identificação único da aplicação remota.
→→name string Nome da aplicação remota publicada na sessão.
Atenção

A URL de acesso à sessão nunca é retornada por este endpoint. As URLs de sessão são de uso único e já estão expiradas para fins de leitura. A credencial é sempre retornada, porque saber qual credencial foi utilizada é um dado de auditoria.


Erros

Código HTTP Código de erro Causa possível Solução
401 api.auth.token.invalid Token bearer ausente, expirado ou inválido. Solicite um novo token de acesso.
404 api.resource.not_found Não existe sessão com o código de identificação enviado no path da requisição. Verifique o id em GET | Listar todas as sessões remotas.
422 api.validation.invalid_field fields referencia uma chave canônica desconhecida. Verifique os nomes das chaves nas tabelas de campos do corpo da resposta.
422 api.request.invalid_param O id no path da requisição não é um número inteiro positivo. Envie o código de identificação numérico da sessão.
429 rate_limit_exceeded O orçamento de requisições da janela atual foi esgotado. Aguarde o número de segundos informado no header Retry-After e tente novamente.
500 api.internal.error Erro interno do servidor. Entre em contato com o suporte da Segura™.

Para as mensagens de erro de autenticação e a política de 403 versus 404, consulte API v2 - Convenções e comportamentos compartilhados.


Documentos relacionados