mysql金库模式_Python vault-anyconfig包_程序模块 - PyPI - Python中文网
vaultanyconfig
" rel="nofollow">
使用加载和转储功能扩展hvac hashicorp vault客户端任何配置。这允许自动混合来自保险库的机密,允许您存储配置
填充了所有详细信息的文件保存为机密,然后访问hashicorp保险库将机密加载到内存字典中。
支持的秘密引擎
目前,保险库anyconfig仅支持键值存储的版本1和版本2。
kv2限制仅限Vault anyconfig将读取机密的最新版本,以保持配置的简单性。关于文件
由于暖通空调客户端的限制,您必须在kv2密钥的安装点之后添加数据,例如机密/data/example机密。
文件和格式
有三个配置文件(也可以作为字符串提供),只要正确写入,它们总共可以存储在一个、两个或三个文件中。
本节中的示例将使用json格式,但可以使用anyconfig支持的任何文件格式。
保险库配置
这将配置到保管库的连接,并且必须至少包含一个成员(通常是url参数)。如果本节未提供或
如果保留为空,则将不配置保险库实例,而只使用anyconfig功能。
该部分必须命名为vault_config,并且可以包含任何有效的参数来初始化一个hvac客户端。
示例{"vault_config":{"url":"https://vault.acme.com:8200"}}
保险库身份验证
这提供了用于auto-auth方法的身份验证,并且必须命名为vault-creds。它应该包含名为auth_method的成员
它应该与hvac客户机中的一个auth方法对应(不带"auth/code>"前缀),例如approle。其余成员
应与指定身份验证方法的参数匹配。
示例{"vault_creds":{"role_id":"sample-role-id","secret_id":"sample-secret-id","auth_method":"approle"}}
主要配置
主配置应该由您需要的配置部分组成,而不包括包含的机密(除非需要passthrough模式)
以及一个名为"保险库机密"的部分。在vault_secrets部分中,密钥是点分隔的路径,用于将密钥插入到配置中,
这些值是通往金库中秘密的路径。有关指定机密的不同方法,请参见保险库机密使用部分。
另外,还包括一个vault_files部分,用于从vault检索文件并将其写入磁盘。不鼓励这样做(尽量减少
应首选保留机密,但包含在需要机密文件路径(例如TLS证书)的旧应用程序中使用。
原始配置示例
{"website":{"host":"http://acme.com","site-name":"Great Products for Coyotes","tls-key":"/etc/web/acme.com.key","tls-cert":"/etc/web/acme.com.crt"},"vault_secrets":{"website.db_user":"secret/mysql/customer.user","website.db_pwd":"secret/mysql/customer.password"},"vault_files":{"website.tls-key":"secret/website/proxy.key","website.tls-cert":"secret/website/proxy.cert"}}
结果字典示例:{"website":{"host":"http://acme.com","site-name":"great products","tls-key":"/var/acme/acme.com.key","tls-cert":"/var/acme/acme.com.crt","db_user":"customer","db_pwd":"customer-password"},"vault_files":{"website.tls-key":"secret/website/proxy.key","website.tls-cert":"secret/website/proxy.cert"}}
保险库机密用法
a保险库机密条目必须具有配置键和机密路径。配置键是指向配置项的点分隔路径,应该
被添加或更新。secret_路径是密钥位于保险库中的路径。例如:{"website":{},"vault_secrets":{"website.db_user":"secret/mysql/customer"}}
在vault_secrets中,website.db_user是config_键,而secret/mysql/customer是secret_路径。在保险库中的秘密路径上使用的密钥
将是db_用户
默认情况下,配置键的最后一部分将用作保险库中的密钥。但是,可以添加唯一的密钥
在秘密路径上使用点分隔符。举例来说:{"website":{},"vault_secrets":{"website.db_user":"secret/mysql/customer.user"}}
此示例从mysql/customersecret获取名为user的值,并将其映射到网站部分的db_user键。
这样就可以在不同的配置中使用相同的密钥,而不必强制所有的配置键名称都是相同的。例如,
如果cron作业还需要来自mysql/customer.user的user值,但它的配置名为user,那么您可能会得到一个配置
文件如下:{"website":{},"vault_secrets":{"mailer_cron.user":"secret/mysql/customer.user"}}
键值存储v2限制:必须在装入点之后包含数据,例如,应该
secret/data/mysql/customer使用v2时。
保险库文件的使用
注意如果可能,最好将机密作为字符串处理,并仅在内存中使用它们。仅在为应用程序配置时使用此模式
需要将机密作为文件提供(TLS密钥文件的常见要求)。
注意与保险库机密不同的是,保险库文件部分保留在保险库anyconfig返回的字典中,以便保留映射
将最终配置写入文件时(例如在cli中)。
警告!存储库文件的功能要求它作为应用程序的用户运行,并且必须具有适当的权限
要存储文件的文件和位置。
警告!保险库文件会很高兴地覆盖您的文件,并且不会备份。
警告!如果文件位置发生更改,则不会将其删除!负责任地使用。
有两种主要方法可以使用vault_文件部分。首先是直接指定一个文件位置,并以密钥作为路径。
例如:{"vault_files":{"/var/acme/acme.com.crt":"secret/website/proxy.key"}}
第二种方法是引用配置中的键。这样可以避免在配置的多个部分中重复文件路径。{"website":{"tls-key":"/etc/web/acme.com.key","tls-cert":"/etc/web/acme.com.crt",},"vault_files":{"website.tls-key":"secret/website/proxy.key","website.tls-cert":"secret/website/proxy.cert"}}
默认情况下,secret_path使用file作为保险库机密中的密钥。但是,secret_path可以使用vault_secrets中使用的相同点符号来指定密钥,例如secret/acme/secret key.key
警告!如果将路径与键分开,则秘密路径字符串只能使用点()。额外的点会导致保险库的任何配置抛出
错误.
键值存储v2限制:必须在装入点后包含数据,例如,机密/网站/代理应该是
使用v2时的机密/数据/网站/代理。
配置文件指南
尽管这三个文件都可以合并为一个文件,但建议您将vault-creds和vault-config部分分离为
他们自己的文件并对其使用限制性权限,例如400,因为访问Vault所需的机密必须存在于这些文件中。
用法
初始化
可以通过三种方式初始化vaultanyconfig(对于两种不同的模式):从保险库配置文件(请参见文件和格式)
通过指定初始化hvac客户端时使用的参数
通过不提供任何参数(或带有空的保险库配置部分的配置文件),在这种情况下,它处于passthrough模式,其中机密是从保险库加载的而不是。
使用保险库进行身份验证
您可以使用auto_auth提供一个文件,如"文件和格式"部分所述,也可以直接使用
暖通空调客户端。如果设置了passthrough模式,自动验证将始终返回
是,但hvac客户端方法将失败,因此建议在可能的情况下使用auto-auth。
加载/保存插入密钥的文件
只需根据需要调用load,loads,dump或dumps方法。调用与直接调用anyconfig方法相同。
更改日志
0.0.1-偏差(2019-04-05)pypi上的第一个版本。
欢迎加入QQ群-->: 979659372
推荐PyPI第三方库
相关文章:

awk3.0 — awk变量
awk有一些内置变量和外置变量,内置变量就是awk自带的变量,用户可以拿来直接使用,如FS,OFS等 awk常用内置变量如下几种: FS:输入单词分隔符,默认是空格 OFS:输出单词分隔…

关于yum库的相关问题
局域网共享yum库的两种方式: 一种是基于HTTP的,需要配置httpd。 一种是基于FTP的。需要FTP的支持。 具体设置参数可参照网上的相关教程。 yum库的建立主要涉及到两点: 1、 Yum服务器安装createrepo并创建仓库 2、 安装完成之后,在…

[ JSOI 2015 ] Salesman
\(\\\) \(Description\) 给出一棵以\(1\)为根的\(N\)个节点的树,开始的时候你在\(1\)号节点。 除了\(1\)号节点以外,每个点都有访问次数限制\(t_i\),即到达该点的次数上限。 除了\(1\)号点每个点还有一个权值\(w_i\),这个权值可以…

linux安装python2和3版本_Windows下安装Python2和Python3双版本
现在大家常用的桌面操作系统有:Windows、Mac OS、Ubuntu,其中Mac OS 和 ubuntu上都会自带Python。这里我们只介绍下Windows(我用的Win10)环境下的python2.x 和 python3.x 的安装,以及python2.x 与 python3.x 共存时的配置问题。本节内容pytho…

JS+CSS点击弹出登陆框代码
<head><meta http-equiv"Content-Type" content"text/html; charsetgb2312"><title>弹出登录框的实现代码</title></head><body><style type"text/css">body {margin: 0px;padding:0}#div1 {display:…

awk4.0 — awk格式化
awk格式化使用printf函数,类似于C语言中的printf函数 比如 awk {printf "%s\n", $1} test1 上面的方式是awk每次处理一行,然后进行替换的,如果我们想要传入多个参数,此时就需要多个格式化

在LinearLayout中嵌套RelativeLayout来设置Button的位置(xml文件)
想将Button和ListView分别放在屏幕的一左一右。 单纯使用android:gravity和android:layout_gravity不成功。 于是涉及到RelativeLayout 关键为:android:layout_alignParentRight"true" android:layout_alignParentLeft"true" <?xml versio…

Scrapy爬虫-必备插件
必备插件: lxml, an efficient XML and HTML parser parsel, an HTML/XML data extraction library written on top of lxml w3lib, a multi-purpose helper for dealing with URLs and web page encodings twisted, an asynchronous networking framework https://…

python类和对象课件_简单解释Python的类和对象
前言:对象是模拟真实世界,把数据和程序进行封装 。对象 属性 方法我们需要用类来创造一个对象,就像我们要用图纸来造房子一样。在Python中函数名是以小写字母开头 ,类名是以大写字母开头。0x00:面向对象(Object Oriented)我们一般…

awk5.0 — awk模式之一
再次重申awk的语法 awk [options] ‘Pattern {Actions}’ file1,file2… awk模式,在之前的文章中简单使用了BEGIN和END。这里的模式,其实我们可以理解成是条件,awk是一行行处理数据的,如果满足某个条件awk就处理某一行数据&#x…

CF331A1,331A2
链接:http://codeforces.com/problemset/problem/331/A1 题意:不翻译了。 思路:A1题数据范围小,暴力是可行的,我果断暴力了。不过,话说,除了暴力我还会什么。。。闲话少说。A2的话,采…

SCCM 2012系列9 补丁分发上
HI,今天我会给大家介绍SCCM 2012的补丁分发,分为上中下,当然希望大家多多指教哦 1 服务器配置 1.1 环境要求 如果SCCM和WSUS在同一台服务器上那没什么,但如果WSUS和SCCM分别在不同的服务器上,那么WSUS服务器需要把S…

python基础-垃圾回收机制
垃圾回收 Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。 引用计数 原理:当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1&am…

awk 6.0 — awk模式之二
awk的语法 awk [options] ‘Pattern {Actions}’ file1,file2… 之前介绍了三种模式:空模式,关系运算模式,BEGIN/END模式 正则模式 模式可以理解成条件,正则模式就是满足正则表达式条件的,就执行相应的动作…

根据搜索来路 弹出相应广告
根据搜索来路 弹出相应广告 以下是一段php判断搜索引擎的代码 <?PHP $referer $_SERVER[HTTP_REFERER]; if(!$referer ){ if(ereg(http,$referer)){ $referer eXPlode(.,$referer); if(is_array($referer)){ $referer $referer[1]; if($referer google OR $referer b…

redis mysql查询数据类型_linux 常见的标识与Redis数据库详解
xxxxxx:~$ :第一个 xxx 只的是 用户名第二个 xxx 代表的是 HOST主机~ : 当前用户的根, 根的位置在 /home/用户名$ : 代表当前用户是一个普通用户# : 代表当前用户是超级用户查看当前命令所在的位置pwd文件夹/文件的常见命令mkdirlsrmdirrm创建文件夹mkdirmkdir test…

/etc/hosts/中HOSTNAME错误导致lsnrctl启动错误
系统环境:REDHAT LINUX5.4 ORACLE10.2.0.4,是通过虚拟机复制另外一台数据库系统环境后安装ORACLE获得。故障现象:ORACLE安装正常,本地服务正常,本地数据通过IMP可以正常导入,但是LSNRCTL能够启动ÿ…

16_python_面向对象
一、面向对象和面向过程的区别1、面向对象:一切以对象为中心。有相同属性和动作的结合体叫做对优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易…

怎么用canvas画秒针_用canvas画一个钟表
body{background: #000000;}#c1{background: #FFFFFF;}span{color: #FFFFFF;}var oCdocument.getElementById("c1");var oGcoC.getContext(2d);setInterval(function(){ //循环计时器每一秒调用一次,相当于每隔一秒画一次表盘oGc.clearRect(0,0,oC.offset…

每日英语:China's Labor Market Tightens
Job cuts in China appear to be on the rise, dimming prospects for a labor market that has been a resilient bright spot amid a slowdown in the worlds second-largest economy. dimming:调光;变暗 resilient: 弹回的…

大数据-spark-hbase-hive等学习视频资料
不错的大数据spark学习资料,连接过期在评论区评论,再给你分享 https://pan.baidu.com/s/1ts6RNuFpsnc39tL3jetTkg 转载于:https://www.cnblogs.com/xjh713/p/9704251.html

redis学习 -- 简单动态字符串
Redis没有使用C语言字符串的形式,通过’\0’作为结尾,而是使用了简单动态字符串(simple dynamic string)。 当Redis使用的字符串不需要修改字符串的内容的时候,可以使用C语言提供的字符串,当需要修改内容的时候就使用的是简单动态…
【stanford C++】容器III——Vector类
主要介绍如下5个容器类——Vector, Stack,Queue,Map和Set,各个都表示一重要的抽象数据类型。另外,各个类都是一些简单类型的值的集合,所以称它们为容器类。 暂且我们先不需要知道它们是如何实现的ÿ…

linux编译安装mysql 5.1_linux编译安装mysql5.1.x
安装mysql,安装前准备如果mysql用户不存在,那么添加mysql用户groupadd mysqluseradd -g mysql mysqlmysql编译安装make时间特别长wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.70.tar.gztar -zxvf mysql-5.1.70.tar.gzcd mysql-5.1.70…

Windows PowerShell 批量迁移Windows用户信息
这里说一下我在服务器上本地用户帐号、组的迁移 这里用到的迁移工具是 Windows PowerShell 迁移支持虚拟机和实体机器的迁移,虚拟机和虚拟机的迁移 但是不支持不同语种之间的迁移,比如英语向中文迁移 这里我实验的是虚拟机和虚拟机的迁移 系统是Windows…

css中position的几个值
1. staitic:该值符合文档的初始排版,其中设置的与位置有关的值不起作用。2.relative 该值的偏移量,是在文档初始排版的基础上进行排版,并且覆盖顺序是最新输出的在最上面3.absolute该值元素的定位是以网页文档左上角位基准,并且不…

一个较为详细的ETL系统实现方案
转至:http://www.cognoschina.net/club/viewthread.php?tid5627 1 ETL流程及调度设计(ETL Schedule)(PSP)1. ETL调度的目标快速见效系统要抽取39家分行四个系统的数据进行加工处理,数据从下传文件到ODS库,ODS库到LDM&…

python与anaconda区别_anaconda和python的区别是什么?
anaconda和python的区别是什么?Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。使用python需要下载安装执行python代码的环境。官方的Python包含了核心的模块和库,为了完成其他任务,需要安装其他的模块和库。Anaconda 是Py…

opencv 1 图像载入、显示和输出
三个函数 imread() namedWindow() inshow()1. imread 函数原型: Mat imread(const string& filename, int flags 1 );参数解析: const string& finename 将要载入的图片路径名。 Windows操作系统下面支持如下类型的图片: Window…

英文申请书范例
Dear Sir or Madam, I am applying for the position of Executive Assistant as advertised in the Recruitment Daily last evening. 我来应聘昨天晚上在每日招聘上发布的行政助理一职。 I have over five years of experience within this role during which time I have de…