No mundo atual orientado por dados, o gerenciamento seguro de credenciais de banco de dados é uma preocupação fundamental para organizações de todos os tamanhos. Como nos esforçamos para capacitá-lo com soluções de ponta, temos o prazer de anunciar o lançamento do nosso plug-in HashiCorp Vault para o gerenciamento de credenciais do banco de dados Capella. 

A incorporação do HashiCorp Vault ao Capella oferece uma abordagem multifacetada à segurança do banco de dados:

    • Uma das principais vantagens é o gerenciamento de usuários externo e centralizado, em que as identidades dos usuários e as permissões de acesso são gerenciadas de forma unificada e segura. Isso garante que o acesso aos seus bancos de dados seja controlado, auditado e consistente em toda a organização. 
    • Os recursos do Vault se estendem à auditoria de uso de credenciais, fornecendo registros detalhados e insights sobre quem acessou os bancos de dados, quando e com que finalidade. Esse nível de transparência é inestimável para as equipes de conformidade e segurança, permitindo que elas rastreiem o acesso aos dados e atendam aos requisitos regulamentares de forma eficaz. 
    • A automação do Vault se destaca com a rotação e revogação automática de credenciais, reduzindo o risco de acesso não autorizado devido a credenciais obsoletas ou comprometidas. 
    • Por fim, o Vault permite a emissão de credenciais temporárias dinâmicas, concedendo aos usuários acesso limitado por tempo aos bancos de dados. Isso não apenas aumenta a segurança, mas também simplifica o gerenciamento de usuários, reduzindo a necessidade de credenciais de longo prazo. Juntos, esses recursos transformam a maneira como você gerencia o acesso ao banco de dados, tornando-o mais seguro, eficiente e compatível.

Este artigo serve como um guia para ajudá-lo a aproveitar os recursos do nosso plug-in de forma eficaz. Vamos orientá-lo em todo o processo, desde a configuração de um cofre de contêiner do Docker local até o gerenciamento de credenciais dinâmicas sem esforço. Ao final deste tutorial, você estará bem equipado para aumentar a segurança do seu banco de dados com facilidade.

Vamos mergulhar no mundo do gerenciamento seguro de credenciais de banco de dados e desbloquear o potencial do nosso plug-in HashiCorp Vault para Capella

Etapa 1: Preparativos

Antes de se aprofundar nos detalhes, é essencial estabelecer as bases. Nesta etapa inicial, vamos orientá-lo nos preparativos essenciais necessários para preparar o terreno para uma integração perfeita. Desde a criação de uma chave de API até a configuração de um banco de dados sandbox e a coleta de detalhes organizacionais cruciais, esses preparativos garantem que você tenha tudo o que precisa para concluir a configuração do plug-in.

Criar uma chave de API da Capella

Comece verificando se você tem as chaves de API necessárias. Navegue até as configurações de sua organização e vá para a seção Seção Chave de API. Aqui, gere uma chave da Versão 4 com a função de proprietário da organização. Essa chave será fundamental em nosso processo de gerenciamento de credenciais. O motivo da função de proprietário da organização é que, posteriormente, faremos a rotação da credencial raiz.

Create a Capella API Key

Decodificar credenciais de chave de API

Precisaremos fornecer a Capella ACCESS_KEY e o SECRET_KEY quando configurarmos o plug-in do vault. Obteremos isso da chave de API que geramos anteriormente. 

    • Faça o download da chave
    • Clique duas vezes no botão de cópia no final do campo API Key Token. 

Decode API Key Credentials

    • Decodifique-o usando base64

A chave decodificada terá dois valores separados por ponto e vírgula:

O primeiro é o seu ACCESS_KEY e o segundo é o seu SECRET_KEY. Você precisará disso mais tarde, quando for configurar o plug-in.

Configurar um banco de dados Sandbox

Para facilitar essa demonstração, configure um banco de dados sandbox. Ele servirá como um ambiente seguro para testar nosso plug-in.

Crie um Bucket e um Escopo

Também criaremos um bucket cesto do cofre-1 e um escopo vault-bucket-1-scope-1 em nosso cluster, que será usado ao criar credenciais dinâmicas posteriormente.

Create a Bucket and Scope

Reunir informações essenciais

