keystone认证原理

一 认证原理图

二 UUID认证的原理
当用户拿着有效的用户名和密码去keystone认证后,keystone就会返回给他一个token,这个token就是一个uuid。
以后用户进行其他操作时,都必须出示这个token。例如当nova接到一个请求后,就会用这个token去向keystone进行请求验证,keystone通过比对token,以及检查token的有效期,来判断token是否合法,然后返回给nova这一个请求是否合法。
这一方式十分简单,但是在大业务量的情况下,keystone将会成为性能瓶颈。

三 UUID认证的流程图

四 PKI认证的原理
在keystone初始化时,keystone生成了CA的公钥CA.pem和私钥CA.key。同时,产生了自己的公钥keystone.pub和私钥keystone.key, 然后将keystone.pub进行了CA的签名,生成了keystone.pem。
当用户拿着有效的用户名和密码去keystone认证后,keystone就将用户的基本信息通过keystone.key进行了加密,将这一密文作为token返回给用户。当用户发出一个请求,例如nova拿到token后,首先需要拿到keystone的证书keystone.pem(这一过程只需要进行一次),然后通过keystone.pem来解密,获得用户信息,就可以知道用户是否合法。
对于用户的token,还需要对token的合法时间,以及token是否还存在进行判断。所以当nova每一次拿到token后还要向keystone询问一次token的失效列表,来查看token是否失效。当然这一过程对于keystone负载还是相对轻的,所以PKI还是有效解决了keystone成为性能瓶颈的问题。

五 PKI认证流程图

你可能感兴趣的:(Openstack)