当前位置:新闻中心行业动态 → 正文

Spring Vault GA 1.0发布

责任编辑:editor004 作者:Andrew Morgan |来源:企业网D1Net  2017-05-15 11:30:56 本文摘自:INFOQ

Pivotal已经公布了Spring Vault 1.0的通用版本。这是一个Java类库,它提供了Hashicorp Vault(一款安全管理工具)的客户端抽象。依照Spring的惯例,它会使Vault更易于集成到Spring或Java应用中。一些熟悉的模式包括模版、属性来源等等。

Hashicorp Vault是一个工具,它为开发人员提供了以安全的方式进行安全的存取,比如API 令牌、SSL 证书和口令。它还处理用户的访问控制,具有撤销令牌的能力。除此之外,它还有审计功能,可以用它来跟踪用户。

想要采用Vault 的Java开发人员通常会面对CLI或API的选择。因此,当从JVM调用Vault时,很可能开发人员会选择API并实现它们自己的客户端类库。Spring Vault让开发人员不必再自己做这件事了,它为此提供了一个开源项目。它还以商业企业Pivotal作为后盾。

尽管它本身不依赖于Spring,但高层设计原则和抽象是类似的,目的是减少为开发人员提供的样板代码。这意味着该框架不仅可被普通Java开发人员采用,更特别适用于Spring开发人员。

为了与Vault交互, Spring Vault利用了中心类VaultTemplate。为了与Vault CLI和 API保持语义一致,它提供了"write”、”read”、”delete" 和 "revoke"等常见操作。

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

通过使用@VaultPropertySource 注解,可以使Spring Vault 隐含映射到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; // ...}

该类库还支持多个认证机制:AppId、 AppRole、AWS EC2、TLS Certificates和 Cubbyhole。通过实现ClientAuthentication类即可指定它们,这表示为Java开发人员提供了一个更易于设置初始登录的脚手架。

还可以通过SessionManager类交给框架来进行会话管理。这意味着令牌更新、吊销等任务都是自动化处理的,不需要特别由应用代码来完成,这又一次消减了一些额外的开发成本。

在官方文档中可找到其他详细内容,该类库可以在 Maven Central中下载,源码可以在GitHub中下载。

查看英文原文:Spring Vault GA 1.0 Released

关键字:SpringGitHub

本文摘自:INFOQ

x Spring Vault GA 1.0发布 扫一扫
分享本文到朋友圈
当前位置:新闻中心行业动态 → 正文

Spring Vault GA 1.0发布

责任编辑:editor004 作者:Andrew Morgan |来源:企业网D1Net  2017-05-15 11:30:56 本文摘自:INFOQ

Pivotal已经公布了Spring Vault 1.0的通用版本。这是一个Java类库,它提供了Hashicorp Vault(一款安全管理工具)的客户端抽象。依照Spring的惯例,它会使Vault更易于集成到Spring或Java应用中。一些熟悉的模式包括模版、属性来源等等。

Hashicorp Vault是一个工具,它为开发人员提供了以安全的方式进行安全的存取,比如API 令牌、SSL 证书和口令。它还处理用户的访问控制,具有撤销令牌的能力。除此之外,它还有审计功能,可以用它来跟踪用户。

想要采用Vault 的Java开发人员通常会面对CLI或API的选择。因此,当从JVM调用Vault时,很可能开发人员会选择API并实现它们自己的客户端类库。Spring Vault让开发人员不必再自己做这件事了,它为此提供了一个开源项目。它还以商业企业Pivotal作为后盾。

尽管它本身不依赖于Spring,但高层设计原则和抽象是类似的,目的是减少为开发人员提供的样板代码。这意味着该框架不仅可被普通Java开发人员采用,更特别适用于Spring开发人员。

为了与Vault交互, Spring Vault利用了中心类VaultTemplate。为了与Vault CLI和 API保持语义一致,它提供了"write”、”read”、”delete" 和 "revoke"等常见操作。

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

通过使用@VaultPropertySource 注解,可以使Spring Vault 隐含映射到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; // ...}

该类库还支持多个认证机制:AppId、 AppRole、AWS EC2、TLS Certificates和 Cubbyhole。通过实现ClientAuthentication类即可指定它们,这表示为Java开发人员提供了一个更易于设置初始登录的脚手架。

还可以通过SessionManager类交给框架来进行会话管理。这意味着令牌更新、吊销等任务都是自动化处理的,不需要特别由应用代码来完成,这又一次消减了一些额外的开发成本。

在官方文档中可找到其他详细内容,该类库可以在 Maven Central中下载,源码可以在GitHub中下载。

查看英文原文:Spring Vault GA 1.0 Released

关键字:SpringGitHub

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^