Criar ou atualizar uma credencial
  • 11 minutos de leitura
  • Tema escuro
    Tema claro
  • Pdf

Criar ou atualizar uma credencial

  • Tema escuro
    Tema claro
  • Pdf

Resumo do artigo

Este documento apresenta como criar ou atualizar uma credencial no PAM Core via API, via API, os endpoints disponíveis, os parâmetros necessários, exemplos de requisições e respostas em caso de sucesso ou em caso de erros.

Métodos

POST Criar ou atualizar uma credencial

Requisição

Para criar ou atualizar uma credencial no PAM Core, envie uma requisição para o seguinte endpoint:

/iso/pam/credential

Alerta!

Caso esteja usando o A2A para criar uma credencial e o dispositivo correspondente não exista, você precisará primeiro criar um dispositivo. Para mais informações, acesse o documento sobre criação de dispositivo.

Parâmetros de requisição

Body

CampoTipoObrigatórioDescriçãoExemplo
identifierStringNão (ao criar uma credencial). Sim (ao atualizar uma credencial). Nota: vá até a seção Opções de gerenciamento de credenciais para mais detalhes.String única definida pelo usuário para identificar a credencial.123
usernameStringSimUsername designado à credencial.my_user
contentStringNãoSenha designada à credencial.MyPrettyPassword@1234
additionalStringNãoInformações adicionais.DATABASE
tagsStringNãoTags associadas à credencial.api, app
credential_typeStringNãoTipo de credencial. Um novo tipo é criado caso o valor passado seja único.Domain User Local User
domainStringNãoNome de domínio ou abreviação. Apenas domínios previamente registrados são aceitos.senhasegura.lab
parent_passwordIntNãoID da credencial pai.123
hostnameStringSimNome do dispositivo.localhost
ipStringSimEndereço IP do dispositivo.127.0.0.1
typeStringNãoTipo de disp ositivo. Um novo tipo é criado caso o valor passado seja único.Server
vendorStringNãoFornecedor associado ao dispositivo. Um novo fornecedor é criado caso o valor passado seja único.Debian
modelStringNãoModelo do dispositivo. Um novo modelo é criado caso o valor passado seja único.10.0 Buster
siteStringNãoSite do dispositivo. Um novo site é criado caso o valor passado seja único.Default
device_domainStringNãoNome de domínio do dispositivo ou abreviação. Apenas domínios previamente registrados são aceitos.senhasegura.lab
device_tagsStringNãoTags associadas ao dispositivo.api, app
connectivitiesStringNãoConectividade do dispositivo.SSH:22, HTTPS:443
session_remote_configStringNãoExpressão de login.SSH:EXPECT:FILL

Opções de gerenciamento de credenciais

Após enviar a requisição, você pode optar por criar ou atualizar uma credencial registrada no PAM Core escolhendo entre preencher o parâmetro identifier ou os parâmetros hostname, ip e username.

Info

Antes de continuar, saiba que os termos válido e inválido no contexto deste documento significam:

  • válido - um valor que foi previamente atribuído a uma credencial.
  • inválido - um valor que não foi previamente atribuído a uma credencial.

Preencha o parâmetro identifier

Ao fornecer um valor para o identifier, preste atenção ao seguinte:

  • O parâmetro identifier tem precedência sobre o username da credencial. Isso significa que se você fornecer um identifier ao criar a credencial, você pode atualizar o username da credencial em uma chamada subsequente.
  • Forneça um hostname e ip válidos.
  • Ao atualizar a credencial, se o identifier fornecido for inválido, o sistema procurará a credencial usando suas informações de hostname, ip e username.
  • Se a credencial for encontrada, ela será atualizada com todos os parâmetros fornecidos, incluindo o identifier.
  • Se a credencial não for encontrada, uma nova será criada com base nos parâmetros fornecidos.

Criar uma credencial com um identifier inválido

Ao fornecer um identifier inválido, o sistema buscará pela credencial usando suas informações de hostname, ip e username. Caso essas informações não sejam encontradas, a credencial será criada.

Exemplo de requisição

