-

keystone

OpenStack 的 Keystone V3 中引入了 Domain 的概念

Domain,project,user,role,token 的概念和关系

简单来说,

  • Domain - 表示 project 和 user 的集合,在公有云或者私有云中常常表示一个客户

  • Group - 一个domain 中的部分用户的集合

  • Project - IT基础设施资源的集合,比如虚机,卷,镜像等

  • Role - 角色,表示一个 user 对一个 project resource 的权限

  • Token - 一个 user 对于某个目标(project 或者 domain)的一个有限时间段内的身份令牌

它们之间的关系用一个不完整的图来表示:

  • Domain 可以认为是 project,user,group 的 namespace。 一个 domain 内,这些元素的名称不可以重复,但是在两个不同的domain内,它们的名称可以重复。因此,在确定这些元素时,需要同时使用它们的名称和它们的 domain 的 id 或者 name。

  • Group 是一个 domain 部分 user 的集合,其目的是为了方便分配 role。给一个 group 分配 role,结果会给 group 内的所有 users 分配这个 role。

  • Role 是全局(global)的,因此在一个 keystone 管辖范围内其名称必须唯一。role 的名称没有意义,其意义在于 policy.json 文件根据 role 的名称所指定的允许进行的操作。

  • 简单地,role 可以只有 admin 和 member 两个,前者表示管理员,后者表示普通用户。但是,结合 domain 和 project 的限定,admin 可以分为 cloud admin,domain admin 和 project admin。

  • policy.json 文件中定义了 role 对某种类型的资源所能进行的操作,比如允许 cloud admin 创建 domain,允许所有用户创建卷等

  • project 是资源的集合,其中有一类特殊的project 是 admin project。通过指定 admin_project_domain_name 和 admin_project_name 来确定一个 admin project,然后该project 中的 admin 用户即是 cloud admin。

  • Token 具有 scope 的概念,分为 unscoped token,domain-scoped token 和 project-scoped token。下文有说明。

token

token即令牌,身份的凭证。在整个openstack项目中服务与服务之间的通信都需要token来进行身份认证,我们来举个例子:

如上图所示,一个用户需要创建一台虚拟机,用户首先要登入之后先拿到一个project_scope token 这个token包含了用户具有的角色以及服务列表,用户拿着这个令牌去请求nova服务,nova首先会去keystone认证该token是否有效,之后会向glance发送获取镜像的请求,glance接收请求后也会向之前的步骤一样去keystone认证token有效性,最终返回镜像给nova,nova再用镜像去给用户创建虚拟机。
另外需要说明的是token中包含用户所拥有的角色,nova和其他服务还会根据token中的role来判断用户是否有操作权限。

scope token

在keystone中scope token主要有以下几种类型:

  • project-scoped token:该类型token表示用户对具体项目的访问权限,token信息主要包括用户可访问的服务目录、拥有的权限、以及项目信息。

  • domain-scoped token:该类型token表示用户在域范围具有的权限,例如如果用户对域内具有管理员权限,则该用户就能管理域内的所有项目以及用户。跟project-scoped token不同的是project-scoped token包含了可访问项目信息,而domain-scoped token则包含了具有操作权限的域信息。

  • trust-scoped token:当truster授予trustee一定的权限后,trustee可以使用该类型token来操作truster资源,该类型token信息包括truster的项目/域信息以及一系列权限,服务目录。

转自:http://www.cnblogs.com/sammyliu/p/5955984.html

本文转自 周子琪 51CTO博客,原文链接:http://blog.51cto.com/izhouyu/1914710

