Pular para o conteúdo principal
Version: 3.25

Automações

O senhasegura DSM permite a criação de automação para gestão ativa do ciclo de vida das secrets em aplicações como, Kubernetes e serviços de cloud como Google Cloud Manager, Azure Key Vault dentre outros.

As automações são baseadas em triggers, como, a partir da criação ou atualização de uma secret. As triggers são:

  • Criação de uma secret;

  • Atualização de uma secret;

  • Ativação de uma secret;

  • Inativação de uma secret;

  • Criação de uma autorização;

  • Atualização de uma autorização;

  • Ativação de uma autorização;

  • Inativação de uma autorização;

O módulo de automação já conta com diversos conectores pré-definidos para facilitar o uso do recurso, mas novos podem ser facilmente criados a partir de templates.

As automações podem ser utilizadas para - mas não limitadas à estes casos - adicionar, atualizar e excluir secrets:

  • em banco de dados;

  • em arquivos de configuração de uma aplicação ou servidor;

  • nas secrets do Kubernetes, OpenShift ou outro serviço Kubernetes;

  • em serviços de cloud como Google Secret Manager;

As automações podem também executar Playbooks Ansible dentro de containers Dockers para garantir mais segurança e permitir maiores possibilidades de integrações.

Criar automação

Para criar uma automação, siga o menu: DevOps Secret Manager ➔ Automações ➔ Automações

Configurar trigger de uma automação
  1. Clique no botão de ações e selecione a opção Novo;

  2. Determine os campos gerais da automação:

    • Nome: Será o nome da automação. Este nome será utilizado internamente no senhasegura para identificação em outras telas;

    • Ativado: Indica se a automação está disponível para uso;

  3. Na aba Informação, preencha os seguintes campos:

    • Descrição: Uma descrição detalhada sobre a automação;

    • Tags: Utilizadas em filtros e segregações dentro do senhasegura ;

  4. Na aba Gatilho preencha os campos:

    • Gatilho: São os gatilhos de evento que irão disparar a automação. Selecione uma ou mais opções;

    • Aplicação: Selecione uma ou mais aplicações em que as triggers deverão estar associadas. Desta forma as triggers selecionadas serão aplicadas apenas nas aplicações selecionadas;

    • Secret: Selecione uma ou mais secrets em que as triggers deverão estar associadas. Desta forma as triggers serão aplicadas nas credenciais selecionadas;

  5. Na aba Ação preencha os campos:

    • Plugin: que o template que será executado utiliza;

    • Template: selecione o template, dentre as opções disponíveis, com os comandos de execução da automação;

    • Dispositivo: selecione os dispositivos onde o template deverá ser executado;

  6. Para finalizar clique em Salvar

info

É possível criar novos templates para integração com outras soluções ou outros casos de uso de forma simples.

Visualizar automações

Para visualizar as secrets siga o menu: DevOps Secret Manager ➔ Automações ➔ Automações.

Relatório de automações

Nesta tela, você pode visualizar as automações existentes junto com informações como name, tags, applications da automação, secrets da automação, creation date, last execution date and status.

Visualizar detalhes de execução da automação

Para visualizar o resultado de execução de uma automação, siga o seguinte menu: DevOps Secret Manager ➔ Automações ➔ Execuções. Na coluna ação da linha da execução, clique na opção Details

Detalhes da execução de uma automação

Na sessão Execution clique no ícone Execution details para visualizar os detalhes de execução do template.

Por segurança, nos detalhes da execução do template as informações sensíveis, como senhas e chaves de acesso, são substituídas por 8 asteriscos (*).

Visualizar eventos da automação

Através de DevOps Secret Manager ➔ Event ➔ Audit Tracking Tracking temos um relatório de logs chamado DSM Logs

Cód.: o identifcador gerado pela criação do log.

Operação: qual operação foi gerada no sistema.

Entidade: qual tipo de funcionalidade esta sendo usada.

Cód. da entidade: identificadores da funcionalidade da entidade.

Nome da entidade: Nome dado na criação da entidade.

Origem: qual funcionalidade do módulo DSM está sendo usada.

Usuário: quem executou a ação.

Nome do usuário: nome do usuário no senhasegura.

IP: Ip do dispositivo que gerou o log.

