OpenStack Fernet Key Rotate
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 李元芳履职梗概
- 下一篇: 是时候该搭建自己的私有云盘了——next