POST | Atualizar credencial
  • 16 minutos de leitura
  • Tema escuro
    Tema claro
  • Pdf

POST | Atualizar credencial

  • Tema escuro
    Tema claro
  • Pdf

Resumo do artigo

Atualize uma credencial no PAM Core.

Requisitos

Requisição

POST api/pam/credential

Parâmetros de requisição

Envie os parâmetros que deseja atualizar no body da requisição.

  • identifier - string - obrigatório - String única definida pelo usuário ou pelo senhasegura para identificar a credencial.

Nota: esse valor é criado em POST | Criar credencial e é obtido na resposta da requisição GET | Listar todas as credenciais


  • username - string - obrigatório - Nome do usuário designado à credencial.

Nota: não é necessário enviar um valor para o parâmetro, mas é necessário inserir o parâmetro.
Valor padrão da nova credencial: usr


  • hostname - string - obrigatório - Nome do host do dispositivo associado à credencial.


  • ip - string - obrigatório - Endereço IP do dispositivo associado à credencial.


  • content - string - Senha designada à credencial.

Valor padrão da nova credencial: -


  • additional - string - Informações adicionais da credencial.

Valor padrão da nova credencial: -


  • tags - string - Palavras-chave associadas à credencial.

Valor padrão da nova credencial: -


  • credential_type - string - Tipo de credencial.

Valor padrão da nova credencial: Local User


  • domain - string - Nome de domínio ou abreviação.

Valor padrão da nova credencial: -


  • parent_password - int - ID da credencial pai.

Valor padrão da nova credencial: -


  • type- string - Tipo de dispositivo.

Nota: um novo tipo é criado caso o valor passado seja único.
Valor padrão da nova credencial: -


  • vendor - string - Fabricante do dispositivo.

Nota: um novo fabricante é criado caso o valor passado seja único.
Valor padrão da nova credencial: -


  • model - string - Modelo do dispositivo.

Nota: um novo modelo é criado caso o valor passado seja único.
Valor padrão da nova credencial: -


  • site - string - Localização do dispositivo.

Nota: um novo site é criado caso o valor passado seja único.
Valor padrão da nova credencial: -


  • device_domain - string - Nome de domínio do dispositivo ou abreviação.

Nota: apenas domínios previamente registrados são aceitos.
Valor padrão da nova credencial: -

Atenção

Ao listar mais de um device_domain, adicione vírgulas sem espaço entre eles, conforme o exemplo a seguir:
testlab.com,demo.lab.com


  • device_tags - string - Palavras-chave associadas ao dispositivo.

Valor padrão da nova credencial: -


  • connectivities - string - Conectividade do dispositivo.

Valor padrão da nova credencial: -


  • session_remote_config - string - Expressão de login.

Valor padrão da nova credencial: -


  • execution_settings - object - Configurações administrativas da credencial para definição de troca automática de senha e reconciliação da credencial.

Exemplo: acessar seção Configurações de execução.
Valor padrão da nova credencial: -


  • session_settings - object - Configurações para gerenciamento de privilégios de sessão para aplicativos remotos, protocolos de conectividade, entre outros.

Exemplo: acessar seção Configurações de sessão.
Valor padrão da nova credencial: -


  • additional_settings - object - Configurações para implementação de mecanismos de autenticação da credencial, como TOTP, e designação do usuário dono da credencial, entre outros.

Exemplo: acessar seção Configurações adicionais.
Valor padrão da nova credencial: -


  • jit_settings - object - Configurações para gerenciar o tempo de utilização de serviços.

Exemplo: acessar seção Configurações JIT.
Valor padrão da nova credencial: -


Opções de atualização de credencial

Você pode optar por uma das seguintes opções para atualizar uma credencial no PAM Core:

  • Enviando um valor para o parâmetro identifier.
  • Enviando um valor para o parâmetro username.

Em ambos os casos, é necessário fornecer valores existentes para os parâmetros hostname e ip do dispositivo associados à credencial.

