keystone服务

keystone的概念:

keystone是openstack的组件之一,用于为openstack家族中的其他组件成员统一的认证服务,包括:身份认证、令牌的发放与校验、服务列表、用户权限定义等。

基本概念:

User:用户 -身份认证,一个用户可以关联到多个租户

Tenant(租户)-相当于用户组的概念,一个租户可以包括多个用户

role(角色)-关联到“用户-租户对”的元数据。可以关联到多个“用户-租户对”

Token(令牌)-用于验证用户或者“用户-租户对"的请求是否合法。

service(服务)-服务类型和名称。

Endpoint(端点)-某个服务的URL。

keystone在openstack的地位:

用户-角色-服务交互图

keystone的架构图:

token:用于生成和管理Token。

Catalog:用来存储和管理service和endpoint。

identity:用来管理租户、用户、角色和验证。

policy:用来管理访问权限。(不是很理解)

keystone的验证流程:

创建虚拟机的过程:

keystone的工作流程:

解释:

1.alice向keystone发送用户名和密码,验证通过后,keystone会返回一个临时的令牌,和一个service的catalog。

2.alice提供这个临时的token,用keystone请求她所属的所有的租户列表。

3.alice从租户列表中选出tenant,再次向keystone发送请求,验证通过后返回该租户的Service Catalog和Token。

4.alice向nova-api发送创建vm请求,nova向keystone验证,Token是否合法?这个租户-用户是否有权向nova请求服务?

5.keystone返回验证信息,a:租户-用户alice有权访问nova服务;b:这个toaken合法;c:这个token属于租户-用户alice

6.nova根据自己的规则,判断用户是否具有创建虚拟机的权限。若有,就开启虚机,并将状态返回给用户alice。

时间: 2024-10-20 20:05:13

keystone服务的相关文章

CentOS 7部署OpenStack(2)—安装keystone服务

1.创建数据库 [[email protected] ~]# mysql -u root -p -e "CREATE DATABASEkeystone;" Enter password: [[email protected] ~]# mysql -uroot -p -e "GRANT ALL PRIVILEGES ONkeystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';" Enter passw

OpenStack 学习笔记(三):OpenStack keystone服务搭建

--先决条件 1.)创建数据库 MariaDB [(none)]> CREATE DATABASE keystone; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone'; Query OK, 0 rows affected (0.01 sec) MariaDB [(none)]> GRANT ALL

Openstack 安装部署指南翻译系列 之 Keystone服务安装(Identity)

OpenStack系统由分开安装的几个关键服务组成.这些服务可根据其他云需求一起工作,包括计算(Compute),身份(Identity),网络(Networking),镜像(Image),块存储(Block Storage),对象存储(Object Storage),计量(Telemetry),编排(Orchestration)和数据库(Database)服务.可以单独安装任何这些项目,并将其配置为独立的或连接的实体. 本节介绍如何在控制器节点上安装和配置OpenStack Identity服

OpenStack 安装:keystone服务

在前面的章节里面,我们配置了基本环境,也安装keystone服务,并且创建了keystone的数据库,在这一篇里面,我们说怎么配置keystone. 首先编辑keystone服务,需要修改如下数据 [[email protected] ~]# grep '^[a-Z]' /etc/keystone/keystone.conf connection = mysql+pymysql://keystone:[email protected]/keystone provider = fernet 将ke

云计算之openstack基础服务之一keystone服务最佳实践

1.openstack简介 Openstack是一个项目,该项目支持所有类型的云环境的一个开源云计算平台,该项目的目的是为了实现简单,大规模可扩展性,以及丰富功能集,来自世界各地的云计算专家项目作出贡献.Openstack提供了一个基础架构即服务(Iaas)并通过各种配套服务的解决方案,每个服务提供一个应用编程接口来完成整个openstack的结合. 架构图如下: 相关服务介绍: 服务名称 项目名称 描述 Dashboard Horizon 基于openstackAPI接口使用Django开发的

OpenStack 认证服务 KeyStone 服务注册(五)

创建服务实体和API端点 创建服务 openstack service create --name keystone --description "OpenStack Identity" identity 创建endpoint OpenStack使用三个API端点变种代表每种服务:admin,internal和public.默认情况下,管理API端点允许修改用户和租户而公共和内部APIs不允许这些操作.在生产环境中,处于安全原因,变种为了服务不同类型的用户可能驻留在单独的网络上.对实例

OpenStack基础学习及keystone服务配置

一.openstack基础学习 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作.OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单.可大规模扩展.丰富.标准统一的云计算管理平台.OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成. 二.环

OpenStack主要逻辑模块–Keystone身份验证服务

Keystone作为Openstack的核心模块,为Nova(计算),Glance(镜像),Swift(对象存储),Cinder(块存储),Neutron(网络)以及Horizon(Dashboard)提供认证服务 Keystone基本概念介绍之一 User User即用户,他们代表可以通过keystone进行访问的人或程序.Users通过认证信息(credentials,如密码.API Keys等)进行验证. Tenant Tenant即租户,它是各个服务中的一些可以访问的资源集合.例如,在N

openstack O版 安装keystone、memcached 、httpd服务

安装keystone.memcached .httpd服务[[email protected] ~]# yum -y install openstack-keystone httpd mod_wsgi python-openstackclient memcached python-memcached openstack-utils[[email protected] ~]# systemctl enable memcached.service[[email protected] ~]# syst