Pular para o conteúdo principal
Version: 3.25

Métodos PAM Core

O senhasegura WebService A2A possui métodos de consulta, criação e alteração de informações armazenadas na aplicação como: adicionar, alterar e inativar dispositivos e credenciais, além de outros.

caution

Para utilizar esses métodos o recurso PAM deve ser selecionado na autorização da aplicação.

Dispositivos

Consultar a lista de dispositivos

GET /iso/pam/device 

Resposta esperada

HTTP/1.1 200 OK 
{
"response": {
"status": 200,
"mensagem": "2 devices found",
"erro": false,
"message": "2 devices found",
"error": false
},
"devices": [
{
"id": "1",
"hostname": "mydevicehostname",
"ip": "172.10.20.30",
"model": "Windows Server 2012",
"type": "Server",
"vendor": "Microsoft",
"site": "LAX",
"tags": "demo, test, testing"
},
{
"id": "2",
"hostname": "Admin Server",
"ip": "192.168.0.1",
"model": "Domain",
"type": "Domain",
"vendor": "Microsoft",
"site": "Default",
"tags": "demo, test, testing"
}
]
}

Consultar um único dispositivo

Você também pode consultar um único dispositivo usando os métodos WebService A2A .

Você deve substituir o wildchar * pelo número de identificação do dispositivo ou identificador de webservice desejado.

