通过curl访问openstack各服务
-
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
通过curl访问openstack各服务相关推荐
- Istio如何使用相同的端口访问网格外服务
1.1.背景 写这篇文章的目的是为了说明以下问题:如何使用TCP协议相同的端口访问网格外多个服务? 这是最近直播的时候有一个同学提出的,当时我没有完全明白,"访问多集群" 的意思. ...
- 使用cURL操作Openstack对象存储的ReST API
cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.本文主要是介绍使用该工具和HTTP协议与swift服务如何交互.cURL允许你从命令行或sh ...
- openstack mysql配置_《OpenStack云计算实战手册(第2版)》一2.3 用MySQL配置OpenStack镜像服务-阿里云开发者社区...
本节书摘来异步社区<OpenStack云计算实战手册(第2版)>一书中的第2章,第2.3节,作者: [英]Kevin Jackson , [美]Cody Bunch 译者: 黄凯 , 杜玉 ...
- OpenStack Heat服务介绍
http://zhenhua2000.blog.51cto.com/3167594/1324883 这篇博文开始介绍一下OpenStack中的Orchestration Service:Heat ...
- mac for docker访问宿主机服务
pod访问mac主机网络 Docker For Mac的Docker Daemon是运行于虚拟机(xhyve)中的, 而不是像Linux上那样作为进程运行于宿主机,因此Docker For Mac没有 ...
- linux 下使用 curl 访问带多参数,GET掉参数解决方案
linux 下使用 curl 访问带多参数,GET掉参数解决方案 参考文章: (1)linux 下使用 curl 访问带多参数,GET掉参数解决方案 (2)https://www.cnblogs.co ...
- OpenStack Heat服务介绍 (三)
Heat是OpenStack中的Orchestration services,也就是应用程序的配置管理. Heat用声明式的方法来管理公有云或者私有云中的应用程序.它和其他OpenStack的服务类似 ...
- SAP UI5 初学者教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...
- 如何使用curl访问k8s的apiserver
使用TOKEN授权访问api-server在k8s运维场景中比较常见, apiserver有三种级别的客户端认证方式 1,HTTPS证书认证:基于CA根证书签名的双向数字证书认证方式 2,HTTP T ...
最新文章
- Yii rabc角色权限管理文章推荐
- java 监听文件内容_java 监听文件内容变化
- 树的遍历-Preorde Traversal,Inorder Traversal,Postoder Traversal
- vue路由懒加载_优化vue项目的首屏加载速度
- 完全相同的4个小矩形如图所示放置_分享 | 你想知道的100个桥梁知识点!
- Digit v3.0.0 – 响应式WHMCS模板
- 华为一枝独秀!Q3国内智能手机出货量公布:Ov、小米、iPhone侧目
- Hibernate读书笔记---继承映射
- 你应该知道的 8 个Java 的领军人物
- Javascript第五章DOM简介和window对象第一课
- html5小游戏需求分析,2015年HTML5就业需求走势总结分析
- 稀疏向量计算优化小结
- python数据可视化-简单案例
- python培训班靠谱吗-天津靠谱的python培训班
- 洛谷刷题C语言:数字反转、再分肥皂水、三角形面积、Apples Prologue/苹果和虫子、数的性质
- MI 小米米家智能平台
- 【Recsys2021】推荐系统论文整理和导读
- 知名食品品牌全案咨询公司之塔望整体介绍
- 浪潮优派培训笔记:Tomcat服务器
- 2018年最流行的5大开源项目
热门文章
- VB:将短文件名格式转成长文件名
- 一招定乾坤(最佳买点)系列
- 智能一代云平台(二十九):通用mapper的改造
- 华为海思总裁凌晨邮件燃爆全国:多年备胎一夜转“正”,今后要科技自立
- 用AI帮你画新年贺卡:只需输入几个单词,就能模仿大师名作
- 2500万美元和AI专家!谷歌出钱出人,要用AI做“对社会有益”的事情
- [译] 我多希望在我学习 React.js 之前就已经知晓这些小窍门
- Mageia 7 Beta 3 发布,Mandriva Linux 社区分支
- 原生JS实现简易转盘抽奖
- Exchange修改单封邮件大小命令