InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

Spring Vault GA 1.0 发布

  • 2017-05-14
  • 本文字数:1028 字

    阅读完需:约 3 分钟

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<secret> toRead = vaultTemplate.read("mysecret/myapp", Secret.class);
vaultTemplate.delete("mysecret/myapp");
</secret>

通过使用 @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

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2017-05-14 19:003050

评论

发布
暂无评论
发现更多内容

关于帮助中心,你需要知道的一切

小炮

持续集成引擎篇:K8S与服务自动发布

知了一笑

Docker 架构 k8s 持续集成 jenkins

LabVIEW保存、读取配置文件

不脱发的程序猿

LabVIEW 保存、读取配置文件

什么是 503 服务不可用错误?

Ethereal

2022年,人工智能和数据发展呈现哪五大趋势?

澳鹏Appen

人工智能 机器学习 深度学习 训练数据

微博评论高性能高可用架构设计

随欣所遇

架构训练营5期

一文剖析:LVS/Nginx/HAProxy原理及应用场景

穿过生命散发芬芳

3月月更

大型企业SAP集成WMS系统方案流程

源字节1号

开源 解决方案 后端技术

条码WMS系统与ERP接口实现方法

源字节1号

后端开发 WMS系统 ERP接口

《第四期(2021-2022)传统行业云原生技术落地调研报告——金融篇》重磅发布!

York

容器 DevOps 云原生 金融科技 金融行业

利用Struts拦截器限制上传图片的格式和大小

喀拉峻

网络安全

微博评论高性能高可用场景

风中奇缘

架构实战营 「架构实战营」

微软云对象存储攻防

火线安全

云原生 云原生应用 云安全攻防 云安全研究

低代码如何助力化学材料行业数字化升级?

TOBESOFT特碧软件

低代码 数字化转型 MES系统 制造业 TOBESOFT

OceanBase 在线体验环境,现已上线!

OceanBase 数据库

oceanbase OceanBase 社区版 在线体验站

重学架构之微博评论高性能高可用计算架构

陈华英

架构实战营 #架构实战营

LabVIEW设计自定义滚动条

不脱发的程序猿

LabVIEW 设计自定义滚动条

最棒的 7 个 Laravel admin 后台管理系统推荐 - 卡拉云

蒋川

laravel vue admin

腾讯云COS对象存储攻防

火线安全

云原生 云安全 云原生应用

网络安全 kali Web安全之CSRF攻击

学神来啦

网络安全 CSRF WEB安全 kali kali Linux

使用APICloud平台实现朋友圈功能

YonBuilder低代码开发平台

html5 css3 APP开发 APICloud JavaScrip

欧拉的奇异之旅·共赴开源时代

脑极体

搜索引擎Elasticsearch简介实践

yuexin_tech

elasticsearch

Linux网络管理工具:ifconfig,从入门到精通!

Ethereal

低调不了!最佳体验尽在 Erda 2.0 版本

尔达Erda

云计算 云原生 设计 发布 界面改版

限时200位免费!网易云信娱乐社交公开课来啦!

网易云信

娱乐社交

使用 CachedNetworkImage 实现图片离线缓存

岛上码农

flutter ios Android开发 移动端开发 3月月更

尤达 DDD 领域驱动设计思想 第三章作业(识别SmartRM系统货柜机免密支付购物场景里的聚合)

代廉洁

尤达DDD领域驱动设计思想

2021物联之星评选结果重磅出炉!AIoT产业核心玩家已经浮现

dgiot

OpenHarmony设备开发环境搭建/源码获取/编译/烧录

拓维信息

OpenHarmony 烧录

Redis线程模型

javaadu

redis 面试题

  • 扫码添加小助手
    领取最新资料包
Spring Vault GA 1.0发布_Java_Andrew Morgan_InfoQ精选文章