无论是设置私有云、公有云还是专有云,关键在于确保云资源访问权限以及安全。对于OpenStack环境,保护云的关键就是Keystonem,它是OpenStack的身份服务。Keystone提供了很多关键功能,例如,对users进行认证以及决定哪些资源能够授权给users访问
最初,Keystone仅提供基本的user管理,包括构建有组织的资源访问。企业客户对OpenStack的兴趣爱好与日俱增,在被企业接受之前,Keystone需要显著增强其功能来满足公司客户日益增长的需求。
早期的企业需求主要集中在改进Keystone的轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)以及微软活动的目录支持。企业客户想重复利用已经存在的身份管理工具,并且不希望用一个单独的新的身份工具来管理它们的OpenStack users。该功能的支持可以确保Keystone能过够重复使用已有的LDAP以及活动的目录支持(它们是只读的),并且仅仅包含user以及group信息。接下来,安全连接功能加入进来,Keystone能够通过TLS连接到LDAP以及活动目录。
这个基本支持便于与已有企业身份管理器集成,帮助OpenStack与竞争的云基础设施区分开来。当客户要求与多个LDAP以及活动目录集成时,就进入了高级企业集成的第二阶段,该特性对于较大的企业来说是非常重要的,例如收购,需要支持多个身份服务器。作为该阶段的第一部分,客户开始要求真正的联合身份支持,因此希望Keystone能够与联合身份管理工具集成,这些身份管理工具支持知名的以及标准的身份协议,例如安全认定标记语言(Security Assertion Markup Language,SAML)以及OpenID连接。在此期间,Keystone开始增加审计支持,从而更好地满足多个企业客户的合理需求。
有了联合支持的基础,Keystone进入了目前阶段——专注于混合云的联合支持。由于联合支持基础设施已经到位,多个Keystone能够使用标准的联合协议一起工作,从而来支持可互操作的混合云,在本书中会加以描述。我们首先提供如何执行基本的Keystone操作的概述,并且提供使用Keystone身份API的最新版本(v3)的具体示例。然后介绍Keytone对多种token格式的支持,并且描述其优选的token格式如何随着时间演进。介绍完这些基本知识,转到LDAP集合以及联合等高级主题。最后对Keystone未来工作的主题进行了讨论。