- 16 minutos de leitura
- Imprimir
- Tema escuroTema claro
- Pdf
POST | Atualizar credencial
- 16 minutos de leitura
- Imprimir
- Tema escuroTema claro
- Pdf
Atualize uma credencial no PAM Core.
Requisitos
- Autotrização com permissão de acesso e de leitura e escrita ao PAM Core concedidas pelo administrador no A2A.
Acesse o documento sobre Como criar uma autorização para uma aplicação para mais informações. - Credencial criada no PAM Core.
Acesse o documento POST | Criar credencial para mais informações.
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 - String única definida pelo usuário ou pelo senhasegura para identificar a credencial.
Nota1: obrigatório somente na atualização do username
.
Nota2: esse valor é criado em POST | Criar credencial e é obtido na resposta da requisição GET | Listar todas as credenciais
Exemplo: 018fe9a6_541d_7380_99b6_56051b71a475
Utilize apenas letras (a-z, A-Z), números (0-9), e os caracteres underscore (_), hífen (-) e ponto final (.) na atualização do identifier
. O uso de outros caracteres especiais resultará em erro.
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 seja único.
Valor padrão da nova credencial: -
vendor
- string - Fabricante do dispositivo.
Nota: um novo fabricante é criado caso o valor seja único.
Valor padrão da nova credencial: -
model
- string - Modelo do dispositivo.
Nota: um novo modelo é criado caso o valor seja único.
Valor padrão da nova credencial: -
site
- string - Localização do dispositivo.
Nota: um novo site é criado caso o valor 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: -
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.
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
eip
existentes. - Envie
identifier
existente ou novo.
Condição | Resultado | ||
---|---|---|---|
identifier existente | A credencial será atualizada com os demais valores enviados. | ||
identifier novo | O sistema buscará a credencial encontrada usando hostname , ip e username | Credencial encontrada | A credencial será atualizada com os demais valores enviados e terá seu identifier alterado. |
Credencial não encontrada | Uma 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
eip
existentes. - Não envie um valor para o
identifier
.
Condição | Resultado |
---|---|
username existente | A credencial será atualizada com os demais valores enviados e o identifier será mantido e retornado no corpo da resposta. |
username novo | Uma 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.false
agent_based_password_change
- boolean - Habilita ou desabilita mudança de senha agent-based.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.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.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": "usernametest",
"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.false
Telnet
- boolean - Habilita ou desabilita o protocolo Telnet.false
MySQL
- boolean - Habilita ou desabilita a conexão MySQL.false
SQL Server
- boolean - Habilita ou desabilita a conexão SQL Server.false
HTTP
- boolean - Habilita ou desabilita o protocolo HTTP.false
HTTPS
- boolean - Habilita ou desabilita a conexão HTTPS.false
RDP
- boolean - Habilita ou desabilita a conexão RDP.false
X11 Forward
- boolean - Habilita ou desabilita o X11 Forward.false
VNC
- boolean - Habilita ou desabilita a conexão via VNC.false
restrict_access_to_remote_application
- boolean - Habilita ou desabilita o acesso restrito a sessões proxy RemoteApp.false
macros
- array of 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.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": "usernametest",
"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 of objects - Lista com as configurações adicionais da credencialidentifier
- 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
.medium
additional_authentication_fields
- array of 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 adicionalnotes
- string - Observações gerais sobre a credencialCredential to be used only in network A.
Exemplo de requisição
POST
{{url}}/api/pam/credential
{
"username": "usernametest",
"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.credential_creation_template
- string - O template de criação da credencial.credential_deletion_plugin
- string - O plugin de remoção da credencial.credential_deletion_template
- string - O template de remoção da credencial.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.credential_enable_template
- string - O template de habilitação da credencial.credential_disable_plugin
- string - O plugin de desativação da credencial.credential_disable_template
- string - O template de desativação da credencial.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.
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.
ip
do dispositivo e envie a requisição novamente.Mensagem: "1011: Device not found"
Possível causa: o dispositivo não foi encontrado.
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.
Mensagem: "1053: O identificador só pode conter letras, números, \ "_ \ “ e \”- \” . “
Possível causa: algum caractere proibido foi utilizado na atualização do identifier
.
Solução: utilize apenas letras, números e os caracteres listados.
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.