Info

Antes de continuar, saiba que os termos existente e novo, no contexto deste documento, significam:

  • Existente - um valor que já pertence a uma credencial.
  • Novo - um valor que ainda não pertence a uma credencial.

Enviar o parâmetro identifier

  • Envie hostname e ip existentes.
  • Envie identifier existente ou novo.
Condição
->
Resultado
identifier existenteA credencial será atualizada com os demais valores enviados.
identifier novoO sistema buscará a credencial encontrada usando hostname, ip e usernameCredencial encontradaA credencial será atualizada com os demais valores enviados.
Credencial não encontradaUma nova credencial será criada.

Exemplo de requisição - identifier existente

O exemplo a seguir mostra a atualização de uma credencial com um identifier que já pertence a uma credencial.

POST {{url}}/api/pam/credential

{
    "username" : "username",
    "hostname": "w2016",  
    "ip": "10.66.33.15",
    "content": "#@*MyS@feP@ssword%$#",
    "identifier": "dyaihdppaj78a547",
    "tags": "social"
}

Resposta

{
   "code": 201,
   "response": {
       "status": 201,
       "message": "Credential updated successfully!",
       "error": false,
       "error_code": 0,
       "detail": "",
       "mensagem": "Credential updated successfully!",
       "erro": false,
       "cod_erro": 0
   },
   "tenant": "senhasegura",
   "credential": {
       "id": "152",
       "identifier": "dyaihdppaj78a547"
   }
}

Exemplo de requisição - identifier novo

O exemplo a seguir mostra a atualização de uma credencial com um identifier novo. Nesse caso, a credencial foi localizada porque os valores dos parâmetros hostname, ip e username indicaram a sua existência.

POST {{url}}/api/pam/credential

{
    "username" : "username",
    "hostname": "w2016",  
    "ip": "10.66.33.15",
    "content": "#@*MyS@feP@ssword%$#",
    "identifier": "newidentifier17846aa8",
    "tags": "social"
}

Resposta

{
    "code": 201,
    "response": {
        "status": 201,
        "message": "Credential updated successfully!",
        "error": false,
        "error_code": 0,
        "detail": "",
        "mensagem": "Credential updated successfully!",
        "erro": false,
        "cod_erro": 0
    },
    "tenant": "senhasegura",
    "credential": {
        "id": "152",
        "identifier": "newidentifier17846aa8"
    }
}

Enviar o parâmetrousername

  • Envie username, hostname e ip existentes.
  • Não envie um valor para o identifier.
CondiçãoResultado
username existenteA credencial será atualizada com os demais valores enviados.
username novoUma nova credencial será criada.

Exemplo de requisição - username existente

O exemplo a seguir mostra a atualização de uma credencial com um username que já pertence a uma credencial.

POST {{url}}/api/pam/credential

{
    "username" : "username",
    "hostname": "w2016",  
    "ip": "10.66.33.15",
    "content": "#@*MyS@feP@ssword%$#",
    "identifier": "",
    "tags": "social"
}

Resposta

{
   "code": 201,
   "response": {
       "status": 201,
       "message": "Credential updated successfully!",
       "error": false,
       "error_code": 0,
       "detail": "",
       "mensagem": "Credential updated successfully!",
       "erro": false,
       "cod_erro": 0
   },
   "tenant": "senhasegura",
   "credential": {
       "id": "152",
       "identifier": "018fee1d-bc06-70b0-941b-163724042b60"
   }
}

Outros parâmetros da credencial

Você também pode atualizar outros parâmetros da credencial. São eles:

Configurações de execução

Configurações administrativas da credencial em que é possível definir a troca automática de senha e reconciliação da credencial.

Parâmetros de requisição

Envie os parâmetros que deseja atualizar no body da requisição.

