1.什么是keystone
通俗解释 就像出国时海关专门验证和检查自己身份的一个组织undefined专业解释 keystone是openstack中的一个组件,专门为openstack中其它组件成员提供统一认证服务 认证服务里面有身份验证,令牌发放与校验,服务列表,用户权限的定义等。
2.Keystone的功能
- 用户认证:用户权限与用户行为追踪。
- 服务目录:为每个组件服务提供一个可用的服务目录和相应的API入口端点。
3.Keystone的内涵
User
通俗解释 在学校里学生就是User、老师也是User、校长也是User专业解释 在使用OpenStack里使用资源都需要一个身份的标识,这个标识就是用户,可以是人,服务或者系统,只要是使用了openstack服务的对象都可以称为 用户。
Project
通俗解释 现在有要同时举行两个比赛,一个是云计算,一个是网络安全,为了区分开比赛的环境,可以在 OpenStack 中创建两个不同的项目 比赛选手分别加入到对应的项目中,它们比赛时也只会看到与自己比赛相关环境,互不干扰。专业解释 (1) Project(Tenant)是一个人或服务所拥有的资源集合。不同的Project之间资源是隔离的,资源可以设置配额 (2) Project(Tenant)中可以有多个User,每一个User会根据权限的划分来使用Project(Tenant)中的资源 (3) User在使用Project(Tenant)的资源前,必须要与这个Project关联,并且制定User在Project下的Role,一个assignment(关联) 即:Project-User-Role
Token
通俗解释: (1) Token就像是一个会员卡,可以用它来作为访问资源的凭证。 (2) 这个会员卡中含有可访问资源的范围和过期时间。专业解释: (1) Token是数字与字母的组合,当用户访问资源时需要使用的东西,在keystone中主要是引入令牌机制来保护用户对资源的访问,同时引入PKI、PKIZ、fernet、UUID其中一个随机加密产生一串数字,对令牌加以保护 (2) Token并不是长久有效的,是有时效性的,在有效的时间内可以访问资源。
Role
通俗解释 相当于普通用户,vip用户,svip用户,它们所享受的服务是不同的。专业解释 (1) 通过各自服务的 policy.json 文件对 Role 进行访问控制。 (2) 可以给User指定Role,是user获得role对应的操作权限。 (3) 系统默认使用管理Role的角色 管理员用户:admin 普通用户:member(老版本) user(新版本) (4) user验证的时候必须带有Project。老版本叫(Tenant)
Service
通俗解释 接待服务、客房服务、餐饮服务、娱乐服务、商场服务…专业解释 Service即服务,Nova提供云计算的服务,Glance提供镜像管理服务,Swift提供对象存储服务,heat提供资源 编排服务,ceilometer则是提供告警、计费服务,cinder提供块存储服务。
Endpoint
通俗解释 就像一个酒店里的,客户通道、员工通道、老板通道 专业解释 Endpoint就是OpenStack中各个服务暴露给其它人个访问的一个入口,这个入口就是一个URL。 Endpoint分为三类: (1) Admin URL:给admin用户使用,被从常规的访问中分离。 (2) Internal URL:Openstack内部服务使用来跟别的服务通信,只能被局域网访问。 (3) Public URL:其它用户可以访问的地址,可以被全局访问。
Credentials
用于确认用户身份的凭证。
Authentication
确定用户身份的过程。
Service与Endpoint关系
(1) Admin使用者为管理员,能够修改User Project(Tenant) (2) public使用者为客户端,使用者在外网管理自己云服务器 (3) internal使用者为内部组件间相互调用 (4) Admin通常只能对内网开放,public通常可以对外网开放,internal只能对有安装openstack服务的机器开放
举例解释
如果把CTF比赛比作Project,参赛的选手就是User,CTF比赛可以提供交流学习、测评技能、学校之间交流合作等多种服务(Service);
在进入赛场时候会有几个专门场地的入口(EndPoint),比赛现场、观摩现场、内部机房。
在比赛里,有选手队长裁判,级别越高能使用的资源也就越多。
在参赛前,需要拿自己的身份证(Credential),认证与本人是不是对应的(Authenticaiton),然后会给一个参赛证(Token)
然后凭借参赛证,就可以进入比赛现场进行比赛。
User | 住酒店的人 |
---|---|
Credentials | 身份证 |
Authentication | 认证自己的身份证 |
Token | 参赛证 |
Project | CTF比赛 |
Service | 交流学习、测评技能、学校之间交流 |
Endpoint | 专门场地的入口 |
Role | 级别越高能使用的资源也就越多 |
4.工作流程
- 创建一个虚拟机流程图
详细参考