理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18)

作为 OpenStack 的基础支持服务,Keystone 做下面这几件事情:

  1. 管理用户及其权限

  2. 维护 OpenStack Services 的 Endpoint

  3. Authentication(认证)和 Authorization(鉴权)

学习 Keystone,得理解下面这些概念:

User

User 指代任何使用 OpenStack 的实体,可以是真正的用户,其他系统或者服务。

当 User 请求访问 OpenStack 时,Keystone 会对其进行验证。

Horizon 在 Identity->Users 管理 User

除了 admin 和 demo,OpenStack 也为 nova、cinder、glance、neutron 服务创建了相应的 User。 admin 也可以管理这些 User。

Credentials

Credentials 是 User 用来证明自己身份的信息,可以是: 1. 用户名/密码 2. Token 3. API Key 4. 其他高级方式

Authentication

Authentication 是 Keystone 验证 User 身份的过程。

User 访问 OpenStack 时向 Keystone 提交用户名和密码形式的 Credentials,Keystone 验证通过后会给 User 签发一个 Token 作为后续访问的 Credential。

Token

Token 是由数字和字母组成的字符串,User 成功 Authentication 后由 Keystone 分配给 User。

  1. Token 用做访问 Service 的 Credential

  2. Service 会通过 Keystone 验证 Token 的有效性

  3. Token 的有效期默认是 24 小时

Project

Project 用于将 OpenStack 的资源(计算、存储和网络)进行分组和隔离。 根据 OpenStack 服务的对象不同,Project 可以是一个客户(公有云,也叫租户)、部门或者项目组(私有云)。

这里请注意:

  1. 资源的所有权是属于 Project 的,而不是 User。

  2. 在 OpenStack 的界面和文档中,Tenant / Project / Account 这几个术语是通用的,但长期看会倾向使用 Project

  3. 每个 User(包括 admin)必须挂在 Project 里才能访问该 Project 的资源。 一个User可以属于多个 Project。

  4. admin 相当于 root 用户,具有最高权限

Horizon 在 Identity->Projects 中管理 Project

通过 Manage Members 将 User 添加到 Project 中

Service

OpenStack 的 Service 包括 Compute (Nova)、Block Storage (Cinder)、Object Storage (Swift)、Image Service (Glance) 、Networking Service (Neutron) 等。

每个 Service 都会提供若干个 Endpoint,User 通过 Endpoint 访问资源和执行操作。

Endpoint

Endpoint 是一个网络上可访问的地址,通常是一个 URL。 Service 通过 Endpoint 暴露自己的 API。 Keystone 负责管理和维护每个 Service 的 Endpoint。

可以使用下面的命令来查看 Endpoint。

root@devstack-controller:~# source devstack/openrc admin admin 

root@devstack-controller:~# openstack catalog list

Role

安全包含两部分:Authentication(认证)和 Authorization(鉴权) Authentication 解决的是“你是谁?”的问题 Authorization 解决的是“你能干什么?”的问题

Keystone 是借助 Role 来实现 Authorization 的:

  1. Keystone定义Role

  2. 可以为 User 分配一个或多个 Role Horizon 的菜单为 Identity->Project->Manage Members

  3. Service 决定每个 Role 能做什么事情 Service 通过各自的 policy.json 文件对 Role 进行访问控制。 下面是 Nova 服务 /etc/nova/policy.json 中的示例

上面配置的含义是:对于 create、attach_network 和 attach_volume 操作,任何Role的 User 都可以执行; 但只有 admin 这个 Role 的 User 才能执行 forced_host 操作。

OpenStack 默认配置只区分 admin 和非 admin Role。 如果需要对特定的 Role 进行授权,可以修改 policy.json。

下一节我们将通过例子加深对这些概念的理解。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11 Lambda函数(匿名函数)

C11引入了lambda表达式,使得程序员可以定义匿名函数,该函数是一次性执行的,既方便了编程,又能防止别人的访问。 Lambda表达式的语法通过下图来介绍: Lambda表达式的引入标志,在‘[]’里面可以填入‘’或‘&…

时序约束与分析

时序约束与分析 设计约束所处的环节:约束输入、分析实现结果、设计优化。 设计约束分类 物理约束I/O接口约束(例如引脚分配、电平标准设定等物理属性的约束)、布局约束、布线约束以及配置约束。 时序约束:设计FPGA内部的各种逻辑或走线的延时,反应系统的频率和速度的约束…

通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)

上一节介绍了 Keystone 的核心概念。本节我们通过“查询可用 image”这个实际操作让大家对这些概念建立更加感性的认识。 User admin 要查看 Project 中的 image 第 1 步 登录 当点击时,OpenStack 内部发生了哪些事情?请看下面 Token 中包含了 User 的 R…

从Linux到Meego

网上看到一个Intel的强写的一篇关于meego的文章,很是受用,一篇好的文章就好比一顿每餐,在这里与大家分享。 从2月份Meego发布后一直在学习,现在把一些学到的内容跟大家共享一下。 首先想说说Meego是什么,Meego首先是…