execution_settings - object - Dados das configurações de execução.


    →parent_credential - string - Credencial pai selecionada para a credencial editada.


    →parent_hostname - string - Nome do host da credencial pai selecionada.


    →parent_ip - string - Endereço IP do dispositivo da credencial pai selecionada.


    →automatic_change - boolean - Habilita ou desabilita mudanças automáticas.    Valor padrão da nova credencial: false


    →agent_based_password_change - boolean - Habilita ou desabilita mudança de senha agent-based.    Valor padrão da nova credencial: false


    →change_plugin - string - Plugin de mudança para ser usado ao rotacionar a credencial.



    →change_template - string - Template de mudança para ser usado ao rotacionar a credencial.


    →use_own_credential_to_connect - boolean - Habilita ou desabilita o uso da própria credencial para se conectar ao dispositivo e mudar a credencial.    Valor padrão da nova credencial: false


    →authentication_credential - string - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false) Credencial usada para autenticação durante o processo de rotação da credencial.


    →authentication_hostname - string - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false) - Hostname do dispositivo de autenticação.


    →authentication_ip - string - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false) - Endereço IP do dispositivo de autenticação.


    →status - boolean - Habilita ou desabilita reconciliação de credencial após falha de rotação.    Valor padrão da nova credencial: false


    →reconciliation_credential - string - Credencial a ser usada no processo de reconciliação.


    →reconciliation_hostname - string - Nome do host do dispositivo de reconciliação da credencial.


    →reconciliation_ip - string - Endereço IP do dispositivo de reconciliação da credencial.


    →reconciliation_plugin - string - Plugin de execução para o processo de reconciliação da credencial.


    →reconciliation_template - string - Template para o processo de reconciliação da credencial.

Exemplo de requisição

POST {{url}}/api/pam/credential

{
    "username": "exemplo caderno 3.32",
    "hostname": "API-Testing",
    "ip": "128.0.0.1",
    "execution_settings": 
    {
        "parent_credential": "cred2",
        "parent_hostname": "gmail",
        "parent_ip": "https://www.gmail.com",
        "automatic_change": true,
        "agent_based_password_change": true,
        "change_plugin": "SSH",
        "change_template": "3COM",
        "use_own_credential_to_connect": false,
        "authentication_credential": "cred2",
        "authentication_hostname": "gmail",
        "authentication_ip": "https://www.gmail.com",
        "status": true,
        "reconciliation_credential": "cred2",
        "reconciliation_hostname": "gmail",
        "reconciliation_ip": "https://www.gmail.com",
        "reconciliation_plugin": "SSH",
        "reconciliation_template": "3COM"
    }
}

Configurações de sessão

Configurações implementadas para gerenciar privilégios de sessão em que é possível restringir aplicativos remotos, protocolos de conectividade, entre outros.

Parâmetros de requisição

Envie os parâmetros que deseja atualizar no body da requisição.

session_settings - object - Dados das configurações de sessão.


    →SSH - boolean - Habilita ou desabilita o protocolo SSH.    Valor padrão da nova credencial: false


    →Telnet - boolean - Habilita ou desabilita o protocolo Telnet.    Valor padrão da nova credencial: false


    →MySQL - boolean - Habilita ou desabilita a conexão MySQL.    Valor padrão da nova credencial: false


    →SQL Server - boolean - Habilita ou desabilita a conexão SQL Server.    Valor padrão da nova credencial: false


    →HTTP - boolean - Habilita ou desabilita o protocolo HTTP.    Valor padrão da nova credencial: false


    →HTTPS - boolean - Habilita ou desabilita a conexão HTTPS.    Valor padrão da nova credencial: false


    →RDP - boolean - Habilita ou desabilita a conexão RDP.    Valor padrão da nova credencial: false


    →X11 Forward - boolean - Habilita ou desabilita o X11 Forward.    Valor padrão da nova credencial: false


    →VNC - boolean - Habilita ou desabilita a conexão via VNC.    Valor padrão da nova credencial: false


    →restrict_access_to_remote_application - boolean - Habilita ou desabilita o acesso restrito a sessões proxy RemoteApp.    Valor padrão da nova credencial: false


    →macros - array de objects - Lista dos dados da automação macro contendo remote_app e connectivity.
          →remote_app - string - Automação RemoteApp associada à credencial.


          →connectivity - string - Conectividade para automação RemoteApp associada à credencial.


    →use_own_credential_to_connect - boolean - Habilita ou desabilita o uso da própria credencial para conexão.    Valor padrão da nova credencial: false


    →authentication_credential - string - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false) - A credencial de autenticação. .


    →authentication_hostname - string - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false) - O nome do host do dispositivo de autenticação.


    →authentication_ip - string - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false) - O endereço IP do dispositivo de autenticação.