通过curl访问openstack各服务相关推荐

  1. Istio如何使用相同的端口访问网格外服务

    1.1.背景 写这篇文章的目的是为了说明以下问题:如何使用TCP协议相同的端口访问网格外多个服务? 这是最近直播的时候有一个同学提出的,当时我没有完全明白,"访问多集群" 的意思. ...

  2. 使用cURL操作Openstack对象存储的ReST API

    cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.本文主要是介绍使用该工具和HTTP协议与swift服务如何交互.cURL允许你从命令行或sh ...

  3. openstack mysql配置_《OpenStack云计算实战手册(第2版)》一2.3 用MySQL配置OpenStack镜像服务-阿里云开发者社区...

    本节书摘来异步社区<OpenStack云计算实战手册(第2版)>一书中的第2章,第2.3节,作者: [英]Kevin Jackson , [美]Cody Bunch 译者: 黄凯 , 杜玉 ...

  4. OpenStack Heat服务介绍

     http://zhenhua2000.blog.51cto.com/3167594/1324883 这篇博文开始介绍一下OpenStack中的Orchestration Service:Heat ...

  5. mac for docker访问宿主机服务

    pod访问mac主机网络 Docker For Mac的Docker Daemon是运行于虚拟机(xhyve)中的, 而不是像Linux上那样作为进程运行于宿主机,因此Docker For Mac没有 ...

  6. linux 下使用 curl 访问带多参数,GET掉参数解决方案

    linux 下使用 curl 访问带多参数,GET掉参数解决方案 参考文章: (1)linux 下使用 curl 访问带多参数,GET掉参数解决方案 (2)https://www.cnblogs.co ...

  7. OpenStack Heat服务介绍 (三)

    Heat是OpenStack中的Orchestration services,也就是应用程序的配置管理. Heat用声明式的方法来管理公有云或者私有云中的应用程序.它和其他OpenStack的服务类似 ...

  8. SAP UI5 初学者教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  9. 如何使用curl访问k8s的apiserver

    使用TOKEN授权访问api-server在k8s运维场景中比较常见, apiserver有三种级别的客户端认证方式 1,HTTPS证书认证:基于CA根证书签名的双向数字证书认证方式 2,HTTP T ...

最新文章

  1. Yii rabc角色权限管理文章推荐
  2. java 监听文件内容_java 监听文件内容变化
  3. 树的遍历-Preorde Traversal,Inorder Traversal,Postoder Traversal
  4. vue路由懒加载_优化vue项目的首屏加载速度
  5. 完全相同的4个小矩形如图所示放置_分享 | 你想知道的100个桥梁知识点!
  6. Digit v3.0.0 – 响应式WHMCS模板
  7. 华为一枝独秀!Q3国内智能手机出货量公布:Ov、小米、iPhone侧目
  8. Hibernate读书笔记---继承映射
  9. 你应该知道的 8 个Java 的领军人物
  10. Javascript第五章DOM简介和window对象第一课
  11. html5小游戏需求分析,2015年HTML5就业需求走势总结分析
  12. 稀疏向量计算优化小结
  13. python数据可视化-简单案例
  14. python培训班靠谱吗-天津靠谱的python培训班
  15. 洛谷刷题C语言:数字反转、再分肥皂水、三角形面积、Apples Prologue/苹果和虫子、数的性质
  16. MI 小米米家智能平台
  17. 【Recsys2021】推荐系统论文整理和导读
  18. 知名食品品牌全案咨询公司之塔望整体介绍
  19. 浪潮优派培训笔记:Tomcat服务器
  20. 2018年最流行的5大开源项目

热门文章

  1. VB:将短文件名格式转成长文件名
  2. 一招定乾坤(最佳买点)系列
  3. 智能一代云平台(二十九):通用mapper的改造
  4. 华为海思总裁凌晨邮件燃爆全国:多年备胎一夜转“正”,今后要科技自立
  5. 用AI帮你画新年贺卡:只需输入几个单词,就能模仿大师名作
  6. 2500万美元和AI专家!谷歌出钱出人,要用AI做“对社会有益”的事情
  7. [译] 我多希望在我学习 React.js 之前就已经知晓这些小窍门
  8. Mageia 7 Beta 3 发布,Mandriva Linux 社区分支
  9. 原生JS实现简易转盘抽奖
  10. Exchange修改单封邮件大小命令