API7 Enterprise v3.2.16: Provedores de Segredos Integrados
October 10, 2024
No API7 Enterprise, você pode armazenar uma grande quantidade de informações sensíveis, como certificados SSL e chaves privadas, nomes de usuário e senhas de credenciais de autenticação de consumidores, e aquelas exigidas por determinados plugins para se conectar a sistemas externos.
O conceito de "Provedores de Segredos" foi introduzido no API7 Enterprise v3.2.16. Agora, podemos facilmente adicionar recursos de provedores de segredos para integrar com gerenciadores de segredos de terceiros, como HashiCorp Vault, AWS Secrets Manager e GCP Secret Manager, e referenciar as informações sensíveis armazenadas externamente no API7 usando variáveis. O formato de referência é o seguinte:
$secret://$manager/$id/$secret_name/$key
Como Usar Provedores de Segredos?
Adicionando um Provedor de Segredos
No menu de Grupo de Gateway, uma nova opção "Provedor de Segredos" foi adicionada. Clique no botão para acessar a página de lista de provedores de segredos. Em seguida, clique no botão "Adicionar Provedor de Segredos" no canto superior direito da página.
Na janela pop-up, preencha as informações básicas sobre o provedor de segredos, selecione o tipo de serviço de gerenciamento de segredos, por exemplo, HashiCorp Vault. Em seguida, forneça o endereço de acesso ao serviço e o token de autenticação para a configuração do seu HashiCorp Vault.
Visualizando um Provedor de Segredos
Após a criação, podemos visualizar os detalhes específicos da configuração e o exemplo de variável de segredo na página de detalhes do provedor de segredos.
O formato da variável de segredo é: secret://manager/$id/$secret_name/$key
, com os seguintes significados:
- $secret: Um prefixo fixo, não é necessário substituir
- $manager: O serviço de gerenciamento de segredos
- $id: O ID do recurso do provedor de segredos
- $secret_name: O nome do segredo no serviço de gerenciamento de segredos
- $key: A chave correspondente ao segredo no serviço de gerenciamento de segredos
Por exemplo, com um ID de provedor de segredos my-provider
e um tipo de serviço de gerenciamento de segredos HashiCorp Vault, se você quiser referenciar um segredo chamado my-secret
com uma chave password
, a variável de segredo correspondente seria:
$secret://vault/my-hashicorp-vault/my-secret/password
Atualmente, o HashiCorp Vault é suportado como um serviço de gerenciamento de segredos. O AWS Secrets Manager e o GCP Secret Manager estarão disponíveis em breve.
Referenciando uma Variável de Segredo
Uma vez que o provedor de segredos é criado, você pode referenciar informações sensíveis armazenadas externamente em vários recursos no API7 Enterprise por meio de variáveis. Por exemplo, ao adicionar credenciais de Autenticação Básica para um consumidor, você pode optar por armazenar informações sensíveis, como senhas, em um serviço de gerenciamento de segredos externo e referenciá-lo no API7 Enterprise, aumentando assim a segurança.
Da mesma forma, ao trabalhar com páginas não formulário, como o editor de plugins, também podemos inserir diretamente o valor da variável de Segredo como uma string em qualquer campo que suporte a referência de Segredos.
Visualizando Relações de Referência
Quando referenciamos uma variável de my-provider
em credenciais de consumidor, podemos visualizar essa relação de referência na lista de referências do provedor de segredos. Outros recursos referenciados também serão exibidos nesta lista, facilitando o rastreamento do uso do provedor de segredos.
Editando ou Excluindo um Provedor de Segredos
Ao editar ou excluir um provedor de segredos, o sistema verificará as relações de referência para evitar que variáveis inválidas sejam referenciadas em recursos, o que poderia levar a erros de configuração.
Resumo
Ao integrar com serviços de gerenciamento de segredos externos, como o HashiCorp Vault, o API7 Enterprise aumenta a conveniência de referenciar informações sensíveis armazenadas externamente em vários recursos. Essa integração reduz os riscos e custos associados ao gerenciamento manual dessas informações. Olhando para o futuro, planejamos suportar mais tipos de serviços de gerenciamento de segredos para atender às crescentes necessidades dos usuários, garantindo flexibilidade e segurança no gerenciamento de informações sensíveis.