Exemplo de requisição

POST {{url}}/api/pam/credential

{
    "username": "exemplo caderno 3.32",
    "hostname": "API-Testing",
    "ip": "128.0.0.1",
    "session_settings": 
        {
            "SSH": true,
            "Telnet": true,
            "MySQL": true,
            "SQL Server": true,
            "HTTP": true,
            "HTTPS": true,
            "RDP": true,
            "X11 Forward": true,
            "VNC": true,
            "restrict_access_to_remote_application": true,
            "macros": 
            [
                {
                    "remote_app": "MySQL",
                    "connectivity": "SSH"
                },
                {
                    "remote_app": "Kaspersky",
                    "connectivity": "RDP"
                }
            ],
            "use_own_credential_to_connect": false,
            "authentication_credential": "cred2",
            "authentication_hostname": "gmail",
            "authentication_ip": "https://www.gmail.com"
        }
}

Configurações adicionais

Configurações para implementar mecanismos de autenticação da credencial, como TOTP, e designação do usuário dono da credencial, entre outros.

Parâmetros de requisição

Envie os parâmetros que deseja atualizar no body da requisição.

additional_settings - array de objects - Lista com as configurações adicionais da credencial


    →identifier - string - Identificador da credencial. Usado para recuperar a credencial via Webservice (A2A).


    →user_credential_owner - string - Usuário dono da credencial.


    →server_path - string - Caminho de localização do script ou arquivo onde a credencial está armazenada.


    →secret_key - string - A secret key (TOTP) associada à credencial.


    →criticality - string - O nível de criticidade da credencial. Os valores possíveis são low, medium e high.    Valor padrão da nova credencial: medium


    →additional_authentication_fields - array de objects - Campos adicionais de autenticação. Dados da automação macro contendo name, short_name e value.


          →name - string - Nome da autenticação adicional.


          →short_name - string - Nome curto ou abreviação da autenticação adicional.


          →value - string - O valor a ser preenchido durante o processo de autenticação adicional


    →notes - string - Observações gerais sobre a credencial    Exemplo: Credential to be used only in network A.

Exemplo de requisição

POST {{url}}/api/pam/credential

{
    "username": "exemplo caderno 3.32",
    "hostname": "API-Testing",
    "ip": "128.0.0.1",
    "additional_settings": [
        {
            "identifier": "identifer",
            "user_credential_owner": "admin",
            "server_path": "/etc/host",
            "secret_key": "295B3LA1M6LRAHI2S7G1A36LMK6I4IWW",
            "criticality": "High",
            "additional_authentication_fields": [
                {
                    "name": "name",
                    "short_name": "short_name1",
                    "value": "Enable"
                },
                {
                    "name": "name2",
                    "short_name": "short_name2",
                    "value": "value"
                }
            ]
        }
    ],
    "notes": "Credential to be used only in network A"
}

Configurações JIT

Configurações JIT (Just-in-Time) são implementadas para gerenciar o tempo de utilização de serviços, especialmente em contextos onde é necessário conceder acesso temporário para a realização de ações específicas. Isso é frequentemente aplicado em situações como criação de contas, ativação de serviços ou adição de permissões temporárias para executar determinadas ações.

As credenciais JIT são empregadas para iniciar sessões em dispositivos localizados em redes segregadas. Essas credenciais são acessíveis via Web Proxy, Terminal Proxy e RDP Proxy, garantindo acesso seguro e temporário aos recursos necessários.

