理解 Keystone 核心概念

摘要:
当User请求访问OpenStack时,Keystone会对其进行验证。CredentialsCredentials是User用来证明自己身份的信息,可以是:1.用户名/密码2.Token3.APIKey4.其他高级方式AuthenticationAuthentication是Keystone验证User身份的过程。User访问OpenStack时向Keystone提交用户名和密码形式的Credentials,Keystone验证通过后会给User签发一个Token作为后续访问的Credential。TokenToken是由数字和字母组成的字符串,User成功Authentication后由Keystone分配给User。Token用做访问Service的CredentialService会通过Keystone验证Token的有效性Token的有效期默认是24小时ProjectProject用于将OpenStack的资源进行分组和隔离。Keystone负责管理和维护每个Service的Endpoint。

理解 Keystone 核心概念第1张

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

  1. 管理用户及其权限

  2. 维护 OpenStack Services 的 Endpoint

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

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

理解 Keystone 核心概念第2张

User

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

理解 Keystone 核心概念第3张

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

Horizon 在 Identity->Users 管理 User

理解 Keystone 核心概念第4张

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

理解 Keystone 核心概念第5张

Credentials

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

理解 Keystone 核心概念第6张

Authentication

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

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

理解 Keystone 核心概念第7张

Token

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

  1. Token 用做访问 Service 的 Credential

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

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

理解 Keystone 核心概念第8张

Project

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

这里请注意:

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

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

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

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

理解 Keystone 核心概念第9张

Horizon 在 Identity->Projects 中管理 Project

理解 Keystone 核心概念第10张

通过 Manage Members 将 User 添加到 Project 中

理解 Keystone 核心概念第11张

理解 Keystone 核心概念第12张

Service

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

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

理解 Keystone 核心概念第13张

Endpoint

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

理解 Keystone 核心概念第14张

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

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

理解 Keystone 核心概念第15张

Role

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

Keystone 是借助 Role 来实现 Authorization 的:

  1. Keystone定义Role
    理解 Keystone 核心概念第16张

  2. 可以为 User 分配一个或多个 Role Horizon 的菜单为 Identity->Project->Manage Members理解 Keystone 核心概念第17张

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

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

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

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

理解 Keystone 核心概念第19张

免责声明:文章转载自《理解 Keystone 核心概念》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【段错误 (核心已转储) 最高记录】VirtualBox 桥接模式,虚拟机ping不通宿主机下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MongoDB安装与配置(Ubuntu)

安装 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ 1、Import the public key used by the package management system wget -qO - https://www.mongodb.org/static/pgp/...

openstack cpu pinning

为了减少CPU竞争,提高CPU cache命中率,可以把guest的vcpu pin到host的物理CPU上。 在openstack中,可以添加以下到flavor extra specs: hw:cpu_policy=shared|dedicated hw:cpu_threads_policy=avoid|separate|isolate|prefer 如...

Openstack_通用技术_RPC 远程异步调用

目录 目录 RPC 一个通过 HTTP Request 调用操作函数的 RPC 实现样例 环境 接收 HTTP Request RPC 调用具体的操作函数 测试 RPC RPC: 同一个项目内的不同服务进程之间的交互方式。为不同的进程服务提供了 call()(同步) 和 cast()(异步) 两种调用方式。 问题 1: 在一个 Opensta...

openstack多节点部署运维

一、packstack单点部署 1、配置虚拟机NAT网络连接 查看vmware的NAT网络默认配置 vmwarestation软件点击 上方“编辑”,选择“虚拟网络编辑器”找到vmnet10,是NAT模式,子网地址是172.25.2.0,子网掩码是:255.255.255.0.再点击“NAT设置”,可看到它的网关:172.25.2.2 配置当前虚拟机的网络...

20、EVE-NG华丽登场Openstack镜像,体验私有云!

博客:http://sms1107.blog.51cto.com/(电脑阅读更佳) 加EmulatedLab群更快的熟悉、学会EVE-NG!这里大牛云集,一起交流讨论,您可以得到最快的EVE-NG资讯,资料,方法等,以及其他方面的更多知识,说不定还有意外收获哦! 交流内容不限,只要是正能量的即可。群内风气非常好,国史上最好的技术交流群,国内最大的EVE-N...

Openstack Mitaka 版本1

Openstack Mitaka 版本 计算节点扩容、cinder存储 目录 Openstack Mitaka 版本 计算节点扩容、cinder存储 1.增加计算节点 1.1 更改hosts解析 1.2 配置yum源 1.3 配置时间同步 1.4 安装openstack客户端和openstack-selinux 1.5 安装&配置安装nov...