Automações
  • 6 minutos de leitura
  • Tema escuro
    Tema claro
  • Pdf

Automações

  • Tema escuro
    Tema claro
  • Pdf

Article Summary

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.

Por meio dessas automações é possível conectar-se a maioria dos sistemas e ambientes, utilizando uma abordagem direcionada de protocolo. O DSM senhasegura atinge esses sistemas e ambientes por SSH, Windows RM & RPC, SQL, HTTP/S entre outros. Uma série de comandos é pré-definida para evitar a necessidade de configuração manual.

As automações são baseadas em triggers, como, a partir da criação ou atualização de uma secret. Os 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;
Ansible Playbooks
As automações podem também executar Ansible Playbooks dentro de containers Dockers para garantir mais segurança e permitir maiores possibilidades de integrações.

Requisitos

  • Ter uma aplicação ou segredo previamente criado
  • Uma credencial que será usada para executar a ação de automação
  • Um dispositivo onde será executada a automação
  • Template de execução

Criar automação

  1.  Acesse DevOps Secret Manager ➔ Automações ➔ Automações
  2.  Clique no ícone ,selecione a opção +Novo
  3. Adicione as seguintes informações:
    • Nome: Identificador da configuração

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

  4. 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;

  5. 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 os triggers deverão estar associados. Desta forma os triggers selecionadas serão aplicadas apenas nas aplicações selecionadas;

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

  6. Em Ação, adicione as seguintes informações:


    • Plugin:** Adicione o template que será executado, indicamos fortemente a opção Ansible

    • Template:** Selecione o template criado em Executions, com os comandos que foram informados da automação

    • Dispositivo:** Selecione os dispositivos que serão executados pelo template

      • Credencial: a credencial é usada para se conectar ao dispositivo e executar o modelo
  7. Para finalizar clique em Salvar
Info
É possível criar novos templates para integração com outras soluções ou outros casos de uma forma simples.
Campos obrigatórios

Campos marcados com asterisco (*) são obrigatórios. Caso eles não sejam preenchidos, não será possível prosseguir.

Templates

O DevOps Secret Management utiliza templates cadastrados como Secret Management Automation no módulo Executions. Para mais informações sobre como criar templates, acesse o guia de Executions.

Visualizar automações

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

Nesta tela, você pode visualizar as automações existentes com informações como nome, tags, aplicações da automação, secrets da automação, data de criação, data da última execução e se a automação está ou não habilitada.

Relatório de automações

 

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.

Dados sensíveis
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 temos um relatório de logs chamado DSM Logs
  • Cód.: o identificador gerado pela criação do log.
  • Operação: qual operação foi gerada no sistema.
  • Entidade: qual tipo de funcionalidade está 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 entidade definido;
  • ID da entidade: é o número de identificação da entidade;
  • Nome da entidade: nome definido na criação do evento;
  • ID do aplicativo: é o número de identificação da aplicação;
  • Aplicativo: é a aplicação usada para realizar a requisição ao relatório 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

Crie 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

Para realizar a integração com o Azure KeyVault, siga as seguintes etapas:

1. Durante a criação de um segredo, preencha o campo com as credenciais desejadas e insira os valores de Chave/Valor

  • AZURE_CLIENT_ID: Identificador exclusivo atribuído ao aplicativo ou serviço que deseja acessar recursos do Azure. É usado para autenticar o aplicativo ou serviço.
  • AZURE_KEYVAULT_NAME:  Nome do cofre de chaves Azure Key Vault, que é usado para armazenar e gerenciar chaves, senhas e outros segredos.
  • AZURE_RESOURCE_GROUP: Grupo lógico de recursos do Azure, que inclui serviços relacionados, como máquinas virtuais, armazenamento e redes.
  • AZURE_SECRET: É a chave secreta usada pelo aplicativo ou serviço para autenticar e acessar os recursos do Azure.
  • AZURE_SUBSCRIPTION_ID: identificador exclusivo para uma assinatura do Azure, que permite que um usuário acesse e gerencie recursos do Azure.
  • AZURE_TENANT: É o identificador exclusivo da organização ou empresa que usa o Azure, que é usado para autenticar usuários e recursos do Azure.

2. Crie uma automação como descrito na respectiva documentação, utilizando o template AzureKeyVault e o plugin de execução Ansible.

3. Ao definir o Gatilho e executar a ação parametrizada para a ativação do mesmo, será feita a rotação/injeção do segredo no cofre.


Alerta
Durante a criação do segredo, não é obrigatório que a uma senha seja inserida em uma credencial.
Para mais informações

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

POST /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"},



Este artigo foi útil?