Você pode implementar as configurações JIT ao criar uma credencial para os seguintes cenários:

  • Criação e remoção de uma credencial mediante inicialização e finalização de uma sessão Proxy.
  • Ativação e desativação de uma credencial mediante inicialização e finalização de uma sessão Proxy.

Criar e remover uma credencial mediante inicialização e finalização de uma sessão Proxy

Parâmetros de requisição

Envie os parâmetros que deseja atualizar no body da requisição.

jit_settings - object - Dados das configurações Just-in-Time para criação e remoção de credencial mediante inicialização e finalização de uma sessão Proxy.


    →jit - boolean - Habilita ou desabilita as configurações Just-in-Time.


    →credential_creation_and_deletion - boolean - Indica a criação da credencial mediante solicitação de inicialização da sessão Proxy, e remoção da credencial após o término da sessão.


    →use_own_credential_to_connect - boolean - Habilita ou desabilita o uso da própria credencial para conectar.


    →authentication_credential - boolean - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false) - A credencial de autenticação.


    →authentication_hostname - boolean - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false) - O nome do host do dispositivo de autenticação.


    →authentication_ip - boolean - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false) - O endereço IP do dispositivo de autenticação.


    →credential_creation_plugin - string - O plugin de criação da credencial.    Nota: esse campo deve ser preenchido com um plugin existente e já cadastrado no senhasegura.


    →credential_creation_template - string - O template de criação da credencial.    Nota: esse campo deve ser preenchido com um template existente e já cadastrado no senhasegura.


    →credential_deletion_plugin - string - O plugin de remoção da credencial.    Nota: esse campo deve ser preenchido com um plugin existente e já cadastrado no senhasegura.


    →credential_deletion_template - string - O template de remoção da credencial.    Nota: esse campo deve ser preenchido com um template existente e já cadastrado no senhasegura.


Exemplo de requisição

POST {{url}}/api/pam/credential

{
  "username": "API_CREDENTIAL_3",
  "hostname": "API_DEVICE_1",
  "ip": "localhost",
  "jit_settings": {
    "jit": true,
    "credential_creation_and_deletion": true,
    "enable_disable_credential": false,
    "use_own_credential_to_connect": false,
    "authentication_credential": "API_CREDENTIAL_1",
    "authentication_hostname": "API_DEVICE_1",
    "authentication_ip": "localhost",
    "credential_creation_plugin": "SSH",
    "credential_creation_template": "Linux - Create User",
    "credential_deletion_plugin": "SSH",
    "credential_deletion_template": "Linux - Remove User"
  }
}

Ativar e desativar uma credencial mediante inicialização e finalização de uma sessão Proxy

Parâmetros de requisição

Envie os parâmetros que deseja atualizar no body da requisição.

jit_settings - object - Dados das configurações Just-in-Time para ativação e desativação de credencial mediante inicialização e finalização de uma sessão Proxy.


    →jit - boolean - Habilita ou desabilita as configurações Just-in-Time.


    →enable_disable_credential - boolean - Habilita a credencial mediante solicitação de inicialização da sessão Proxy, e desativa a credencial após o término da sessão.


    →use_own_credential_to_connect - boolean - Habilita ou desabilita o uso da própria credencial para conectar.


    →authentication_credential - string - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false ) - A credencial de autenticação.


    →authentication_hostname - string - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false ) - O nome do host do dispositivo de autenticação.


    →authentication_ip - string - obrigatório (quando valor do parâmetro use_own_credential_to_connect for false ) - O endereço IP do dispositivo de autenticação.


    →credential_enable_plugin - string - O plugin de habilitação da credencial.    Nota: esse campo deve ser preenchido com um plugin existente e já cadastrado no senhasegura.


    →credential_enable_template - string - O template de habilitação da credencial.    Nota: esse campo deve ser preenchido com um template existente e já cadastrado no senhasegura.


    →credential_disable_plugin - string - O plugin de desativação da credencial.    Nota: esse campo deve ser preenchido com um plugin existente e já cadastrado no senhasegura.


    →credential_disable_template - string - O template de desativação da credencial.    Nota: esse campo deve ser preenchido com um template existente e já cadastrado no senhasegura.