Para a configuração do plug-in, você precisará do ID da organização, do ID do projeto e do ID do cluster. A maneira mais fácil de obter esses detalhes é copiá-los do URL e salvá-los em um arquivo de texto para referência.

    • oid é o ID de sua organização
    • projectId é o ID de seu projeto
    • dbid é o ID do seu banco de dados

Gather Essential Information

Etapa 2: Configurar o Vault

Agora, vamos começar com o aspecto técnico. Temos duas opções para executar a demonstração. 

    1. Para executar a demonstração, clone o repositório e utilize o Dockerfile nele contido. Esse Dockerfile inclui etapas para compilar o plug-in a partir da fonte. 
    2. Como alternativa, baixe a versão binária do plug-in na página de versões e use-a em sua instalação do Vault.

Fornecerei instruções para ambos os métodos. Escolha o caminho que atenda às suas necessidades e siga as etapas correspondentes. Não há necessidade de executar os dois métodos

Opção 1: Use o Dockerfile no repositório de plug-ins

Comece clonando nosso repositório do GitHub:

Esse repositório contém o código-fonte do plug-in, que precisaremos para criar o plug-in. Para esta demonstração, criaremos uma imagem do Docker usando a imagem do vault do Hashicorp. O plug-in será criado durante o processo de criação da imagem do Docker. Esse método deve ser usado somente para fins de demonstração. Siga as instruções de Hashicorp sobre como instalar o plug-in e usá-lo em seu ambiente.

Use the Dockerfile in the plugin repository

Agora que a imagem foi criada, lançaremos um servidor do Vault em um contêiner do Docker, configurado para o modo de desenvolvimento. Isso nos permite ignorar determinados recursos de segurança para facilitar os testes. O servidor do Vault escutará na porta 8200 e será inicializado com um token de raiz definido como senha. Também habilitaremos o registro em nível de depuração para capturar informações detalhadas durante nossos testes.

Vault server will listen on port 8200

Prossiga diretamente para a Etapa 3, ignorando a Opção 2.

Opção 2: Faça o download do binário do plug-in

Comece fazendo o download do plug-in no site página de lançamentos. No momento em que escrevo este artigo, a versão mais recente é a 1.0.0 e, como estou usando o Linux, continuarei com o download a versão para linux

Certifique-se de fazer o download da versão apropriada para a arquitetura do seu computador. 

Como prática recomendada de segurança, é importante validar a integridade do arquivo. Portanto, faça também o download das somas de verificação dos binários, que podem ser encontradas na página de versões.

Localize a soma de verificação correspondente ao arquivo que você baixou no arquivo de texto.

Locate the checksum

Gerar a soma de verificação e validar o resultado

checksum comparison indicates a match

A comparação da soma de verificação indica uma correspondência, confirmando que a validação do arquivo foi bem-sucedida.

Agora é seguro extrair o conteúdo do arquivo zip e recuperar o plug-in do vault. 

Nesse ponto, o binário do plug-in do Vault deve estar em nossa pasta. A etapa final é gerar o hash desse binário, que é necessário para registrar o plug-in no Vault posteriormente. É importante observar que esse hash é para o próprio binário, não para o arquivo zip baixado anteriormente.

A execução desse comando deve ter resultado na criação de um novo arquivo contendo o hash do plug-in do vault.

Também precisaremos criar uma configuração de cofre que defina onde o plug-in está localizado.

 A etapa final envolve a criação de uma política de senha personalizada que espelhe a política usada no Capella.

Depois de fazer o download do plug-in do Vault e gerar seu hash, iniciaremos um servidor do Vault em um contêiner do Docker, configurado no modo de desenvolvimento. Essa configuração nos permite contornar alguns recursos de segurança para fins de teste simplificado. 

O servidor do Vault escutará na porta 8200 e será inicializado com um token raiz definido como senha. Também habilitaremos o registro em nível de depuração para capturar informações detalhadas durante nossos testes. Também é importante observar que precisaremos montar nosso plugin e sha como um volume:

Vault server will listen on port 8200

Etapa 3: Ativar segredos do banco de dados

O Vault agora está funcionando no modo de desenvolvimento. Em seguida, habilitaremos o mecanismo de segredos de banco de dados do Vault. Esse mecanismo permite que o Vault gere credenciais dinâmicas para bancos de dados e é crucial para que nosso plug-in funcione corretamente. Ao habilitá-lo, estamos preparando o cenário para que o Vault gerencie as credenciais do banco de dados Capella. Abra um novo terminal e execute o seguinte:

Enable Database Secrets

Etapa 4: Registre o plug-in

Registraremos nosso plug-in personalizado no Vault. Isso envolve o cálculo do hash SHA-256 do binário do plug-in para garantir sua integridade. O Vault usa esse hash para verificar se o plug-in não foi adulterado quando é chamado. Depois que o hash for calculado, nós o usaremos para registrar o plug-in.

Register the Plugin

Agora o plug-in foi registrado com sucesso.

Etapa 5: Fazer upload da política de senha

Faremos o upload de uma política de senha para o Vault que se alinhe com os requisitos de senha da Capella. Isso garante que todas as credenciais geradas pelo Vault para a Capella estarão em conformidade com os padrões de segurança da Capella. A política será definida em um arquivo HCL (HashiCorp Configuration Language). Esse arquivo foi adicionado à imagem do Docker durante a compilação.

Upload Password Policy

Etapa 6: Criar configuração do banco de dados

Vamos configurar o Vault para se conectar ao nosso cluster da Capella. Isso envolve a especificação de vários parâmetros, como o URL de base da API de nuvem da Capella, o ID da organização, o ID do projeto e o ID do cluster. Também forneceremos a chave de acesso do Capella que geramos anteriormente. Essa configuração permite que o Vault interaja com nosso cluster do Capella e gerencie as credenciais dinamicamente. 

Create Database Config

Agora o plug-in do Capella está configurado e pode se comunicar com o Capella. 

Etapa 7: Girar as credenciais da raiz

Realizaremos uma prática recomendada de segurança alternando as credenciais raiz de alto privilégio que o Vault usa para gerenciar o banco de dados do Capella. Isso minimiza o risco associado a qualquer exposição potencial dessas credenciais.

Rotate Root Credentials

Etapa 8: Criar uma função dinâmica

Em seguida, definiremos uma função dinâmica no Vault. Essa função terá um conjunto de permissões, definidas no formato JSON, que especificam que tipo de operações de banco de dados são permitidas. Por exemplo, concederemos leitor de dados e gravador_de_dados em um bucket e escopo específicos em nosso cluster do Capella. Essa função dinâmica será usada para gerar credenciais com essas permissões.

Create a dynamic role

Etapa 9: Criar novas credenciais

Por fim, geraremos um novo conjunto de credenciais de banco de dados usando a função dinâmica que criamos. Essas credenciais são temporárias e obedecerão às configurações de TTL (Time-To-Live) que configuramos. Este é o ponto culminante da nossa configuração, demonstrando como o Vault pode gerenciar dinamicamente as credenciais do banco de dados Capella.

create new credentials

Vamos voltar ao Capella para verificar se nossas credenciais também são exibidas na interface do usuário.

manage Capella database credentials

Conclusão

Concluindo, nosso plug-in HashiCorp Vault para o gerenciamento de credenciais do banco de dados Capella abre novos horizontes no aprimoramento da segurança de sua infraestrutura de banco de dados. Por meio deste tutorial passo a passo, você obteve informações valiosas sobre a configuração e a utilização eficaz do plug-in.

Ao adotar essa solução, você estará simplificando o processo de gerenciamento de credenciais de banco de dados. Incentivamos você a explorar todo o potencial do nosso plug-in e aguardamos suas experiências e comentários.

O gerenciamento de credenciais de banco de dados seguro, eficiente e fácil de usar está agora ao seu alcance. Dê o primeiro passo em direção a um ambiente de banco de dados mais seguro hoje mesmo!

Se estiver interessado em saber mais sobre como criar seus próprios aplicativos modernos de missão crítica no Couchbase, experimente nosso Avaliação gratuita de 30 dias do Couchbase Capella. E para ver mais sobre o que nossos clientes estão fazendo com o Couchbase, confira nosso página de estudo de caso de cliente!

Autor

Postado por Istvan Orban

Istvan Orban é o principal gerente de produtos da Couchbase e mora no Reino Unido. Istvan tem uma ampla experiência como engenheiro de software de pilha completa, líder de equipe e engenheiro de Devops. Seu foco principal é a segurança e o Single Sign On. Istvan liderou vários projetos de grande escala em seus 20 anos de carreira profissional.

Deixar uma resposta