GET | Listar um dispositivo

Prev Next

Descrição

Acesse o modelo canônico completo de um dispositivo cadastrado no PAM Core, utilizando a API v2. Diferente do endpoint de listagem, este endpoint retorna todos os campos da entidade DeviceV2, incluindo criticality, owner, administrator_group, network_connector, connectivities e session_settings.

Info

Este endpoint faz parte da superfície da API v2 do A2A e está disponível a partir da versão 4.2.9 do Segura®. Os dispositivos são servidos pelo caminho base /api/v2/platform, e não por /api/v2/pam como os demais recursos v2. O equivalente v1 está documentado em GET | Listar um dispositivo por [id].


Pré-requisitos


Requisição

GET /api/v2/platform/devices/{id}

Parâmetros de caminho

Campo Tipo Obrigatório Descrição
id integer Sim Código de identificação único do dispositivo. Nota: este valor é atribuído pelo Segura® em POST | Criar dispositivo (v2), que o retorna como string no corpo da resposta.

Parâmetros de query

Campo Tipo Obrigatório Descrição
fields string Não Restringe a resposta aos campos informados, utilizando caminhos com namespace. Exemplo: fields=device.name,device.connectivities. O campo data.id é sempre retornado, mesmo que a projeção não o solicite. Um caminho que não existe no modelo canônico retorna 422.

Cabeçalhos

Cabeçalho Obrigatório Descrição
If-None-Match Não Leitura condicional. Envie o ETag de uma resposta anterior para receber 304 Not Modified quando o dispositivo não tiver sido alterado. Para mais informações, acesse API v2 - Convenções e comportamentos compartilhados.

Exemplo de requisição

GET {{url}}/api/v2/platform/devices/55


Resposta

HTTP/1.1 200 OK

A resposta traz um cabeçalho ETag forte, que representa o estado atual do dispositivo, e um cabeçalho X-Request-Id, que correlaciona a requisição nos logs do Segura®. Guarde o ETag: ele é obrigatório no cabeçalho If-Match de PUT | Atualizar dispositivo (v2) e PATCH | Atualizar dispositivo (v2).

Todos os campos do modelo canônico são retornados, inclusive aqueles cujo valor é null. Um dispositivo inativo retorna 200 com active igual a false.

Exemplo de corpo da resposta

{
    "data": {
        "id": "55",
        "device": {
            "name": "db-prod-01",
            "address": "10.10.10.10",
            "active": true,
            "type": "Server",
            "vendor": "Oracle",
            "product": "Oracle Linux VM",
            "site": "SP-DC1",
            "domain_name": "CORP",
            "tags": ["prod", "database"],
            "criticality": "high",
            "owner": {
                "name": "John Doe"
            },
            "administrator_group": {
                "id": "5",
                "name": "PAM Admins"
            },
            "enable_remote_app": true,
            "network_connector": {
                "id": "12",
                "name": "NC-SP-01",
                "port": "50001"
            },
            "connectivities": [
                {
                    "protocol": "SSH",
                    "port": 22,
                    "connectable": true
                },
                {
                    "protocol": "RDP",
                    "port": 3389,
                    "connectable": false
                }
            ],
            "session_settings": [
                {
                    "connectivity": "SSH",
                    "expected_expression": "$",
                    "fill_in_value": "sudo su"
                }
            ]
        }
    },
    "meta": {
        "links": {
            "self": "/api/v2/platform/devices/55"
        },
        "actions": {
            "deactivate": "/api/v2/platform/devices/55/deactivate"
        }
    }
}

Campos do corpo da resposta