Exemplo de requisição

POST {{url}}/api/pam/credential

{
  "username": "API_CREDENTIAL_3",
  "hostname": "API_DEVICE_1",
  "ip": "localhost",
  "jit_settings": {
    "jit": true,
    "enable_disable_credential": true,
    "use_own_credential_to_connect": true,
    "authentication_credential": "API_CREDENTIAL_1",
    "authentication_hostname": "API_DEVICE_1",
    "authentication_ip": "localhost",
    "credential_enable_plugin": "LDAP",
    "credential_enable_template": "AD - Activate User",
    "credential_disable_plugin": "LDAP",
    "credential_disable_template": "AD - Deactivate User"
  }
}

Erros

400 - Bad Request

Mensagem: "1004: The device's hostname was not informed"

Possível causa: o parâmetro obrigatório hostname do dispositivo não foi informado.

Solução: informe o hostname do dispositivo e envie a requisição novamente.

Mensagem: "1005: The device's IP was not informed"

Possível causa: o parâmetro obrigatório ip do dispositivo não foi informado.

Solução: informe o ip do dispositivo e envie a requisição novamente.

Mensagem: "1011: Device not found"

Possível causa: o dispositivo não foi encontrado.

Solução: informe um dispositivo existente e envie a requisição novamente.

Mensagem: "1029: It is not possible to enter a domain that has not been previously registered"

Possível causa: o device_domain não existe ou a formatação enviada está incorreta.

Solução: Envie um valor existente para o device_domain ou, caso esteja enviando mais de um device_domain, lembre-se de não adicionar espaço entre as vírgulas. Exemplo: qakm.lab.mt4.dev,my_device_domain


Mensagem: "1039: Without PAM Configuration Access permission"

Possível causa: sua autorização não possui permissão de alteração de credencial.

Solução: solicite ao administrador que revise sua permissão de leitura e escrita aos recursos do PAM Core no A2A.


Mensagem: "1042: Invalid username"

Possível causa: o parâmetro obrigatório username não foi enviado.

Solução: insira o parâmetro username e envie a requisição novamente. Não é necessário preencher com um valor, mas é necessário enviar o parâmetro.


Mensagem: "1046: Plugin not informed"

Possível causa: o plugin não foi informado.

Solução: informe um valor para o plugin de criação, remoção, ativação ou desativação da credencial. Esse plugin deve ser existente e estar cadastrado no senhasegura.


Mensagem: "1047: Template plugin not informed"

Possível causa: o template não foi informado.

Solução: informe um valor para o template de criação, remoção, ativação ou desativação da credencial. Esse template deve ser existente e estar cadastrado no senhasegura.


500 - Internal Server Error

Possível causa: o erro está no servidor senhasegura.

Solução: contate o time de suporte para mais informações.


Client authentication failed

Mensagem: "Client authentication failed."

Possível causa: falha na autenticação da sua aplicação com o servidor senhasegura.

Solução: verifique os parâmetros de autenticação como Access Token URL, Client ID e Client secret e solicite um novo token de acesso.


Invalid signature

Mensagem: "Invalid signature"

Possível causa: falha no reconhecimento da URL da aplicação cliente.

Solução: verifique a URL da aplicação cliente e envie a requisição novamente.


No route matched with those values

Mensagem: "No route matched with those values."

Possível causa: ausência do header de autorização na requisição de API.

Solução: solicite um novo token de acesso.


Request timed out

Mensagem: "Request timed out."

Possível causa: o tempo da requisição se esgotou.

Solução: verifique a conectividade entre a origem da requisição e o servidor senhasegura.


Este artigo foi útil?