第二章. 认证服务
一.认证服务概念.
在OpenStack框架中,Keystone(OpenStack Identity Service)的功能是负责验证身份、校验服务规则和发布服务令牌的,它实现了OpenStack的Identity API。Keystone可分解为两个功能,即权限管理和服务目录。权限管理主要用于用户的管理授权。服务目录,类似一个服务总线,或者说是整个OpenStack框架的注册表。认证模块提供API服务、 token 令牌机制、服务目录、规则和认证发布等功能。
1.认证
认证是确认允许一个用户访问的进程。
2.证书
用于确认用户身份的数据。
3.令牌
通常是指一串比特值或字符串,作为访问资源的记号。
4.项目
project及项目,早期版本又称为project,它是各个服务器中的一些可访问的资源合集。
5.用户
Role及角色,Role代表一组用户可以访问的资源权限,例如Nova中的虚拟机和Glance中的镜像。
6.角色
Role即角色,Role代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。
二.认证服务流程
创建用户
使用时报错情况
如有以上情况执行
source /etc/keystone/admin-openrc.sh
Keystone服务安装完毕,通过请求身份令牌验证服务
openstack --os-project-name admin --os-domain-name demo --os-username admin --os-password 000000 --os-auth-url http://controller:35357/v3 token issue
创建一个名为alice,密码为mypassword123,邮箱为123@163.com的用户
openstack user create alice --password mypassword123 --email 123@163.com --domain demo
扩展:创建用户命令的格式
openstack user create [--domain <domain>]
[--password <password>]
[--email <email-address>]
[--enable | --disable]
3:创建角色
我这里创建一个名字叫compute-user的角色
openstack role create compute-user
扩展:创建角色命令格式
openstack role create <name>
4:创建项目
我这里创建一个名字叫acme的项目
openstack project create --domain demo acme
扩展:创建项目命令格式
[--description <description>]
[--enable | --disable]
<project-name>
1.创建角色。
角色限定了用户的操作权限。例如,创建一个角色“compute-user”。
openstack role create compute-user
2.绑定用户和项目权限
添加的用户需要分配一定的权限,这就需要把用户关联绑定到对应的项目和角色。例
如,给用户“alice”分配“acme”项目下的“compute-user”角色,命令如下。
openstack role add --user alice --project acme compute-user
用户“alice”分配“acme”项目下的“compute-user”角色,命令如下。
openstack role add --user alice --project acme compute-user
从上面操作可以看出,绑定用户权限需要用户名称、角色名称和项目名称等信息。具
体命令格式如下。
openstack role add --user <user> --project <project> <role>
wab页面登录
4.使用命令行创建一个名字叫BS_Dept的项目。
openstack project create "BS_Dept" --domain demo --description
业务部
5.创建用户
openstack user create rduser001 --password cloudpasswd --domain demo --email rduser002@example.com
6.绑定用户
openstack role add --user rduser002 --project RD_Dept _member_
第三章
基础控制服务
1.概述
Glance镜像服务实现发现、注册、获取虚拟机镜像和镜像元数据,镜像数据支持存储多种的存储系统,可以是简单文件系统、对象存储系统等。
2.Glance服务架构
Glance镜像服务是典型的C/S架构,Glance架构包括glance-CLIent、Glance和Glance Store。Glance主要包括REST API、数据库抽象层(DAL)、域控制器(glance domain controller)和注册层(registry layer),Glance 使用集中数据库(Glance DB)在Glance各组件间直接共享数据。
所有的镜像文件操作都通过glance_store库完成,glance_store库提供了通用接口,对接后端外部不同存储,如图所示。
(1)客户端(CLient):外部用于同Glance服务的交互和操作。
(2)glance-api:Glance对外的REST接口。
(3)数据库抽闲层(DAL):Glance和数据库直接交互的编程接口。
(4)Glance域控制器:中间件实现Glance的认证、通知、策略和数据链接等主要功能。
(5)注册层:可选层,用于管理域控制和数据库DAL层之间的安全通信。
(6)Glance DB:存储镜像的元数据,根据需要可以选择不同类型的数据库,目前采用Mysql。
(7)Glance Store:Glance对接不同数据存储的抽象层。
(8)后端存储:实际接入的存储系统。可以接入简单文件系统、Swift、Ceph和S3云存储等。当前框架选择存储在本地,目录在控制节点:/var/lib/glance/images/。
3.镜像文件格式
虚拟机镜像需要指定磁盘格式和容器格式。虚拟设备供应商将不同的格式布局的信息存在一个虚拟机磁盘映像,虚拟机的磁盘镜像的格式基本有如下几种。
(1)raw:非结构化磁盘镜像格式。
(2)qcow2:QEMU模拟器支持的可动态扩展、写时复制的磁盘格式,是kvm虚拟机默认使用的磁盘文件格式。
(3)AMI/AKI/ARI:Amazon EC2最初支持的镜像格式。
(4)UEC tarball:ubuntu enterprise cloud tarball 是一个gzip压缩后的tar文件,包含有AMI、AKI和ARI 三种类型的文件。
(5)VHD :microsoft virtual hard disk format(微软虚拟磁盘文件)的简称。
(6)VDI:VirtualBox使用VDI(virtual disk image)的镜像格式,OpenStack没有提供直接的支持,需要进行格式转换。
(7)VMDK:VMWare virtual machine disk format是虚拟机VMware创建的虚拟机格式。
(8)OVF:open virtualization format,开放虚拟化格式&#x