Python:私人定制密码保险库 - Vault

简介:Vault是一种用于安全访问机密的工具。秘密是您想要严格控制访问权限的任何内容,例如API密钥、密码、证书等等。Vault为任何机密提供了统一的界面,同时提供了严格的访问控制并记录了详细的审核日志。

历史攻略:

Python:暴力破解密码 - 压缩包、web实战

Python:暴力破解密码

真伪之眼:探索信息纷争的艺术

Python:浏览网页暴露多少信息?

项目github地址:

https://github.com/hashicorp/vault

官网:

https://www.vaultproject.io/

工作原理:Vault主要使用令牌,并且令牌与客户端的策略相关联。每个策略都是基于路径的,策略规则限制每个客户端的操作和路径的可访问性。使用Vault,您可以手动创建令牌并将其分配给客户端,或者客户端可以登录并获取令牌。下图显示了Vault的核心工作流。
Python:私人定制密码保险库 - Vault_第1张图片

安装依赖:hvac是用来与Vault服务器交互的vault API客户端

pip install hvac

vault-examples - Python:

# -*- coding: utf-8 -*-
# time: 2023/11/30 21:36
# file: run.py
# 公众号: 玩转测试开发
import hvac
import sys

client = hvac.Client(
    url='http://127.0.0.1:8200',
    token='dev-only-token',
)

create_response = client.secrets.kv.v2.create_or_update_secret(
    path='my-secret-password',
    secret=dict(password='Hashi123'),
)

print('Secret written successfully.')

read_response = client.secrets.kv.read_secret_version(path='my-secret-password')

password = read_response['data']['data']['password']

if password != 'Hashi123':
    sys.exit('unexpected password')

print('Access granted!')

容器化启动方式:

docker run --cap-add=IPC_LOCK -e 'VAULT_LOCAL_CONFIG={"storage": {"file": {"path": "/vault/file"}}, "listener": [{"tcp": { "address": "0.0.0.0:8200", "tls_disable": true}}], "default_lease_ttl": "168h", "max_lease_ttl": "720h", "ui": true}' -p 8200:8200 vault:1.12.7 server

浏览器访问:http://:8200/

Python:私人定制密码保险库 - Vault_第2张图片

Python:私人定制密码保险库 - Vault_第3张图片

官方的描述:启动Vault服务器时,它将以密封状态启动。在这种状态下,Vault被配置为知道在哪里以及如何访问物理存储,但不知道如何解密任何物理存储。解封是获取读取解密密钥所需的明文根密钥以解密数据的过程,从而允许访问Vault。在解封之前,Vault几乎不可能执行任何操作。例如,身份验证、管理装载表等都是不可能的。唯一可能的操作是打开Vault并检查密封的状态。

你可能感兴趣的:(python,开发语言)