理解 Glance - 每天5分钟玩转 OpenStack(20)

OpenStack 由 Glance 提供 Image 服务。 理解 Image 要理解 Image Service 先得搞清楚什么是 Image 以及为什么要用 Image? 在传统 IT 环境下,安装一个系统是要么从安装 CD 从头安装,要么用 Ghost 等克隆工具恢复。这两种方式有如下几个问题&…

C++ Applications

C的应用 C Applications (English version): http://www.stroustrup.com/applications.html 这里有一个有关系统、应用程序和库的列表,列表中的全部或者大部分代码用C编写,当然,该列表并不全面。即使我如何努力,我也不能列举一个…

四选一多路器

四选一多路器 状态转换 d0 11 d1 10 d2 01 d3 00 信号示意图 timescale 1ns/1ns module mux4_1( input [1:0]d1,d2,d3,d0, input [1:0]sel, output[1:0]mux_out ); //*************code***********//reg [1:0] mux_out_reg;always(*)begincase(sel)2b00:mux_out_reg d3;2b0…

简化从Win32到Windows 10的迁移之路

面对庞大的传统Win32应用程序生态所取得的巨大成功,Microsoft目前在Windows 10方面遭遇了一个重大挑战。这使得该公司面临两难困境:因为潜在买家的市场可能不太大,因此开发者不愿意为Windows 10开发应用;而由于用户无法使用他们惯…

了解OPhone平台---OPhone平台架构和主要开发组件

OPhone平台基于Linux和开放手机联盟(OHA)的Android系统,经过中国移动的创新研发,设计出拥有新颖独特的用户操作界面,增强 了浏览器能力和WAP兼容性,优化了多媒体领域的OpenCORE、浏览器领域的WebKit等业内众…

如何使用 OpenStack CLI - 每天5分钟玩转 OpenStack(22)

本节首先讨论 image 删除操作,然后介绍 OpenStack CLI 的使用方法,最后讨如何 Troubleshoot。 Web UI 删除 image admin 登录后,Project -> Compute -> Images在列表中选择格式为 ARI 和 AKI 的 image,点击点击确认删除 …

异步复位的串联T触发器

异步复位的串联T触发器 T触发器的特征方程 Qn1 T Qn ’ T ’ Qn T⊕Qn T触发器的特征表 信号示意图 timescale 1ns/1ns module Tff_2 ( input wire data, clk, rst, output reg q ); //*************code***********//reg m;always(posedge clk or negedge rst)beginif…

硬件工程师笔试题

转载 http://djydiy.com/index.php/archives/256 模拟电路 1、基尔霍夫定理的内容是什么?(仕兰微电子) 基尔霍夫定理包括电流定律和电压定律。 电流定律(KCL):在集总电路中,任何时刻&#xff0…

Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)

本节通过日志详细分析 Nova Pause/Resume 操作。 有时需要短时间暂停 instance,可以通过 Pause 操作将 instance 的状态保存到宿主机的内存中。当需要恢复的时候,执行 Resume 操作,从内存中读回 instance 的状态,然后继续运行 ins…

Windows® CE 系统中的同步机制

看到篇好文章,呵呵,独乐乐,不如众乐乐 本文转自http://blog.csdn.net/thl789/archive/2006/01/17/582246.aspx ,转载请注明出处 摘要 ... 1 目录 ... 1 一、 WinCE进程 /线程模型概览 ... 1 二、临…

Nova Suspend/Rescue 操作详解 - 每天5分钟玩转 OpenStack(35)

本节我们讨论 Suspend/Resume 和 Rescue/Unrescue 这两组操作。 Suspend/Resume 有时需要长时间暂停 instance,可以通过 Suspend 操作将 instance 的状态保存到宿主机的磁盘上。当需要恢复的时候,执行 Resume 操作,从磁盘读回 instance 的状态…

关于奇偶校验

关于奇偶校验 奇校验(Odd Parity):所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如: 1 0110,0101 0 0110,0101 偶校验(Even Parity):所有传送的数位&am…

More C++ Idioms

http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms

Waveform Audio 驱动(Wavedev2)之:WAV API模拟

Waveform Audio 驱动(Wavedev2)之:WAV API模拟 Waveform 驱动对Windows Mobile来说是一个非常重要的驱动,控制着所有有关声音的操作,包括喇叭、耳机、麦克、听筒等。 要 想对驱动的整个架构和流程都非常的了解,我们必须从…

.NET Core计划弃用project.json

Microsoft最终宣布project.json实验失败,将转回使用.csproj文件。但是转变不会马上发生,最近发布的.NET Core RC2(又称tooling preview 1)将继续使用.xproj 以及project.json。\u0026#xD;\n\u0026#xD;\n从.NET Core RTM/tooling p…

移位运算与乘法

移位运算与乘法 题目描述 已知d为一个8位数,请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输入的d有效(d给出的信号的上升沿表示写入有效) 信号示意图 波形示意图 timescale 1ns/1ns module multi_sel( input [7:0]d …