工具总结篇——vault
来源:互联网 发布:java 链接生成二维码 编辑:程序博客网 时间:2024/06/02 02:12
Vault是用来安全的获取秘密信息的工具,它可以保存密码、API密钥、证书等信息。Vault提供了一个统一的接口来访问秘密信息,其具有健壮的访问控制机制和丰富的事件日志。
Vault解决多用户不同身份访问关键信息时,授权的复杂问题。Vault为安全的存储、管理审计日志提出一个解决方案
vault提供特性描述
数据加密 :vault 能够在不存储数据的情况下对数据进行加密、解密。开发者便可以存储加密后的数据而无需开发加密技术,Vault允许安全团队自定义安全参数。
安全密码存储: vault在将秘密信息(api密钥,密码,证书)存储到持久化存储之前对数据进行加密。这样即使加密后的信息也是不可读的。
动态密码 :vault可以随时为AWS、SQL资料库等类似的系统产生密码。比如,如果应用需要访问AWS S3 buket,它向vault请求AWS密钥对,vault将给出带有租期的所需秘密信息。一旦租用期过期,这个密码信息就不再存储。
租赁和更新:vault给出的秘密信息带有租赁时间,一旦租用期过期,它便立即回收秘密信息,如果应用仍需要该秘密信息,则可以通过API更新租用期。
撤销 :在租用到期之前,vault可以撤销一个秘密信息或者一个秘密信息树。
vault使用例子
存储用户secret
1.用户通过接口上传自己的secret,vault将用户上传的内容加密后写入MySQL。
➜ vault vault write secret/org-2345 organizationID=org-2345 publickey=test0512Success! Data written to: secret/org-2345
2.用户存储的secret通过以下接口进行展示。
➜ vault vault read -format=json secret/org-2345{ "request_id": "08ef64d6-0b11-4da3-30f0-a0dc7e5e90fd", "lease_id": "", "lease_duration": 2764800, "renewable": false, "data": { "organizationID": "org-2345", "publickey": "test0512" }, "warnings": null}➜
生成用户带有租期的token
➜ vault vault token-create Key Value--- -----token 54d4106c-f56d-4f26-8a4a-e3f72971803etoken_accessor 7417f4c5-aaf0-2ca9-054b-ac147fb4b9fctoken_duration 0stoken_renewable falsetoken_policies [root]
vault 需要配置mysql作为backend持久化存储数据
初次配置的过程中会产生如下所示的信息:
Unseal Key 1: QIUHbvNE/LKlbg4zHi/6ykp8Lvmnpjxz7rSUOw1WWy4Unseal Key 2: 1LhCk50IskEkcGDxNmOz3k3au8yKHfkmcApIQ/51GA+Unseal Key 3: al0yAEvRceJUMyE0nYjzKIOq2Hgklf0YIcS/W/HxE1mUnseal Key 4: ce6OGY0qeU1qGC8fpu1McswiMYWiWLSK1mbz2jeHEZIUnseal Key 5: 0jid0L+7hBTu4eanPw9Bjnl9VaBuKyWpl6jBl/WdXjPInitial Root Token: 0636ad41-867a-8b0a-4322-beb1c57b9b9Vault initialized with 5 keys and a key threshold of 3. Pleasesecurely distribute the above keys. When the vault is re-sealed,restarted, or stopped, you must provide at least 3 of these keysto unseal it again.Vault does not store the master key. Without at least 3 keys,your vault will remain permanently sealed.
vault可以配置使用进行seal/unseal的密钥的个数。
vault init -key-shares=1 -key-threshold=1
优点:
vault server启动默认的状态为sealed状态,vault 被配置知道如何访问物理存储,但是不知道如何解密数据。
unseal是程序构造一个主密钥去读取加密后的数据并解密数据,只有在unseal状态,才可以针对vault做操作。
1.vault配置后端mysql的方法:
https://www.vaultproject.io/docs/configuration/storage/mysql.html
2.vault配置mysql secret backend
https://www.vaultproject.io/docs/secrets/mysql/index.html
- 工具总结篇——vault
- Data Vault初探(三) —— 建立Data Vault模型
- Data Vault初探(十) —— 星型模型向Data Vault模型转化
- Vault全攻略——安装,配置,使用
- 详说Oracle Vault——原理、安装与配置
- Data Vault初探(一) —— 基础
- Data Vault初探(四) —— 初始装载
- Data Vault初探(五) —— 定期装载_SQL
- Oracle数据安全解决方案(2)——Oracle Database Vault
- Oracle数据安全解决方案(3)——Oracle Audit Vault
- Data Vault初探(二) —— 构建及参考原则
- Data Vault初探(六) —— 定期装载_Kettle_作业
- Data Vault初探(七) —— 定期装载_Kettle_中心表
- Data Vault初探(八) —— 定期装载_Kettle_链接表
- Data Vault初探(九) —— 定期装载_Kettle_附属表
- 在线工具总结——在线视频编辑总结篇
- Oracle数据安全解决方案系列-----Database Vault安装篇
- database vault
- 复习
- lei
- 【实训】图片异步加载框架Universal-Image-Loader介绍
- 员工转正申请表
- KinectV2+Ubuntu 14.04+Ros 配置
- 工具总结篇——vault
- 速傅里叶变换函数
- String和StringBuffer
- fragment个人使用总结
- C语言之字符串
- sklearn的简介
- Android的Ble蓝牙最多只能发送20字节数
- Java并发编程(五)——线程间通信
- 异常