BT

Spring Vault GA 1.0 é lançado

| por Andrew Morgan Seguir 3 Seguidores , traduzido por Alefh Sousa Seguir 0 Seguidores em 29 set 2017. Tempo estimado de leitura: 2 minutos |

A Pivotal anunciou a versão final do Spring Vault 1.0. O Spring Vault é uma biblioteca java que oferece abstrações para serem utilizadas por aplicações cliente em torno do Hashicorp Vault, uma ferramenta para gerenciamento de credenciais. Por seguir o idioma do Spring, o Hashicorp Vault pode ser integrado facilmente com aplicações Spring ou Java. A nova versão também Inclui alguns padrões familiares como templates e configurações de propriedades, dentre outros.

O Hashicorp Vault é uma ferramenta que fornece aos desenvolvedores uma forma segura de acessar e gravar suas credenciais como API tokens, certificados SSL e senhas. Também é possível administrar o controle de acesso para usuários, incluindo a capacidade de revogar e alterar tokens. Além disso, possui funcionalidades de auditoria que permitem rastrear os usuários.

Os desenvolvedores Java que querem utilizar o Vault, normalmente tem duas escolhas: a CLI (Command Line interface) ou a API. Portanto, ao chamar o Vault da JVM, os desenvolvedores escolhem utilizar a API e implementar seu próprio cliente. O Spring Vault remove a necessidade dos desenvolvedores terem que fazer isso, fornecendo uma solução como um projeto open source. Essa solução também é apoiada por uma empresa comercial, a Pivotal.

Embora não dependa do Spring, os princípios de abstrações e design de alto nível são familiares, junto com o objetivo de reduzir os códigos boilerplate para os desenvolvedores. Isso significa que framework foi concebido para ter uma forte adoção por desenvolvedores Spring, bem como desenvolvedores Java.

Para interagir com o Vault, o Spring Vault utiliza sua classe principal VaultTemplate. Com objetivo de ser igual ao Vault CLI e API, oferece operações familiares como "escrever", "ler", "excluir" e "revogar":

Secret toWrite = new Secret("foo");
vaultTemplate.write("mysecret/myapp", toWrite);
VaultResponseSupport toRead = vaultTemplate.read("mysecret/myapp", Secret.class);
vaultTemplate.delete("mysecret/myapp");

Através do uso da anotação @VaultPropertySource, oferece um mecanismo declarativo que permite ao Spring Vault mapear implicitamente as credenciais para objetos Java:

@VaultPropertySource(value = "foo/creds", propertyNamePrefix = "foo")
public class SomeConfig {
  // ...
}

public class MyProperties {
  @Value("${foo.username}")
  private String awsAccessKey;

  @Value("${foo.password}")
  private String awsSecretKey;

  // ...
}

A biblioteca também suporta outros mecanismos de autenticação: AppId, AppRole, AWS EC2, TLS Certificates, e Cubbyhole. Para utilizar um desses mecanismos é necessário implementar a classe ClientAuthentication, isso permite que o desenvolvedor Java faça as configurações de login mais facilmente.

A necessidade de gerenciar as sessões também é tratada pelo framework através da classe SessionManager. Isso significa que tarefas como renovação de tokens e revogação de acesso são automatizadas. Além disso, não é necessário que seja feito explicitamente no código da aplicação, removendo a necessidade de desenvolvimento adicionais.

Detalhes adicionais podem ser encontrados na documentação oficial. A biblioteca está disponível para download no Maven Central e o código fonte disponível no GitHub.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT