Home/Labs/Hashicorp Vault
Cursosfundamentals

Hashicorp Vault

Laboratório: Automação de Credenciais de Rede com HashiCorp Vault e Python

RecursoLink
HashiCorp Vault Officialhttps://www.vaultproject.io/
Vault Docker Imagehttps://hub.docker.com/_/vault
HVAC Library Docshttps://hvac.readthedocs.io/
Netmiko GitHubhttps://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:

  1. Configurar um ambiente básico do HashiCorp Vault para armazenar credenciais de forma segura.
  2. Configurar roteadores para usar autenticação baseada em nome de usuário e senha.
  3. Desenvolver um script Python que utiliza a biblioteca hvac para 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 r1 e r2.
    • 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 (hvac e netmiko).
    • Desenvolvimento de um script Python para:
      1. Autenticar-se no Vault.
      2. Ler os segredos (credenciais) dos roteadores.
      3. Utilizar as credenciais obtidas para se conectar via SSH aos roteadores e executar um comando simples.

Tarefas (3)

1

start_here

easy
2

task1

easy
3

task2

easy