Campo Tipo Descrição
data object Dispositivo retornado pela requisição.
data.id string Código de identificação único do dispositivo, atribuído pelo Segura® em POST | Criar dispositivo (v2). Sempre presente na resposta.
data.device object Atributos canônicos do dispositivo.
data.device.name string Nome que identifica o dispositivo.
data.device.address string Endereço IP, hostname ou URL de gerenciamento do dispositivo.
data.device.active boolean Indica se o dispositivo está ativo. Alterado por POST | Ativar dispositivo (v2) e POST | Desativar dispositivo (v2), nunca por uma atualização.
data.device.type string Tipo do dispositivo. Cadastrado em Tipos.
data.device.vendor string Fabricante do dispositivo. Cadastrado em Fabricantes.
data.device.product string Modelo do dispositivo, vinculado ao fabricante. Cadastrado em Modelos.
data.device.site string Site onde o dispositivo está localizado. Cadastrado em Sites.
data.device.domain_name string Domínio associado ao dispositivo. Retorna null quando o dispositivo não está vinculado a um domínio.
data.device.tags array[string] Tags associadas ao dispositivo. Retorna um array vazio quando nenhuma tag está configurada.
data.device.criticality string Nível de criticidade do dispositivo. Valores possíveis: low, medium, high. Retorna null quando não configurado.
data.device.owner object Usuário responsável pelo dispositivo. Retorna null quando nenhum responsável está configurado.
data.device.owner.name string Nome do responsável pelo dispositivo.
data.device.administrator_group object Grupo administrador associado ao dispositivo. Aplica-se somente quando o modo de política de acesso é estático por dispositivo. Retorna null quando não configurado.
data.device.administrator_group.id string Código de identificação único do grupo administrador. Use este valor no campo administrator_group_id ao atualizar o dispositivo.
data.device.administrator_group.name string Nome do grupo administrador.
data.device.enable_remote_app boolean Indica se o suporte a aplicação remota está habilitado para o dispositivo.
data.device.network_connector object Network Connector utilizado para alcançar o dispositivo. Retorna null quando o dispositivo não está associado a um. Para mais informações, acesse Como configurar dispositivos no Network Connector.
data.device.network_connector.id string Código de identificação único do agent do Network Connector.
data.device.network_connector.name string Nome do Network Connector.
data.device.network_connector.port string Porta do agent do Network Connector pela qual o dispositivo é alcançado. Trata-se da porta do agent, não da porta do broker.
data.device.connectivities array de objetos Protocolos de conectividade configurados no dispositivo.
data.device.connectivities[].protocol string Protocolo de conectividade. Valores possíveis: SSH, RDP, HTTPS, VNC, Telnet, SQL_Server.
data.device.connectivities[].port integer Porta utilizada pelo protocolo.
data.device.connectivities[].connectable boolean Resultado do teste de conectividade mais recente para este protocolo. Para o resultado completo do teste, acesse GET | Listar status de conexão do dispositivo (v2).
data.device.session_settings array de objetos Configurações de automação de sessão aplicadas no início de uma sessão.
data.device.session_settings[].connectivity string Protocolo ao qual a configuração se aplica. Corresponde a um dos protocolos em connectivities.
data.device.session_settings[].expected_expression string Expressão que a sessão aguarda antes de enviar fill_in_value. Retorna null quando não configurada.
data.device.session_settings[].fill_in_value string Valor enviado quando expected_expression é encontrada. Retorna null quando não configurado.
meta object Links de navegação e ações disponíveis.
meta.links object Links de navegação do dispositivo.
meta.links.self string URL do dispositivo.
meta.actions object Ações disponíveis para o dispositivo em seu estado atual.
Info

O campo meta.actions reflete o estado atual do dispositivo: um dispositivo ativo expõe apenas deactivate, e um dispositivo inativo expõe apenas activate. O endpoint de status de conexão é uma consulta, e não uma ação, por isso nunca aparece aqui.


Erros

Código HTTP Mensagem Causa possível Solução
401 api.auth.token.invalid O token de acesso está ausente ou expirou. Solicite um novo token de acesso.
403 api.permission.denied A autorização não tem permissão de leitura para os recursos do PAM Core. Peça ao administrador para verificar as permissões da autorização no A2A e gere um novo token.
403 api.fields.sensitive.not_allowed O fields solicita um campo classificado como sensível. Remova o campo sensível da projeção.
404 api.resource.not_found O dispositivo não existe ou pertence a outro tenant. Verifique o id. Para a política de 403 versus 404, acesse API v2 - Convenções e comportamentos compartilhados.
422 api.fields.invalid O fields referencia um caminho fora do modelo canônico. Verifique os caminhos dos campos no schema de resposta.
500 api.internal.error Erro interno do servidor. Entre em contato com a equipe de suporte da Segura®.

Exemplo de resposta de erro

404 o dispositivo não existe ou está fora do escopo da autorização:

{
    "error": {
        "code": "api.resource.not_found",
        "message": "The requested resource does not exist or is not accessible."
    }
}

Erros de autenticação

Mensagem Causa possível Solução
Client authentication failed. Falha na autenticação da aplicação com o servidor Segura®. Verifique os parâmetros de autenticação (Access Token URL, Client ID e Client secret) e solicite um novo token de acesso.
Invalid signature Falha no reconhecimento da URL da aplicação cliente. Verifique a URL da aplicação cliente e reenvie a requisição.
No route matched with those values. Cabeçalho de autorização ausente na requisição da API. Solicite um novo token de acesso.
Request timed out. A requisição excedeu o limite de tempo. Verifique a conectividade entre a origem da requisição e o servidor Segura®.

Documentos relacionados