Pular para o conteúdo principal
Version: 3.23

A2A (App to App) Integration

Integração via Webservice

A API de integração do senhasegura permite outras aplicações a criar, consultar, modificar e inativar credenciais, chaves, usuários e suas permissões e outras informações protegidas via webservices. O webservices segue uma arquitetura REST e utiliza autenticação pelo método OAuth v2.0.

Cada requisição ao serviço é registrada com a data, tempo, IP de origem, e identificação de qual aplicação cliente API. Dados sensíveis como senhas e chaves, serão removidas desta mensagem de log1.

Cada acesso proveniente de aplicação cliente é controlada, em adição ao método de autenticação OAuth v1.0, pelo IP do requisitante.

Cada cliente tem acesso apenas as credenciais registradas por ele próprio ou direcionada através de configuração na aplicação.

Senhas podem ser Credenciais para acesso a Dispositivos como servidores e roteadores, tanto quanto chaves RSA utilizadas para acesso SSH. Senhas são automaticamente alteradas pela aplicação conforme as políticas configuradas.

Informação protegida é um tipo de informação que não é alterada pelo senhasegura . Pode ser utilizado para armazenar informações sensíveis como as chaves de certificados SSH ou chaves de API.

Uso de requisições padrão

Cada requisição no WebService A2A deve ter o OAuth Consumer Key e o OAuth Token do cliente. Desta forma, cada URI de requisição apresenta-se aproximadamente como seguinte exemplo:

https://senhasegura/iso/*MODULO*/*FUNCAO* 
  • MODULO: Módulo senhasegura WebService A2A

  • FUNCAO: Função do módulo

A partir deste ponto, você deve entender qual método de autenticação irá usar.

Sem autenticação OAuth

caution

Este método não é recomendado pelo senhasegura . Evite-o se o OAuth v2.0 puder ser usado.

Cada solicitação no WebService A2A deve ter o cliente OAuth Consumer Key e o cliente OAuth Token. Por esta via, cada pedido URI se parece com o seguinte exemplo.

https://senhasegura/iso/*MODULO*/*FUNCAO*?oauth_consumer_key=*KEY*& oauth_token=*TOKEN* 
  • MODULO: Módulo senhasegura WebService A2A

  • FUNCAO: Função do módulo

  • KEY: OAuth Key do cliente

  • TOKEN: OAuth Token do cliente

caution

Quando utilizado o método GET, não esqueça de adicionar oauth_consumer_key e oauth_token antes dos demais argumentos. Quando utilizado o método POST, ambos parâmetros deve estar preenchidos na URL como se faz nos métodos GET.

Usando autenticação OAuth v1.0

caution

Este método não é recomendado pelo senhasegura . Evite-o se o OAuth v2.0 puder ser usado.

Usando OAuth v1.0, certifique-se de que oauth_signature_method usado é HMAC-SHA1 e oauth_version está definido para 1.0.

oauth_timestamp, oauth_nonce e oauth_signature são obrigatórios.

Você pode encontrar a especificação completa sobre o OAuth v1.0 no RFC 58492

Usando autenticação OAuth v2.0

Usando OAuth v2.0, o seu pedido deve renovar o token de autorização quando este expirar. Por padrão, o senhasegura criará este token válido por um dia.

Usando a Client Key e Client Secret registrados e aprovados, solicite um novo token para o WebService A2A usando o seguinte URI:

[POST https://senhasegura/iso/oauth2/token](POST https://senhasegura/iso/oauth2/token){.uri}

Esta solicitação deve ter o cabeçalho Autorização Básica. Veja a seção "Autenticação de Cliente" no RFC 67493 para entender melhor.

A sua aplicação receberá um dicionário JSON semelhante ao exemplo a seguir:

{
"token_type": "Bearer",
"expires_in": 3600,
"access_token": "
eyJ0eXAiOiJKV1QiL0IjoxNTgwNDM2NTk4LCJuYmYiOjE1ODA0MzY1OTgsImV4cCI
6MTU4MDQ0MDE5OCwic3ViIjoiTVRNeE1qQWtTRGRPUVRWV1ozcEVSI6Ijg0OWYwZm
VhNDI0ZDc5NWUwYTg2MjVlMTdiZWE2YTAyNTQyMzAxNjQzYmRmYTc5ZjYzZDNhM2U
3ZmI5ZjQzbGCJhjg0OWYwZmVhNDI0ZDc5NWUwYTg2MjVlMTdiZWE2YTAyNTQyMzAx
NjQzYmRmYTc5ZjYzZDNhM2U3ZmI5ZjQzYmM2MjRhYzg5YmVhMzFhOGQwIiwiaWFci
OiJSUzI1NiIsImp0ahYzg5YmVhMzFhOGQwIn0.eyJhdWQiOiIzY2E4YTk4ZDkwNzU
0MzgxMjMzNGY3ZjVkYmFmY2E2NTA1ZTMzMTlmYiIsImp0aSI6IYmM2MjRTRzB6ZFZ
ONlZXVXhhVWN2Y1RKdFRXNTVhM05sZGtOd1JHeHllbXR5VEV3eE5EMD0iLCJzY29w
ZXMiOltdfQ.efqHZdlij6sQcj_l9RbNNKxDbf81CbIoTFwdIkooT5bK14N5iUazrT
8jpB_JsgQdQ8RyD5xF_ReKSj4Al7hp1uRXIiuErlKv1FpxY9oNC44kldlumjyevu8
7GJ0qzem0RYNc3930UbT-XEYqnQijg0se8_GdzdLkxyMn0kxApkAkv-to9EUdbbrv
vno_pmqiZGyamw6J2BL1aCqwne3S8CCG34TXRyJyqkGrPrDO-NPi2fj25PRbX8Ci1
iIqXdYvEkefg-g-i0A_Hp9E3s585c5wqxreSBAIwiaGtnTkxw0D14JPzqWf48hbvV
RPGMj_-KXJTnu-zXkkEPNYs8oWpA"
}

Reserve o access_token. Ele deve ser usado em cada próxima chamada de método. Preencha o cabeçalho da solicitação Autorização com o token_type e os valores access_token. Você pode verificar a RFC 6749 "Tipos de Token de Acesso" para mais detalhes.

Provisionando uma nova aplicação

Para o acesso a credenciais por parte de aplicações, de forma separada, dos usuários comuns, o senhasegura possui a funcionalidade A2A onde cada aplicação terá seu próprio grupo de acesso. Também implementando o princípio do privilégio único onde um aplicativo não terá acesso às mesmas informações que outro aplicativo.

info

É possível vincular dispositivos e/ou informações protegidas a uma autorização WebService A2A .

Para realizar um provisionamento siga as instruções:

  1. Acesse o menu A2A ➔ Aplicações e clique no botão de ação do relatório, escolha a opção Novo

  2. No formulário insira o nome da aplicação que será provisionada e o tipo de assinatura que usará no campo *Utilizar assinatura OAuth**

  3. Indique se esta aplicação estará Ativa para uso

  4. Se desejar insira Tags de identificação e uma Descrição sobre a aplicação.

  5. Clique em Salvar

Formulário de Aplicação

Com a configuração realizada aguarde a tela ser atualizada ou use o botão de atualização localizado na barra superior do relatório. Quando a aplicação criada estiver disponível no relatório clique no botão de ação respectivo e escolha a opção Autorizações. Neste formulário você irá definir quais credenciais a aplicação criada terá permissão de acesso, preencha as informações

  1. Selecione o Sistema e o Ambiente que a aplicação acessará

  2. Em seguida indique as credenciais que a aplicação terá acesso no campo Credencial de acesso e clique no botão Adicionar, realize esse processo para todas as credenciais que desejar incluir. Você também pode selecionar a caixa Cadastrar uma nova credencial no cofre para indicar uma credencial que ainda não esteja cadastrada no senhasegura , mas para isso será necessário selecionar o dispositivo, que já deve estar cadastrado no sistema, em que esta credencial concede acesso, em seguida indique o username e senha da credencial. Clique no botão Adicionar, realize esse processo para todas as credenciais que desejar incluir. As credenciais e os respectivos dispositivos, que a aplicação terá acesso serão listados na tabela abaixo.

  3. Siga para a aba Segurança

  4. Indique quais recursos a aplicação terá acesso:

    • PAM: Provisionamento e consulta de credenciais, chaves SSH e demais informações protegidas do módulo PAM.

    • Certificados: Requisições, consulta, assinatura e demais atividades do módulo Certificate Manager

    • Task Manager: Criação e alteração de atividades do módulo Task Manager

    • Dashboards: Conhecimento e consumo dos dados impressos nos dashboards.

    • A2A: Consulta e cadastro de aplicações A2A.

  5. Determine o tipo de nível de interação das aplicações clientes com os módulos do senhasegura no campo Permissão do recurso PAM.

    caution

    Esse campo é apenas obrigatório caso você tenha selecionado o módulo PAM no campo Recursos customizados

    É importante lembrar que se a configuração concede permissão apenas de leitura os usuário não poderão tentar realizar uma alteração, caso isso ocorra o seguinte erro será exibido:

    {
    "response": {
    "status": 400,
    "mensagem": "1039: Without PAM Configuration Access permission",
    "erro": true,
    "message": "1039: Without PAM Configuration Access permission",
    "error": true
    },
    "exception": {
    "code": 1039,
    "message": "1039: Without PAM Configuration Access permission",
    "detail": ""
    }
    }
  6. No campo *Ativar a criptografia de informações sensíveis?** indique se uma criptografia adicional será utilizada para o acesso da aplicação.

  7. Em seguida no campo IPs Permitidos você poderá indicar partindo de quais IP's a aplicação poderá realizar o acesso. Para isso clique no botão com ícone de adição e insira os endereços. Utilize o caractere curinga "*" para cadastrar seguimentos de rede.

  8. No campo Referers permitidos você poderá determinar que apenas os refereres com o conteúdo indicado será permitido. Para isso clique no botão com ícone de adição e insira os conteúdos permitidos.

  9. No campo Validação de certificados será possível vincular um fingerprint de certificado SSL a autorização.

    Se estiver vinculado, o senhasegura irá validar a CA do certificado SSL do cliente a cada processo de autenticação com certificados.

    caution

    O uso do certificado não substitui a validação dos outros métodos, o certificado será usado em conjunto com o OAuth 1 ou 2.

    Desta forma além da autenticação com OAuth o usuário tem que enviar o certificado e a chave como no exemplo:

    curl --cert /path/to/certificate.crt --key /path/to/certificate.key 
    --connect-timeout 5 -s --show-error --fail -X POST
    -d ${POSTDATA}
    "${SENHASEGURA_URL}/iso/oauth2/token"
  10. Para finalizar clique em Salvar.

Formulário de Autorização da aplicação

De volta ao relatório clique novamente no botão de ação da aplicação e escolha a opção Autorizações. A autorização recém criada será exibida, clique em seu botão de ação respectivo e escolha a opção Visualizar. Uma tela com o ID do Cliente e Client Secret será exibida, para visualizar cada uma das informacões clique no ícone como na imagem integracao-0005-ptbr.

Visualização de autorizações da aplicação

Autorizações por aplicação

Para poder ver uma lista completa com todas as autorizações por aplicação, acesse o menu A2A ➔ Autorizações por aplicação. Nesta tela, além de poder visualizar os detalhes de cada autorização por aplicação, também é possível editar uma autorização já existente e criar uma nova.

caution

A tela só irá mostrar as autorizações de aplicações que já foram criadas e salvas com sucesso.

info

Recomendamos o uso desta tela para facilitar a visualização de todas as autorizações por aplicação em um só lugar, evitando a necessidade de ter que entrar em cada aplicação separadamente para que assim seja possível visualizar respectivas autorizações.