{
    "`username`" : "jhoncredential",
    "`hostname`": "Linkedin",   
    "`ip`": "linkedin.com",
    "content": "vfdvds##@",
    "tags": "social",
    "`identifier`": "`identifier`jhon"
}

Retorno

Cria uma credencial no PAM Core e retorna uma mensagem com informações sobre o processo de criação.

Resposta esperada

{
    "code": 201,
    "response": {
        "status": 201,
        "message": "Credential successfully registered!",
        "error": false,
        "error_code": 0,
        "detail": "",
        "mensagem": "Credential successfully registered!",
        "erro": false,
        "cod_erro": 0
    },
    "credential": {
        "id": "115",
        "tag": null
    }
}

Atualizar uma credencial com um identifier válido

Ao fornecer um identifier válido, a credencial é atualizada com base nos demais parâmetros fornecidos.

Exemplo de requisição

{
    "`username`" : "cred6updatetest",
    "`hostname`": "Linkedin",   
    "`ip`": "linkedin.com" ,
    "`identifier`": "`identifier`testing",
    "content": "bfgbdfbdsd#@"
}

Retorno

Atualiza uma credencial no PAM Core com base em seu identifier e retorna uma mensagem com informações sobre o processo de atualização.

Resposta esperada

{
    "code": 201,
    "response": {
        "status": 201,
        "message": "Credential updated successfully!",
        "error": false,
        "error_code": 0,
        "detail": "",
        "mensagem": "Credential updated successfully!",
        "erro": false,
        "cod_erro": 0
    },
    "credential": {
        "id": "114",
        "tag": "`identifier`jhon"
    }
}

Atualizar uma credencial com um identifier inválido

Ao fornecer um identifier inválido, o sistema buscará pela credencial usando suas informações de hostname, ip e username. Caso essas informações sejam encontradas, a credencial será atualizada.

Exemplo de requisição

{
    "username" : "[email protected]",
    "hostname": "Outlook",
    "ip": "login.live.com" ,
    "`identifier`": "`identifier`testing"
}


Retorno

Atualiza as informações de uma credencial no PAM Core com base em seu hostname, ip e username e retorna uma mensagem com informações sobre o processo de atualização.

Resposta esperada

{
    "code": 201,
    "response": {
        "status": 201,
        "message": "Credential updated successfully!",
        "error": false,
        "error_code": 0,
        "detail": "",
        "mensagem": "Credential updated successfully!",
        "erro": false,
        "cod_erro": 0
    },
    "credential": {
        "id": "114",
        "tag": "`identifier`jhon-Updated-identifier"
    }
}


Em caso de erro - parâmetro obrigatório ausente

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
    }
}

Preencha os parâmetros hostname, ip e username

  • Ao criar uma credencial, caso você não forneça um identifier , será necessário fornecer um hostname, um ip e um username para a credencial.

  • O hostname e o ip devem ser válidos.

  • Se um username válido for fornecido , a credencial será atualizada.

  • Se o username fornecido for inválido, uma nova credencial será criada.

Se você atribuir um identifier único à credencial durante sua criação, poderá usá-lo para atualizar a credencial em uma chamada subsequente.

Criar uma credencial com um username inválido

Ao fornecer um username inválido, a credencial será criada com com base nos demais parâmetros fornecidos.

Exemplo de requisição

{
    "`hostname`": "gmail",
    "`username`": "cred9",
    "`ip`": "https://www.gmail.com",
    "`identifier`": "`identifier`2",
    "additional": "info editada"
}

Retorno

Cria uma credencial no PAM Core e retorna uma mensagem com informações sobre o processo de criação.

Resposta esperada

{
    "code": 201,
    "response": {
        "status": 201,
        "message": "Credential successfully registered!",
        "error": false,
        "error_code": 0,
        "detail": "",
        "mensagem": "Credential successfully registered!",
        "erro": false,
        "cod_erro": 0
    },
    "credential": {
        "id": "115",
        "tag": null
    }
}

Atualizar uma credencial com um username válido

Ao fornecer um username que já está atribuído a uma credencial, a credencial é atualizada com base nos demais parâmetros fornecidos.

{
    "username" : "cred9",
    "hostname": "Facebook",   
    "ip": "facebook.com",
    "content": "updating-my-password",
    "tags": "face, social, updated"
}

