OpenStack Fernet Key Rotate
2019独角兽企业重金招聘Python工程师标准>>>
简单介绍一下OpenStack Fernet Keys 的 Rotate 工作
1.介绍
Openstack 的Fernet key 采用的是 python fernet 库生成的(https://cryptography.io/en/latest/fernet/)
from cryptography.fernet import Fernet
Fernet.generate_key()
Fernet Key 类似:
RoFd7Kucd2RdzIoMcsc5j3nx7cHR0pWi-XVaiOel978=
2.工作方式
- 数值最大的key 是当前的signing key (Primary Key)
- 数值为0 的key 是即将要变成signing key 的key
- 其它数值的key 都是 old keys,它们曾经是Primary Key。系统中也许会有一些tokens 是使用这些key 来加密的,取决于你所设置的过期时间方式
- 新产生的key 通常都是数值为0的
3.怎么来做Rotate
举例,有三个key:0, 1, 2
- 0 变成了 3 ,成为signing key (primary key)
- 1 被删除
- 2 仍然是2
- 新创建了一个key 为0
图示如下:
做个解释:在key rotate 之前,所有的token 都是用2来加密的。key rotate 之后,所有的token 都是用3来加密的,当过来一个token 时候,keystone 同时用3 和2 来解密,总有一个能够work 的。在这个时候,不能再次rotate,否则 2 被删除后,将会出现解密错误。
这将要求你需要有更多的keys,或者过期时间设置的长一些。
举例,一周做一次key rotate,然后token 的过期时间设置为2h。
转载于:https://my.oschina.net/pingjiangyetan/blog/1204239
OpenStack Fernet Key Rotate相关推荐
- OpenStack Pike Minimal安装:二、身份认证
1.在controller节点上安装keystone root@controller ~]# yum install openstack-keystone httpd mod_wsgi -y 2.配置 ...
- 【N版】openstack——认证服务keystone(三)
[N版]openstack--认证服务keystone 一.keystone介绍 1.1keystone Keystone(OpenStack Identity Service)是 OpenStack ...
- 【OpenStack】【Keystone】安装与配置详解
文章目录 参考文档 openstack-keystone包 keystone的配置文件 keystone.conf文件 在mysql中创建keystone数据库,给keystone账户设置权限 初始化 ...
- 【Openstack】实录手动部署Openstack Rocky 双节点(2)- Keystone
第一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 下一篇:手动部署Openstack Rock ...
- Openstack 高可用部署(Ocata版)
一:高可用拓扑 外部网络:192.168.1.0/24 内部网络:172.16.1.0/24 二:实验环境准备 2.1:创建虚拟机并安装操作系统 使用CentOS 7.2 安装时传递内核参数 net. ...
- OpenStack部署(二)keystone
创建Keystone数据库 在控制节点(controller)的MariaDB上创建Keystone数据库: mysql -uroot -p123456 # -u root指定登录mariaDB的用户 ...
- OpenStack双网卡、多节点搭建
1.新建三台虚拟机(controller.computer.object) 一.配置三个源: 1.Base源 CentOS-Base.repo 阿里源 wget -O /etc/yum.repos. ...
- CentOS7安装OpenStack(Rocky版)-02.安装Keyston认证服务组件(控制节点)
本文分享openstack的认证服务组件keystone --------------- 完美的分割线 ---------------- 2.0.keystone认证服务 1)用户与认证:用户权限与用 ...
- 构建OpenStack私有云--第一步:配置Keystone服务
配置Keystone服务 keystone是一个认证服务,所有服务在接收到用户请求时,都必须找keystone服务去做认证,把用户请求中的信息拿出来去匹配,能匹配到才去检查你有没有相应的权限,然后给你 ...
最新文章
- 批量关闭公众号推送_微信推出“一键拒收”长期未读公众号推送功能
- 希捷+ 加了些什么?
- python使用教程pandas-「Python」pandas入门教程
- 10.Azure应用程序网关(上)
- 临界区设计太大或太小有何缺点_这些衣帽间设计案例,装出豪宅范?闺蜜来了都看呆!...
- 趣学python3(48)--列出所有目录及子目录文件
- netapp学习(五)---创建volume
- 【ffmpeg for wince】音视频编解码多平台移植(for window/wince))ffmpeg
- python文本分词_【Python】使用jieba对文本进行分词
- 西安工程大学计算机科学学院刘宝宝,计算机科学学院召开研究生国家奖学金答辩会...
- VMware-workstation-full-8.0.0-471780.exe
- Scala介绍和安装
- java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
- Swing表格JTable通过JTableModel插入行
- windows下调用外部exe程序 SHELLEXECUTEINFO
- OpenCV学习之路(附加资料分享)
- 【excel vba】拆分表格
- 在 Linux 上安装 chm 文件阅读器
- 2020 电赛陕西省赛
- 神经网络翻译是什么意思,神经网络用英文怎么说
热门文章
- 用StringBuilder 或StringBuffer: 把字符串“ABCDE”,转变成字符串“A,B,C,D” (注意,最后一个E是需要删除的)
- WebKit Loader模块介绍
- Gitlab的CI/CD初尝试
- TreeSet,Hashset,Set集合转为整型数组
- MySQL-Xtrabackup备份还原
- 购物车完善版,客户余额及所购商品保存在文件
- Java开发中字符编码出现乱码的处理
- Can not find the tag library descriptor for http://java.sun.com/jsp/jstl/
- Oracle基本概念与数据导入
- c++ map的使用方法[转]