Cursosfundamentals
Hashicorp Vault
Laboratório: Automação de Credenciais de Rede com HashiCorp Vault e Python
| Recurso | Link |
|---|---|
| HashiCorp Vault Official | https://www.vaultproject.io/ |
| Vault Docker Image | https://hub.docker.com/_/vault |
| HVAC Library Docs | https://hvac.readthedocs.io/ |
| Netmiko GitHub | https://github.com/ktbyers/netmiko |
Objetivo do Laboratório
O objetivo principal é demonstrar um fluxo de trabalho seguro para gerenciar e utilizar credenciais de dispositivos de rede (roteadores Cisco), integrando duas ferramentas poderosas: HashiCorp Vault para o gerenciamento centralizado de segredos e Python para automação.
Ao final deste laboratório, você terá aprendido a:
- Configurar um ambiente básico do HashiCorp Vault para armazenar credenciais de forma segura.
- Configurar roteadores para usar autenticação baseada em nome de usuário e senha.
- Desenvolver um script Python que utiliza a biblioteca
hvacpara se autenticar no Vault, obter as credenciais dos roteadores de forma dinâmica e usar essas credenciais para se conectar aos dispositivos.
Este projeto simula um cenário realista onde as senhas não são armazenadas em texto plano dentro de scripts (hardcoded), mas sim recuperadas de uma fonte segura no momento da execução, aumentando drasticamente a segurança e a manutenibilidade da automação de redes.
Estrutura do Laboratório
Este laboratório está dividido nas seguintes tarefas:
-
Tarefa 1: Configuração Inicial
- Instalação e inicialização do HashiCorp Vault em modo de desenvolvimento.
- Habilitação de métodos de autenticação e armazenamento de credenciais dos roteadores
r1er2. - Configuração básica dos roteadores Cisco para aceitar logins locais.
-
Tarefa 2: Automação com Python e HVAC
- Criação de um ambiente virtual Python e instalação das bibliotecas necessárias (
hvacenetmiko). - Desenvolvimento de um script Python para:
- Autenticar-se no Vault.
- Ler os segredos (credenciais) dos roteadores.
- Utilizar as credenciais obtidas para se conectar via SSH aos roteadores e executar um comando simples.
- Criação de um ambiente virtual Python e instalação das bibliotecas necessárias (
Tarefas (3)
1
start_here
easy
2
task1
easy
3
task2
easy