Retorno

Atualiza as informações de uma credencial no PAM Core com base em seu username e retorna uma mensagem com informações sobre o processo de atualização.

Resposta esperada

{
    "code": 201,
    "response": {
        "status": 201,
        "message": "Credential updated successfully!",
        "error": false,
        "error_code": 0,
        "detail": "",
        "mensagem": "Credential updated successfully!",
        "erro": false,
        "cod_erro": 0
    },
    "credential": {
        "id": "115",
        "tag": null
    }
}

Em caso de erro - parâmetro obrigatório ausente

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
    }
}

Outros parâmetros da credencial

Você também pode configurar uma credencial adicionando outros parâmetros disponíveis nas abas:

  • Configurações de execução.
  • Configurações de sessão.
  • Configurações adicionais.
  • Configurações JIT.

Configurações de execução

Parâmetros do corpo da requisição

CampoTipoObrigatórioDescriçãoExemplo
parent_credentialStringNãoCredencial pai selecionada para a credencial editada.my_user
parent_hostnameIntNãohostname para a credencial pai selecionada.gmail
parent_ipIntNãoip do dispositivo para a credencial pai selecionada.10.10.10.10
automatic_changeBooleanNãoHabilita ou disabilita mudanças automáticas.true, false
agent_based_password_changeBooleanNãoHabilita ou desabilita mudança de senha agent-based.true, false
change_pluginStringNãoPlugin de mudança para ser usada ao rotacionar a credencial.SSH
change_templateStringNãoTemplate de mudança para rotação da credencial.3COM
use_own_credential_to_connectBooleanNãoHabilita ou desabilita o uso da própria credencial para conexão.true, false
authentication_credentialStringNãoCredencial usada para autenticação durante o processo de rotação da credencial.cred2
authentication_hostnameStringNãoO hostname de autenticação.gmail
authentication_ipStringNãoO endereço de ip de autenticação.https://www.gmail.com
statusBooleanNãoHabilita ou desabilita reconciliação de credencial após falha de rotação.true, false
reconciliation_credentialStringNãoCredencial a ser usada no processo de reconciliação.cred2
reconciliation_hostnameStringNãoO hostname de reconciliação.gmail
reconciliation_ipStringNãoO endereço ip de reconciliação.https://www.gmail.com
reconciliation_pluginStringNãoO plugin de execução para o processo de reconciliação da credencial.SSH
reconciliation_templateStringNãoTemplate para o processo de reconciliação da credencial.3COM

Exemplo de requisição

