openstack-keystone简记
2019独角兽企业重金招聘Python工程师标准>>>
验证
- 概念
- 租户(tenant)
- openstack的组织方式
- 一个租户=一个nova的project-id
- 用户(user)
- 代表个体,openstack用user的形式授权
- 一个user=一个证书(credentials)
- 一个证书可分配给1~N个租户
- 验证后,每个tenant会分配有一个特定令牌
- 证书(credentials)
- 唯一标识一个keystone user的密码/其他信息
- 令牌(token)
- 任意比特的文本
- 两种类型
- scoped:代表某个tenant验证过的user
- unscoped:仅代表一个user
- 有效期有限,随时可被撤回
- 角色(role)
- 某个tenant的权限集合
- 租户(tenant)
- 概念
服务目录
- 服务(service)
- nova,glance,swift等
- 端点(endpoint)
- 一个uri
- 模板(template)
- 端点的集合
- 服务(service)
credential的处理和存储方式
- openstack的做法应该是 1.给每个公司分配一个userId,对应有一个证书 2.给每个用户建立多个项目,称为租户 3.证书可以分配给租户,但使用时的,是通过证书生成的令牌 4.令牌有期限,可撤换(类似oauth协议)
- 存储证书方式:
- keystone存储证书的方式,有多种选择, 从内置的sql 到 ldap - kvs - 内存型方式 - 最简单的backend,只需支持主键查询 - sql - 内置的是sqlite - 用SQLAlchemy持久存储 - pam - 使用OS提供的pam机制,以完成 - 授权 - user-tenant的一对一关系 - 需root权限 - ldap - 内置的是一个ldap的桩实现(FakeLdap)
backends/ --> sql.py --> Identity.authenticate(self, user_id, tenant_id, password): user_ref = self._get_user(user_id) 通过user_id获取user的信息 --> Identity._check_password(self, password, user_ref): return utils.check_password(password, user_ref.get('password')) 调用统一的password校验方法 --> utils.check_password (password, hashed): (common/utils.py) password_utf8 = password转为utf编码 return passlib.hash.sha512_crypt.verify(password_utf8, hashed) 调用独立的第三方库passlib中的方法
keystone backends/ --> 使用sql的处理方式 --> Identity.authenticate(self, user_id, tenant_id, password): 通过user_id获取user的信息 --> Identity._check_password(self, password, user_ref): 调用统一的password校验方法 --> utils.check_password (password, hashed): 调用独立的第三方库passlib中的方法,从中可以看出,password传入的是明文,存储的是sha512加密后的结果 passlib.hash.sha512_crypt.verify(password_utf8, hashed)
转载于:https://my.oschina.net/kakablue/blog/128285
openstack-keystone简记相关推荐
- OpenStack Keystone v3 API新特性
OpenStack Keystone v3 API新特性 原连接 http://blog.chinaunix.net/uid-21335514-id-3497996.html keystone的v3 ...
- OpenStack Keystone架构
一. Keystone简介 1. OpenStack Keystone简介 2. Keystone安装与部署 2.1 包安装Keystone 2.2 源码安装源码安装 3 配置运行Keystone 3 ...
- openstack keystone 用户管理
openstack的keystone模块有用户管理和服务管理这两大块内容.这篇文章,先分析下用户管理. 一.概念理解 在讲用户管理,一定要先理解这三个概念: 用户(user):现实生活中的你.我,他. ...
- Openstack keystone、dashboard、swift组件启用SSL
Openstack keystone.dashboard.swift(Mitaka版本.Ubuntu系统)启用SSL 1.Keystone启用SSL 修改endpoint 修改admin-openrc ...
- OpenStack Keystone架构一:Keystone基础
一 什么是keystone keystone是OpenStack的身份服务,暂且可以理解为一个'与权限有关'的组件. 二 为何要有keystone Keystone项目的主要目的是为访问opensta ...
- [openstack][keystone]架构分析
首先介绍一下keystone的整体代码框架,就是: Paste + PasteDeploy + Routes + WebOb 文章整体以ubuntu14.04操作系统为平台,如果为CentOS或其他系 ...
- openstack keystone整体架构与功能
keystone是一个重要的模块,必须得理解. 1. keystone的基本功能 keystone作为openstack的Identity Service,提供了用户信息管理和完成各个模块认证服务. ...
- OpenStack — Keystone
文章目录 Keystone 基础概念 Authentication Credentials Endpoint Domain Group Project Region Role Service Toke ...
- OpenStack 的部署T版(二)——Keystone组件
目录 一.OpenStack安装Keystore组件 Keystone认证流程 1.OpenStack组件安装的顺序 2.创建数据库实例和数据库用户 3.安装.配置keystone.数据库.Apach ...
- 【OpenStack】【Keystone】安装与配置详解
文章目录 参考文档 openstack-keystone包 keystone的配置文件 keystone.conf文件 在mysql中创建keystone数据库,给keystone账户设置权限 初始化 ...
最新文章
- 命令测试post_性能测试脚本编写之三
- echarts 去掉网格线
- Linux新手入门:Unable to locate package错误解决办法
- 计算机免修考试题库,计算机免修考试内容和样卷.doc
- 将字符串中的指定字符全局替换
- java里dir是什么意思_关于文件系统:为什么user.dir系统属性在Java中工作?
- linux 多个秘钥,linux管理多个ssh公钥密钥
- bzoj1179 Atm
- 风控小白入门 | 关于评分模型验证的7大问题回答
- 6.gloox 之 MessageHandler
- Atitit.java 虚拟机的构成 与指令分类 与 指令集合 以及字节码查看工具javjap
- 地震数据插值之深度学习方法
- 几何学在计算机中应用,分形几何在计算机图形学中的应用
- 7-4 华氏度转摄氏度 (5分) java
- 酷睿i3 10105参数 i3 10105功耗 i310105怎么样
- vmware虚拟机centos7扩容
- 儒略日(CSP S2 第一题)
- C# 编译 与 CLR
- java加减法验证码_Java,Springboot 实现算法验证码加减法图形验证码,Kaptcha 实现加减法验证码...
- 电视剧《天道》里的商业思维