GET /iso/pam/device/* 

Resposta esperada

URI

Usando o Método POST

https://url_do_cofre/iso/pam/info

The following table is an example of the required input parameters:

NomeSuccessoErro
status2xx4xx
messageInformação cadastrada com sucessoInformações não cadastradas
errofalsoverdadeiro
infoApenas divisão
nameNome da informação. (obrigatório)
Ex.: info1, info
typeTipo de informação. (obrigatório)
Ex.: access credential, Digital certificate
serviceNome do serviço ao qual a informação se refere.
Ex.: facebook
urlURL do serviço referente às informações.
Ex.: www.facebook.com
contentO conteúdo a ser protegido não pode ser apenas um arquivo de texto. (obrigatório)
Ex.: protected information
users_allowedNome de usuário de usuários autorizados a acessar informações separados por vírgula.
Ex: Admin, user1
identifierIdentificador único da informação, para referência posterior.
Ex: INFO129
HTTP/1.1 200 OK 
{
"response": {
"status": 201,
"mensagem": "Informação cadastrada com sucesso!",
"erro": false,
"message": "Informação cadastrada com sucesso!",
"error": false
},
"info": {
"name": "saas_vault1",
"type": "access credential",
"service": "saas_client",
"url": "10.10.10.2",
"content": "login: mt4adm, password: mt4admp4ss",
"users_allowed": "admin, account_manager, mscharra",
"identifier": "INFOSAASVAULT1"
}
}

Resposta esperada ao inativar um dispositivo que não existe

HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1026: O conteúdo da informação não foi informado",
"erro": false,
"message": "1026: O conteúdo da informação não foi informado",
"error": false
},
"exception": {
"code": 1026,
"message": "1026: O conteúdo da informação não foi informado",
"detail": null
}
}

Inativar um dispositivo

Você também pode inativar um dispositivo usando os métodos WebService A2A . Quando um dispositivo é inativo, todas as suas credenciais serão desativadas no senhasegura automaticamente também.

Você deve substituir o wildchar * pelo número de identificação do dispositivo ou identificador desejado.

DELETE iso/pam/device/* 
Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 200,
"mensagem": "Device successfully deactivated",
"erro": false,
"message": "Device successfully deactivated",
"error": false
}
}
Resposta esperada ao inativar um dispositivo que não existe
HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1011: Device not found",
"erro": true,
"message": "1011: Device not found",
"error": true
},
"exception": {
"code": 1011,
"message": "1011: Device not found",
"detail": null
}
}

Criação e Atualização de um dispositivo

POST /iso/pam/device 

A tabela a seguir é um exemplo dos parâmetros de entrada necessários:

CampoTipoExemploObrig.Obs.
hostnameStringmydevice02Sim
ipString22.13.50.71Sim
siteStringAWSSim
modelStringCentOS 7Sim
vendorStringCentOSSim
typeStringServerSimDeve ser um tipo já cadastrado.
info

Para atualizar um registro você deve utilizar este mesmo método. A consulta do registro será feita pelo nome da hostname. Ou seja, se você encontrar um dispositivo, o registro será atualizado. Se não encontrar, então o registro será criado.

Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 201,
"mensagem": "Device successfully registered!",
"erro": false,
"message": "Device successfully registered!",
"error": false
},
"device": {
"id": "9",
"hostname": "mydevice02",
"ip": "22.13.50.71",
"site": "AWS"
}
}
Resposta esperada ao registrar um dispositivo sem fornecer alguns dados necessários
HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1004: The device's hostname was not informed",
"erro": true,
"message": "1004: The device's hostname was not informed",
"error": true
},
"exception": {
"code": 1004,
"message": "1004: The device's hostname was not informed",
"detail": null
}
}

Credenciais

Consultar lista de credenciais

GET /iso/pam/credential 

Este método retorna a lista de credenciais às quais o cliente A2A pode ter acesso.

Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 200,
"mensagem": "2 credentials found",
"erro": false,
"message": "2 credentials found",
"error": false
},
"credentials": [
{
"id": "1",
"identifier": "fakeuser01ws",
"username": "fakeuser01",
"expiration": null,
"change": "2020-11-17 16:14:35",
"view": null,
"hostname": "fakedevice01",
"management_ip": "172.10.20.30",
"type": "Local User",
"type_code": "1",
"device_model": "Fake Product",
"device_type": "Server",
"device_vendor": "Fake Vendor",
"automatic_change": "0",
"connectivity": "",
"connectivity_code": ""
},
{
"id": "2",
"identifier": "fakeuser02ws",
"username": "fakeuser02",
"expiration": null,
"change": "2020-11-17 16:14:35",
"view": null,
"hostname": "fakedevice01",
"management_ip": "172.10.20.30",
"type": "Local User",
"type_code": "1",
"device_model": "Fake Product",
"device_type": "Server",
"device_vendor": "Fake Vendor",
"automatic_change": "0",
"connectivity": "",
"connectivity_code": ""
}
]
}

Consultar uma única credencial

GET /iso/pam/credential/* 

Você também pode consultar uma única credencial usando os métodos WebService A2A .

Você deve substituir o wildchar * pelo número Credential ID ou ID Identificator desejado.

Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 200,
"mensagem": "Credential 5",
"erro": false,
"message": "Credential 5",
"error": false
},
"credential": {
"id": "5",
"tag": "robot-test-5",
"username": "credential_5",
"password": "secret@2504",
"content": "secret@2504",
"hostname": "destktop-91.com",
"parent_credential_cod": null,
"parent_credential": null,
"additional": "CREDADD01",
"domain": "",
"ip": "172.10.10.90",
"port": "22",
"model": "Ubuntu",
"expiration_time": "2021-01-16T17:31:39"
}
}
Resposta esperada quando uma credencial não existe ou não é permitido o acesso
HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1007: Credential not found",
"erro": true,
"message": "1007: Credential not found",
"error": true
},
"exception": {
"code": 1007,
"message": "1007: Credential not found",
"detail": null
}
}

Inativar uma credencial

DELETE /iso/pam/credential/* 

Você também pode inativar uma credencial usando os métodos WebService A2A .

Você deve substituir o wildchar * pelo número da Credencial ou ID identificador desejado.

Resposta esperada
HTTP/1.1 200 OK 
{
'response': {
'status': 200,
'mensagem': 'Credential successfully deactivated',
'erro': False,
'message': 'Credential successfully deactivated',
'error': False
}
}
Resposta esperada quando não é permitido ao cliente A2A o acesso à credencial, ou quando a credencial já está inativa
HTTP/1.1 400 Bad Request 
{
'response': {
'status': 400,
'mensagem': '1007: Credential not found',
'erro': True,
'message': '1007: Credential not found',
'error': True
},
'exception': {
'code': 1007,
'message': '1007: Credential not found',
'detail': None
}
}

Atualizar uma credencial

POST /iso/pam/credential 

Este método só permite atualizar uma credencial que já existe no senhasegura e à qual o cliente A2A já tem acesso. A tabela a seguir é um exemplo dos parâmetros de entrada necessários:

CampoTipoExemploObrig.Obs.
hostnameStringmydevice02Sim
ipString22.13.50.71Sim
identifierString5Sim
usernameStringcredential05Sim
info

Para atualizar um registro você deve usar este mesmo método. Se o ID numérico (ID credencial) não for fornecido, a credencial será alterada por IP, Hostname e Username. Ou seja, se você encontrar um dispositivo, o registro será atualizado. Se não encontrar, então o registro será criado.

Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 201,
"mensagem": "Credential updated successfully!",
"erro": false,
"message": "Credential updated successfully!",
"error": false
},
"credential": {
"id": "5",
"tag": "robot-test-5"
}
}
Resposta esperada quando um dos dados necessários não é fornecido
HTTP/1.1 400 Bad Request 
info

Os seguintes códigos de erro podem ocorrer se os dados necessários não forem fornecidos:

  • 1004: O hostname do dispositivo não foi informado

  • 1005: O IP do dispositivo não foi informado

  • 1007: Credencial não encontrado

{
"response": {
"status": 400,
"mensagem": "1004: The device's hostname was not informed",
"erro": true,
"message": "1004: The device's hostname was not informed",
"error": true
},
"exception": {
"code": 1004,
"message": "1004: The device's hostname was not informed",
"detail": null
}
}

Liberar a custódia de uma credencial

DELETE /iso/pam/credential/custody/* 

Quando um saque de senha é realizado via API, a credencial permanece sob custódia do solicitante. Para liberar a custódia, é necessário utilizar este método.

Você deve substituir o wildchar * pelo número da Credential ou ID identificador desejado.

Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 200,
"mensagem": "Credential custody 1 released",
"erro": false,
"message": "Credential custody 1 released",
"error": false
}
}

No exemplo acima, o número "1" é a identificação da credencial

Resposta esperada quando você não tem acesso à credencial ou a credencial não existe
HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1007: Credential not found",
"erro": true,
"message": "1007: Credential not found",
"error": true
},
"exception": {
"code": 1007,
"message": "1007: Credential not found",
"detail": null
}
}

Informações Protegidas

Consultar uma única informação protegida

GET /iso/pam/info/* 

Este método só permite que você consulte uma única informação protegida. Você deve substituir o wildchar * pelo número de identificação da Informação Protegida ou identificado desejado.

Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 200,
"mensagem": "Information 20",
"erro": false,
"message": "Information 20",
"error": false
},
"info": {
"id": "20",
"tag": "INFOID5",
"type": "Access credential",
"content": "INFOCONTENTNDIGH"
}
}
Resposta esperada quando você não tem acesso à informação ou ela não existe
HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1023: Information not found",
"erro": true,
"message": "1023: Information not found",
"error": true
},
"exception": {
"code": 1023,
"message": "1023: Information not found",
"detail": null
}
}
Resposta esperada quando você tem acesso à informação, mas ela está inativa
HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1024: Inactive information",
"erro": true,
"message": "1024: Inactive information",
"error": true
},
"exception": {
"code": 1024,
"message": "1024: Inactive information",
"detail": null
}
}

Inativar uma informação protegida

DELETE /iso/pam/info/* 

Você também pode inativar uma informação protegida usando os métodos WebService A2A .

Você deve substituir o wildchar * pelo número de identificação da Informação Protegida ou identificador desejado.

Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 200,
"mensagem": "Information successfully deactivated",
"erro": false,
"message": "Information successfully deactivated",
"error": false
}
}
Resposta esperada quando você não tem acesso à informação ou ela não existe
HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1023: Information not found",
"erro": true,
"message": "1023: Information not found",
"error": true
},
"exception": {
"code": 1023,
"message": "1023: Information not found",
"detail": null
}
}
Resposta esperada quando a informação já está inativa
HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1024: Inactive information",
"erro": true,
"message": "1024: Inactive information",
"error": true
},
"exception": {
"code": 1024,
"message": "1024: Inactive information",
"detail": null
}
}

Criação de informações protegidas

Nova informação protegida

POST /iso/pam/info 

Permite registrar uma nova informação protegida.

CampoTipoExemploObrig.Obs.
contentStringMeu conteúdo secretoSimConteúdo em texto a ser protegido. Não é possível realizar upload de arquivos.
Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 201,
"mensagem": "Information successfully registered!",
"erro": false,
"message": "Information successfully registered!",
"error": false
},
"info": {
"id": "4",
"tag": null
}
}

Alterar uma informação protegida

CampoTipoExemploObrig.Obs.
contentStringMeu conteúdo secretoSimConteúdo em texto a ser protegido. Não é possível realizar upload de arquivos.
identifierStringINFO1298NãoIdentificador único da informação utilizada para identificação posterior.
nameStringMinha informaçãoNãoNome da informação que será apresentada nas telas do senhasegura .
typeStringAccess credentialNãoTipo de informação. Deve ser um tipo já cadastrado
Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 201,
"mensagem": "Information successfully registered!",
"erro": false,
"message": "Information successfully registered!",
"error": false
},
"info": {
"id": "18",
"tag": "INFOIDV0GSF"
}
}
Resposta esperada quando o conteúdo da informação não é fornecido
HTTP/1.1 400 Bad Request 
{
"response": {
"status": 400,
"mensagem": "1026: The information content was not informed",
"erro": true,
"message": "1026: The information content was not informed",
"error": true
},
"exception": {
"code": 1026,
"message": "1026: The information content was not informed",
"detail": null
}
}

Proxy de sessões

Criação de URL autenticada para sessão web

POST /iso/remote/session 

Este método permite criar uma URL autenticada para incio de sessão web em dispositivos previamente cadastrados na solução através do senhasegura Web Proxy.

A tabela a seguir contém exemplos dos parâmetros de entrada:

CampoTipoExemploObrig.Obs.
userStringsenhasegura-userYesUsuário para autenticação no senhasegura . Ela deve existir na solução.
credentialStringadminYesUsuário da credencial que será utilizada na sessão.
deviceString172.12.32.14YesHostname ou IP do dispositivo relacionado a credencial da sessão.
protocolStringSSHYesProtocolo de conexão no dispositivo. (SSH, RDP, HTTPS.).
remotedeviceString123NoCódigo, IP ou Hostname do dispositivo, caso esteja utilizando credencial de domínio e queira realizar a sessão em dispositivo diferente do relacionado a credencial.
remoteAddrstring201.13.25.61NoIP de conexão do usuário que irá utilizar a URL de sessão. Só será possível iniciar a sessão a partir deste endereço de IP.
portInt22NoPorta da conexão no dispositivo. Quando não informado, é utilizada a porta padrão do protocolo.
remoteappInt123NoCódigo do RemoteApp. Utilizado para sessões com RemoteApp.
Resposta esperada
HTTP/1.1 200 OK 
{
"response": {
"status": 200,
"mensagem": "Session created successfully",
"erro": false,
"message": "Session created successfully",
"error": false
},
"session": {
"session_url": "https://senhasegura/modulos/auth?_sr=cmJzOkQwUzdq
Wk9zQkhKY2FvRkNaQ0Q2OVRnbVdmTnk1MEc2cDNnM1orM2ltL3BxQURZNW91WW1G
TExFU2JlYldkTlRabFNWb0Z2VzllU0E1WlIraEtJM3NvMlZmZ0NZTXV4QlNFWEt
PUko3YlMxQWNwZmxYTWw2ZGxsUlFEOCtPdlBq",
"token": "c4ac50a35bcc0a0d1641b02e64dd7c6421d3e5be2afa5378ca29ce5621e2eb38"
}
}
info

A URL de sessão é valida por 30 segundos. Após esse período será necessário o provisionamento de uma nova.

Resposta esperada quando o conteúdo da informação não é fornecido
HTTP/1.1 400 Bad Request 
info

The following error may occur if the required data is not provided:

  • user: User not specified

  • credential: Credential not specified

  • device: Credential device not specified

  • protocol: Invalid protocol

\hfill

{
"response": {
"status": 400,
"mensagem": "Credential not specified",
"erro": true,
"cod_erro": 0,
"message": "Credential not specified",
"error": true,
"error_code": 0
}
}

Encerramento compulsório de sessão proxy

DELETE /iso/session/drop/[identifier] 

Encerra a sessão proxy indicando o motivo do encerramento. Utilize essa funcionalidade para que sistemas externos como SIEM possam encerrar sessões baseadas nos alertas emitidos pelo próprio senhasegura .

Resposta

{
"response": {
"status": 200,
"mensagem": "Sessao encerrada",
"erro": false
}
}