{
    "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

Parâmetros do corpo da requisição

CampoTipoObrigatórioDescriçãoExemploNovo valor da credencial
SSHBooleanNãoHabilita ou desabilita o protocolo SSH.truefalse
TelnetBooleanNãoHabilita ou desabilita o protocolo Telnet.truefalse
MySQLBooleanNãoHabilita ou desabilita a conexão MySQL.truefalse
SQL ServerBooleanNãoHabilita ou desabilita a conexão SQL Server.truefalse
HTTPBooleanNãoHabilita ou desabilita o protocolo HTTP.truefalse
HTTPSBooleanNãoHabilita ou desabilita o protocolo HTTPS.truefalse
RDPBooleanNãoHabilita ou desabilita o protocolo RDP.truefalse
X11 ForwardBooleanNãoHabilita ou desabilita o X11 Forward.truefalse
VNCBooleanNãoHabilita ou desabilita a conexão via VNC.truefalse
restrict_access_to_remote_applicationBooleanNãoHabilita ou desabilita o acesso restrito à aplicação remota.truefalse
macrosArray of objectsNãoAutomação macro para RemoteApp.--
remote_appStringNãoAutomação RemoteApp associada à credencial.MySQL-
connectivityStringNãoConectividade para automação RemoteApp associada à credencial.SSH-
use_own_credential_to_connectBooleanNãoHabilita ou desabilita o uso da própria credencial para conexão.falsetrue
authentication_credentialStringNãoA credencial de autenticação.cred2-
authentication_hostnameStringNãoO hostname de autenticação.gmail-
authentication_ipStringNãoO endereço IP de autenticação.https://www.gmail.com-

Exemplo de requisição

{
    "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

Parâmetros de corpo requisição

Aqui está a tabela em Markdown, com uma coluna vazia entre "Campo" e "Tipo", e os valores da coluna "Campo" em um bloco de código:

CampoTipoObrigatórioDescriçãoExemploNovo valor padrão da credencial
identifierStringNãoIdentificador da credencial. Usado para recuperar a credencial via Webservice (A2A).identifier-
user_credential_ownerStringNãoUsuário dono da credencial.admin-
server_pathStringNãoCaminho de localização do script ou arquivo onde a credencial está armazenada./etc/host-
secret_keyStringNãoA secret key (TOTP).295B3LA1M6LRAHI2S7G1A36LMK6I4IWW-
criticalityStringNãoO nível de criticidade. Os valores possíveis são Baixo, Médio e Alto.HighMedium
additional_authentication_fieldsArray of objectsNãoLista de campos adicionais de autenticação.--
nameStringNãoNome da autenticação adicional.name-
short_nameStringNãoNome curto da autenticação adicional.short_name1-
valueStringNãoO valor a ser preenchido durante o processo de autenticação adicional.Enable-
notesStringNãoObservações gerais sobre a credencial.Credential to be used only in network A.-

Exemplo de requisição

{
    "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

Parâmetros do corpo da requisição

CampoTipoObrigatórioDescriçãoExemploNovo valor padrão da credencial
jitBooleanNãoHabilita ou desabilita as configurações Just-in-Time.falsefalse
credential_creation_and_deletionBooleanNãoHabilita ou desabilita a criação e deleção das credenciais.true-
enable_disable_credentialBooleanNãoHabilita ou desabilita a credencial.false-
use_own_credential_to_connectBooleanNãoHabilita ou desabilita o uso da própria credencial para conectar.falsetrue
authentication_credentialStringNãoA credencial de autenticação.cred2-
authentication_hostnameStringNãoO hostname de autenticação.gmail-
authentication_ipStringNãoO endereço ip de autenticação.https://www.gmail.com-
credential_creation_pluginStringNãoO plugin de autenticação da credencial.Windows RM-
credential_creation_templateStringNãoO template de autenticação da credencial.Create credential Windows server.-
credential_deletion_pluginStringNãoO plugin de deleção da credencial.Windows RM-
credential_deletion_templateStringNãoO template de deleção da credencial.Delete credential Windows server.-
credential_enable_pluginStringNãoO plugin de habilitação da credencial.Windows RM-
credential_enable_templateStringNãoO template de habilitação da credencial.Enable credential Windows server.-
credential_disable_pluginStringNãoO plugin de disabilitação da credencial.Windows RM-
credential_disable_templateStringNãoO template de disabilitação da credencial.Disable credential Windows server.-

Exemplo de requisição


{
    "username": "exemplo caderno 3.32",
    "hostname": "API-Testing",
    "ip": "128.0.0.1",
    "jit_settings": 
        {
            "jit": false,
            "credential_creation_and_deletion": true,
            "enable_disable_credential": false,
            "use_own_credential_to_connect": false,
            "authentication_credential": "cred2",
            "authentication_hostname": "gmail",
            "authentication_ip": "https://www.gmail.com",
            "credential_creation_plugin": "Windows RM",
            "credential_creation_template": "Create credential Windows server",
            "credential_deletion_plugin": "Windows RM",
            "credential_deletion_template": "Delete credential Windows server",
            "credential_enable_plugin": "Windows RM",
            "credential_enable_template": "Enable credential Windows server",
            "credential_disable_plugin": "Windows RM",
            "credential_disable_template": "Disable credential Windows server"
        }
}

Erros possíveis

Aqui está uma lista com códigos de erro HTTP e suas descrições:

  • 1004: Missing device's hostname (Hostname do dispositivo ausente).
  • 1005: Missing device's ip address (Endereço ip do dispositivo ausente).
  • 1007: Credential not found (Credencial não encontrada).
  • 1009: No access to credential. (Sem acesso à credencial).

Este artigo foi útil?