Alteração Data/Hora: visualizar quando ocorreu o log.

Ação: ao clicar na lupa vemos abrirá a janela Audit tracking contendo informações detalhadas da operação que gerou um log no sistema para auditar as mudanças de informações.

Visualizar logs da automação

No módulo DevOps Secret Manager ➔ Events ➔ API Logs:

Evento: informações dos eventos (leitura, criação, deletar e atualização);

Resposta: se a requisição da API apresentar sucesso retornará o código 200 e caso retorne erro o código será 403;

Tipo de entidade: é o tipo de endetidade definido;

ID da entidade: é o número de identifcação da endetidade;

Nome da entidade: nome definido na criação do evento;

ID do aplicativo: é o número de identifcação da aplicação;

Aplicativo: é a aplicação usada para realizar a requisição ao relatórios através da API;

Autorização: é a permissão gerada para o acesso;

IP: é o dispositivo do usuário que foi executada a alteração;

Data hora: é o dia e a hora em que a modificação da função foi realizada.

Injetar e rotacionar secrets no Azure Key Vault, AWS Secret Manager, Google Secret Manager e Kubernetes

Criei uma automação seguindo os passos descritos na sessão Criar automação mais acima e na aba Action selecione o template correspondente à solução que deseja integrar:

Azure Key Vault

Na aba de ações, selecione o Azure Key Vault - Inject Secret Template para injetar e rotacionar os segredos. Após a Execução, acesse o Azure Portal, busque pelos serviços de Key Vault e selecione o cofre onde o segredo será injetado. Em configurações, clique em Secrets e clique no item criado pelo senhasegura para ver os detalhes como no exemplo a seguir:

Chave gerada do Azure Key Vault

AWS Secret Manager

Na aba de ações, selecione o AWS Secret Manager - Inject Secret Template para injetar e rotacionar os segredo. Após a Execução, acesse o AWS Management Console, busque pelos serviços de Gerenciamento de Segredo. Em lista de segredos, clique em Secrets e clique no item criado pelo senhasegura para ver os detalhes como no exemplo a seguir:

Detalhes do AWS Secret Manager

Google Secret Manager

Na aba de ações, selecione o Google Secret Manager - Inject Secret Template para injetar e rotacionar segredos. Depois da execução, acesse o Google Cloud Console, selecione o projeto na aba superior de seleção e no menu lateral acesse Segurança ➔Gerenciamento de Segredos, Nesta lista de segredos, clique no item criado pelo senhasegura para ver os detalhes como no exemplo a seguir:

Detalhes do Google Secret

Kubernetes

Na aba de ações, selecione o Kubernetes - Inject Secret Template para injetar e rotacionar os segredo. Após a Execução, acesse o Kubernetes Cluster onde o segredo foi criado e visualize o segredo com o comando kubectl describe secrets/[secret_name] como no exemplo a seguir:

Detalhes do Kubernetes Secret

Proviosionar automáticamente API do metódo POST de Applications

Na API de POST de Applications /iso/dapp/application)

Adicionar parâmetro cloud_profiles:

  • Nome: cloud_profiles

  • Tipo: string[] (Array de strings)

  • Requerido: não

Comportamento

São definidos os perfis de provisionamento dinâmico de cloud relacionados a aplicação. O valor preenchido sobrescreverá o valor atual da aplicação. Quando o valor é omitido nenhuma alteração é realizada. Caso seja preenchido um array vazio todos os perfis da aplicação serão removidos.

Exemplo:
cloud_profiles: ["aws_profile", "gcp_profile"]

Adicionar parâmetro credential_profiles:

  • Nome: credential_profiles

  • Tipo: {device: string, profile: string}[] (Array de objetos com chaves device e profile)

  • Requerido: não

Comportamento

São definidos os perfis de provisionamento dinâmico de cloud relacionados a aplicação. O valor preenchido sobrescreverá o valor atual da aplicação. Quando o valor é omitido nenhuma alteração é realizada. Caso seja preenchido um array vazio todos os perfis da aplicação serão removidos.

Exemplo: credential_profiles: [

        {device: "192.168.0.1", profile: "cassandra_profile"},

{device: "192.168.0.2", profile: "redis_profile"},

] :::