openstack -- keystone
一、简介
1、什么是keystone
Keystone是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,
包括身份验证、令牌发放和校验、服务列表、用户权限定义等。
2、keystone in openstack
3、基本概念
二、keystone架构
1、基本架构
2、module
-- token:用来生成和管理token
-- catalog:用来存储和管理service/endpoint
-- identity:用来管理tenant/user/role
-- policy:用来管理访问权限
3、backend driver
-- Token Driver:kvs/memcache/sql
-- Catalog Driver:kvs/sql/templated
-- Identity Driver:kvs/sql/ldap/pam
-- Policy Driver:rules
4. 类比理解
# http://www.cnblogs.com/CloudMan6/archive/2016/04/11/5373311.html 直接看懂!!!
# 来自 http://www.cnblogs.com/charles1ee/p/6293387.html 写的非常棒
比如说,某公司年会组织跟团去旅游(公司相当于一个group,公司的员工相当于User)。
到了晚上要住店,首先要先到前台登记(前台就相当于Keystone),对前台(keystone)来说,你要住店要拿出你的证明(对keystone来说就是要证明你是你)。
怎么办?拿出身份证,这里的身份证就相当于Credentials(用户名和密码),前台(keystone)会进行验证你的身份信息(Authentication),验证成功后,
前台(Keystone)会给你一个房卡(Token),并且有不同的房卡(比如:普通卡,会员卡,白金卡等),不同的卡有不同的权限(Role),并且拿到房卡后,
前台(keystone)会给你一个导航图(Endpoint)让你找到你的房间。
并且一个酒店不光会有住宿服务,可能还有别的服务(service),像餐饮,娱乐,按摩等等,
比如说要去吃饭,不知道路线怎么走,看一下导航图(endpoint)就知道了,到餐饮部门(service)会有三个路线(Endpoint)可以走。
为什么会有三个,领导层通道 --> 走后门(admin),内部员工通道 -->(internal),客人通道 -->(public)。
知道如何去,也有了权限(Token/Role)到了餐饮部门,当你点餐的时候,会让你刷上你的会员卡(这个步骤就是service像keystone确认你有没有权限)。
验证成功后,你就可以点餐吃饭