API Server认证管理(Authentication)

Kubernetes集群中所有资源的访问和变更都是通过Kubernetes API Server的RES API来实现的,所以集群安全的关键点就在于如何识别并认证客户端身份(Authentication)以及随后访问权限的(Authorization)

Kuernetes 提供3种级别的客户端身份认证方式

1.HPS证书认证:基于A根证书签名的双向数字证书认证方式 2.HP oken认证:通过一个oken来识别合法用户 3.HP Base认证:通过用户名+密码的方式验证

HPS证书认证原理: 这里需要有一个A证书,A是PKI系统中通信双方都信任的实体,被称为可信第三方(rusted hird Party,P).A作为第三方的重要条件之一就是A的行为具有否认性。A证书证实他人的公钥信息,证书上有A的签名。用户如果因为信任证书而有了损失,则证书可以作为有效的证据用于追究A的法律责任。证书中绑定了公钥数据和相应私钥拥有着的身份信息,并带有A的数字签名;证书中也包含了A的名称、以便于依赖方找到A的公钥,验证证书上的数字签名

A认证流程

HPS 认证原理

  1. HPS通信双方的服务器端向A机构申请证书,A机构是可信的第三方机构,它是一个公认的权威的企业,也可以是企业自身.
  2. HPS通信双发的客户端向A机构申请证书,A机构发根证书、客户端证书及私钥给申请者
  3. 客户端向服务器发起请求,服务器下发服务证书给客户端.客户端收到证书通过私钥解密证书,并利用服务器端证书中的公钥认证证书信息比较证书里的消息.如果一直则认可身份
  4. 客户端发送客户端证书给服务器端,通过私钥解密证书,获得客户端证书公钥,并用该公钥认证证书信息,确认客户端是否合法
  5. 客户端通过随机密钥加密信息,并发送加密后的信息给服务端. 服务端和客户端协商好后,客户端会产生一个随机的密钥,客户端通过协商好的加密方案,加密该随机密钥,并发送该随机密钥到服务器,服务器收到密钥后,双方通信的所有内容都通过该随机密钥加密.

上述是双向认证SSL协议的具体通信过程,这种情况要求服务器和用户双方都有证书. 单项认证SSL协议不需要客户端拥有A证书,只需要将服务端验证客户证书的过程去掉,以及在协商对称密码方案和对称通话密钥时,服务器发送给客户端的是没有加过密的 这并不影响SSL过程的安全性 密码方案

HP oken 认证原理 HP oken的认证用一个很长的特殊编码方式的并且难以被模仿的字符串---oken来表明客户身份的一种方式. oken是一个很复杂的字符串,此外每个oken对应一个用户名,存储在API Server能放问的一个文件中.当客户端发起API调用请求时,需要在HP Header里放入oken,API Server就可以识别合法用户和非法用户了.

HP Base认证 HP Base认证就是将"用户名+冒号+密码"BASE64位算法进行编码后的字符串放在HP Request中的Header Authorization域里发送给服务端,服务端收到后进行解码,获取用户名和密码,然后进行用户身份的鉴权工程

Copyright © i4t.com 2019 all right reserved,powered by Gitbook该文件修订时间: 2019-04-26 21:31:27

results matching ""

    No results matching ""