OpenStack互操作认证方法及内容

合集下载

openstack身份认证流程

openstack身份认证流程

Openstack身份认证流程随着云计算技术的不断发展,OpenStack作为一个开源的云计算评台,为用户提供了弹性、可扩展、可靠的云计算服务。

身份认证是OpenStack评台的重要组成部分,它通过验证用户的身份和权限,确保用户能够安全地访问云服务,保护云计算评台的安全和稳定运行。

本文将介绍OpenStack身份认证的流程和工作原理,帮助读者更好地理解和运用OpenStack评台。

一、认证服务1.1 KeystoneKeystone是OpenStack的身份认证服务,它负责管理用户、角色和权限,验证用户的身份,颁发访问令牌,并对用户的请求进行授权。

Keystone支持多种认证机制,包括用户名密码认证、令牌认证和第三方身份认证,能够满足不同用户的需求。

1.2 认证流程OpenStack身份认证流程包括用户认证和访问控制两个阶段。

在用户认证阶段,用户需要提供身份信息,经过验证后获取访问令牌;在访问控制阶段,用户使用令牌访问云服务,根据令牌中的权限信息,进行访问控制。

二、认证流程详解2.1 用户认证用户认证是用户与OpenStack评台建立信任关系的第一步,用户需要提供自己的身份信息,通过验证后获取访问令牌,以便后续访问云服务。

1) 用户身份信息用户身份信息包括用户名和密码,用户通过提供正确的用户名和密码,证明自己的身份。

除了用户名和密码,用户还可以通过其他方式提供身份信息,例如证书、密钥等。

2) 身份验证用户提供身份信息后,Keystone会对用户的身份进行验证,根据用户提供的信息,判断用户是否合法。

如果用户身份验证通过,Keystone 会生成并颁发一个访问令牌给用户;否则,用户将无法访问云服务。

3) 访问令牌访问令牌是用户访问OpenStack云服务的凭证,用户在验证通过后会获得一个访问令牌,令牌中包含了用户的身份信息和权限信息。

用户在使用OpenStack的各项服务时,需要在请求中携带访问令牌,以证明自己的身份和权限。

云计算技术OpenStack云计算平台应用OpenStack身份管理

云计算技术OpenStack云计算平台应用OpenStack身份管理

项目四 OpenStack身份管理云计算技术OpenStack云计算平台能力要求CAPACITY了解OpenStack身份管理基础知识掌握项目、用户和角色的管理操作掌握基于oslo.policy的权限管理内容导航CONTENTS任务一理解身份服务任务二管理项目、用户和角色任务三通过oslo.policy库实现权限管理任务说明01OPTION02OPTION03OPTION了解Keystone的概念和功能理解Keystone的管理层次结构了解Keystone的认证流程04OPTION通过API操作来进一步理解Keystone认证知识引入•Keystone的基本概念•认证(Authentication)——确认用户身份的过程,又称身份验证。

•凭证(Credentials)——又称凭据,是用于确认用户身份的数据。

•令牌(Token)——访问OpenStack API和各种资源需要提供的一种特殊的文本字符串。

•用户(User)——使用OpenStack云服务的个人、系统或服务的账户名称。

•项目(Project)——分配和隔离资源或身份对象的一个容器,也是一个权限组织形式。

域(Domain)——项目和用户的集合,目的是为身份实体定义管理界限。

•组(Group)——表示域所拥有的用户集合的容器。

•角色(Role)——用于定义用户权利和权限的集合。

•端点(Endpoint)——OpenStack组件能够访问的网络地址,通常是一个URL。

•服务(Service)——提供一个或多个端点,供用户通过这些端点访问资源和执行操作。

•分区(Region)——OpenStack部署的通用分区。

知识引入•Keystone的主要功能•身份认证(Authentication)——令牌的发放和校验。

•用户授权(Authorization)——授予用户在一个服务中所拥有的权限。

•用户管理(Account)——管理用户账户。

•服务目录(Service Catalog)——为每个OpenStack服务对外提供一个可用的服务目录和相应的API端点。

openstack创建虚拟机流程

openstack创建虚拟机流程

虚拟机创建流程
第一步,图形界面输入用户名密码到keyston进行认证,认证通过之后会分配一个token,然后使用该token即可访问其他服务,
第二步将创建虚拟机的请求转换给REST API并发送给NOVA API,
第三步nova其拿着此token到keyston查询是否合法,
第四步NOV api和数据库进行交互,将要创建的虚拟机信息写入到数据库,
第五步发送消息大rabbitMQ,消息会发送给nova scheduler,
第六步nova scheduler算法确认虚拟机将被创建在哪个物理机上,
第七步nova scheduler和数据库进行交互,将虚拟机生成的信息写入到数据库,
第八步nova computer接收到消息进行虚拟机创建,
第九步nova computer到数据库查询该虚拟机要创建的信息,
第十步nova conductor和数据库进行沟通,新版的openstack使用nova conductor代替第九步的操作,
第十一步nova conductor更新数据库信息,然后nova computer从数据库获取到虚拟机的创建信息后进行下一步创建虚拟机的操作,
第十二步联系glance获取镜像,
第十三步glace联系keyston进行认证,
第十四步联系neutron获取网络,
第十五步neutron联系keyston进行认证,
第十六步nova computer再联系cinder获取磁盘,
第十七不cinder再到keyston进行认证,
第十八步nova computer调用KVM创建虚拟机。

OpenStack云计算基础架构平台技术与应用项目3 认证服务-美化版

OpenStack云计算基础架构平台技术与应用项目3 认证服务-美化版

[--internalurl <internal-url>]
--region <endpoint-region> 创建端点的区域名称
--service <service> 端点创建的使用服务名称
--publicurl <public-url> 对外服务的URL地址 --adminurl <admin-url> 管理网络访问的URL地址
• 根据企业人员部门分配,现构建3个租户,100个
用户,管理人员拥有管理员权限,其余人员拥有普 通用户权限,规划表如下面表格所示。
2

创建租户、用户并绑定用户权限
任务要求—部门规划表
部门

租户

用户

权限
研发部门
业务部门 IT部门
RD_Dept
BS_Dept IT_Dept
rduser001- rduser050
管理认证用户
图形化用户管理
图形化界面操作
以管理员身份登录到 dashboard,进入“管 理员/认证面板/项目” 可以看到项目(租户) 列表如图所示。
1
keystone管理认证用户
管理认证用户
分配权限
单击图界面中的【修改用户】 按钮,进入“acme”项目中
。在这个界面中可以查看刚
加入用户“alice”,把该用 户分配给用户对应的角色 “compute-user”
[--description <tenant-description>] [--enabled <true|false>]
1
keystone管理认证用户
管理认证用户
创建角色

openstack中的常用命令

openstack中的常用命令

标题:OpenStack中的常用命令随着云计算技术的迅速发展,OpenStack作为一种开源的云评台解决方案,受到了越来越多企业和个人的关注和应用。

在OpenStack的日常运维中,掌握一些常用的命令对于管理和维护OpenStack环境至关重要。

本文将介绍一些常见的OpenStack命令,并对其使用方法进行详细的解释。

一、OpenStack认证命令在使用OpenStack命令行工具之前,首先需要进行认证,以获取相应的访问权限。

OpenStack认证命令通常包括以下几个部分:1.1. 登入OpenStack```openstack login```该命令用于登入OpenStack评台,需输入用户名和密码进行认证。

1.2. 获取访问令牌```openstack token issue该命令用于获取认证后的访问令牌,以便后续的操作。

访问令牌具有一定的时效性,过期后需要重新获取。

1.3. 列出可用的服务```openstack catalog list```该命令可以列出当前OpenStack评台上可用的服务,包括计算、网络、存储等服务的列表。

二、OpenStack计算命令OpenStack的计算服务(Nova)是其中最核心的部分之一,下面介绍一些常用的计算命令:2.1. 创建虚拟机实例```openstack server create```该命令用于在OpenStack评台上创建新的虚拟机实例,需要指定实例的规格、镜像、网络等参数。

2.2. 查看虚拟机实例列表```openstack server list```该命令可以列出当前OpenStack评台上所有的虚拟机实例,包括其状态、IP位置区域等信息。

2.3. 启动/停止/重启虚拟机实例```openstack server start/stop/reboot```这些命令用于启动、停止或重启指定的虚拟机实例,可以对实例进行灵活的操作。

2.4. 删除虚拟机实例```openstack server delete```该命令用于删除指定的虚拟机实例,需要谨慎操作,以免误删重要数据。

手动安装OpenStack 实验2:认证服务Keystone的安装、配置

手动安装OpenStack 实验2:认证服务Keystone的安装、配置

实验二:认证服务Keystone的安装、配置实验目的本次实验的目的是为了让学生通过实际安装配置Keystone来加深对Keystone组件的理解。

(本次实验Keystone安装在controller上)实验内容配置认证服务配置apache服务创建服务实体和API端点创建一个domain,projects、users、roles验证操作创建OpenStack脚本实验步骤①、首先输入密码123456,登录进入虚拟机。

②、然后单击Terminal,进入命令行界面。

③、由于所有步骤与操作均需要在root权限下执行,所以需要切换到root用户下:su输入密码:1234561. 配置认证服务(CONTROLLER下)以root用户身份进入数据库(本环境中默认MYSQL数据库密码为123456):mysql -u root -p创建keystone数据库:CREATE DATABASE keystone;赋予keystone相关权限(替换KEYSTONE_DBPASS为你自己的密码,如123456):GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';退出数据库:quit生成一个20位随机值作为初始配置期间管理令牌并记录下来:openssl rand -hex 10例如:我们这里生成的值为34755335fed9c5827e34禁用keystone自动启动:echo "manual" > /etc/init/keystone.override安装软件包keystone apache2 libapache2-mod-wsgi:apt-get install keystone apache2 libapache2-mod-wsgi编辑/etc/keystone/keystone.conf:gedit /etc/keystone/keystone.conf在[DEFAULT]下面添加(替换ADMIN_TOKEN为之前生成的20位随机数,例如本例中生成的34755335fed9c5827e34),记得把注释的#去掉。

openstack操作手册

openstack操作手册

openstack操作手册一、OpenStack简介与架构1.OpenStack概述OpenStack是一个开源的云计算平台,它提供了一整套解决方案,用于部署私有云和公有云。

OpenStack具有高度可扩展、弹性和易于管理的特点,广泛应用于全球各大企业及政府机构。

2.OpenStack核心组件OpenStack主要由以下几个核心组件组成:(1)Nova:计算服务组件,负责虚拟机实例的创建、启动、停止和删除等操作。

(2)Glance:镜像服务组件,用于管理虚拟机镜像的创建、存储和分发。

(3)Swift:对象存储服务组件,提供海量、高可用的对象存储服务。

(4)Keystone:认证服务组件,负责OpenStack整个系统的身份认证和权限管理。

二、OpenStack部署与运维1.部署流程OpenStack部署主要包括以下步骤:(1)准备环境:包括硬件、网络、操作系统等基础设施。

(2)安装OpenStack:根据官方文档,遵循相应的安装教程。

(3)配置OpenStack:配置各个组件之间的关系,如数据库、消息队列等。

(4)启动OpenStack:启动各个组件,并确保它们正常运行。

2.运维策略运维OpenStack时,需要注意以下几点:(1)监控:定期检查系统性能、资源使用情况,确保OpenStack稳定运行。

(2)备份:定期对关键数据进行备份,以防数据丢失或损坏。

(3)安全:确保OpenStack集群的安全性,采取必要的防火墙、加密等措施。

(4)升级:根据OpenStack版本更新计划,及时进行组件升级。

三、OpenStack常用操作教程1.创建与删除实例(1)登录OpenStack控制台,进入Nova组件。

(2)选择实例类型、镜像、存储等信息。

(3)确认配置无误后,创建实例。

(4)实例创建完成后,可以登录到虚拟机进行操作。

(5)若需要删除实例,请在Nova组件中进行操作。

2.配置网络与存储(1)进入Neutron组件,配置虚拟网络、子网和路由器。

openstack等保测评操作手册

openstack等保测评操作手册

文章标题:深度探析OpenStack等保测评操作手册一、引言在当今信息化时代,云计算已经成为企业IT建设的重要组成部分。

而OpenStack作为一种开源的云计算评台,其在企业中的应用越来越广泛。

然而,为了确保OpenStack评台的安全性、可靠性和可用性,进行等保测评至关重要。

本文将以深度和广度兼具的方式,探讨OpenStack等保测评操作手册,帮助读者更深入地理解和掌握这一重要的主题。

二、OpenStack等保测评操作手册的概述1. OpenStack的基本概念在开始探讨等保测评操作手册之前,首先需要了解OpenStack的基本概念。

OpenStack是一种开源的云计算评台,它由一系列服务组成,包括计算、存储、网络等。

其具有高度可扩展性、灵活性和可定制性,可以满足企业各种不同的云计算需求。

2. 等保测评的重要性等保测评是指对信息系统进行安全性评估和等级保护的过程。

在OpenStack评台上进行等保测评可以帮助企业识别和解决安全风险,确保系统的稳定性和安全性,提高系统的可信度和可用性。

3. 操作手册的作用OpenStack等保测评操作手册是为了指导企业在进行等保测评时的具体操作流程和注意事项。

它包括对评台各项功能和配置的具体要求,并指导评估人员如何进行测试和评估。

三、深度探究OpenStack等保测评操作手册1. 部署和配置在进行等保测评操作时,首先需要对OpenStack评台进行部署和配置。

这包括安装和配置各个组件,设定初始的安全策略和权限控制机制,确保系统的初始设置符合等保要求。

2. 安全策略和权限控制OpenStack评台的安全策略和权限控制是等保测评的关键内容。

操作手册应包括对安全策略和权限控制的详细要求,包括用户权限管理、网络访问控制、数据加密等方面的要求和操作步骤。

3. 日志和审计对系统的日志和审计功能进行评估也是等保测评的重要内容。

操作手册应包括对系统日志和审计功能的要求,以及如何进行日志记录、存储和分析的具体操作步骤。

openstack操作手册

openstack操作手册

openstack操作手册(最新版)目录一、OpenStack 概述二、OpenStack 组件介绍1.Glance2.Keystone3.Neutron4.Swift5.Nova三、OpenStack 的功能1.提供 REST API2.支持多种方式存储图像3.对实例执行 SN四、OpenStack 的配置与优化1.修改配置文件2.插件的使用五、OpenStack 的测试与实践1.Rally 压力测试2.Tempest 功能性测试正文OpenStack 是一个开源的云计算平台,旨在提供基础设施即服务(IaaS)和平台即服务(PaaS)功能。

它由多个组件组成,共同协作以实现计算、存储和网络资源的管理。

OpenStack 的主要组件包括:1.Glance:Glance 是一个用于管理 OpenStack 镜像的服务。

它能够上传、存储、查询和获取镜像的元数据和镜像本身。

Glance 还支持多种方式存储镜像,包括普通的文件系统、Swift、Amazon S3 等。

2.Keystone:Keystone 是 OpenStack 的身份认证服务,负责管理用户的凭据和访问控制。

它能够提供 REST API,让用户能够查询和获取镜像的元数据和镜像本身。

Keystone 的配置文件中,需要设置 authuri、pastedeploy 和 glancestore 等地方。

3.Neutron:Neutron 是 OpenStack 中负责提供网络服务的组件,基于软件定义网络的思想,实现了网络虚拟化下的资源管理,即:网络即服务。

Neutron 支持多种虚拟交换机,一般使用 Linux 桥接器、Open vSwitch 创建传统的 VLAN 网络,以及基于隧道技术的 Overlay 网络,如 VXLAN 和 GRE。

4.Swift:Swift 是 OpenStack 的对象存储服务,用于存储非结构化数据,如文本文件、图片等。

openstack poc漏洞验证流程

openstack poc漏洞验证流程

OpenStack就像开源云评台的摇滚巨星。

但是,在我们被它所有酷酷的特征过度地冲走之前,我们需要确保它不会在其概念证明(PoC)
设置中隐藏任何弱点。

我们要去一个小的弱小的猎物寻找任何薄弱点。

这就像一个侦探,但为云安全!我们将采取一些关键步骤找出
这些弱点,评估它们,然后告诉他们谁是老板。

这就像一个高招的游戏隐藏和寻找,但与网络威胁。

让弱点核查冒险开始!
OpenStack PoC脆弱性验证过程的第一个激动人心的步骤是,通过环境开始一场令人激动的冒险,配备自动扫描工具,以发现隐藏的脆弱性。

这就像一个网络间谍搜索错误的配置,过时的软件,和潜伏在阴
影中的潜伏的安全问题。

等等,还有更多!我们还对OpenStack配置、网络架构和访问控制进行人工检查和分析,破解自动化工具可能
错过的潜在弱点。

这就像解开谜题,揭示OpenStack环境的安全秘密。

这个步骤对于深入了解现有的安全态势是绝对必要的——这是寻求知识和保护!
一旦我们发现了这些狡猾的弱点,是时候把袖子卷起来,并把它们真正测试!想象一下:我们谈论的是潜入细小的细节,看看这些发现有多严重和可开发。

我们谈论的是一些严肃的间谍行为渗透测试利用
这些薄弱点以及观察这一切在OpenStack的野生世界中的表现等等,还有更多!我们不只是停留在那里。

我们还在缩小每一种脆弱性给
我们的《行动纲领》环境带来的潜在风险。

这就像我们是IT世界的侦
探,评估,优先,确保那些坏人没有机会。

这就像一辆翻车车验证和验证,都是为了确保我们在游戏的顶端当它保持事物的安全。

openstack操作手册

openstack操作手册

openstack操作手册一、介绍OpenStack是一种开源的云计算平台,通过将计算、存储和网络资源整合起来,提供一个灵活可扩展的云基础设施。

本操作手册将为您提供关于OpenStack的详细指南,帮助您了解和操作这一强大的云计算平台。

二、OpenStack的组件1. NovaNova是OpenStack的计算服务组件,它提供虚拟机管理和资源调度。

您可以使用Nova创建、启动、暂停、删除和迁移虚拟机实例,以满足不同的计算需求。

2. NeutronNeutron是OpenStack的网络服务组件,它提供虚拟网络的创建和管理。

您可以使用Neutron创建和管理虚拟网络、子网和路由器,以及配置虚拟机实例的网络连接。

3. CinderCinder是OpenStack的块存储服务组件,它允许用户创建和管理块设备,并将其挂载到虚拟机实例上。

您可以使用Cinder创建、删除、扩展和快照块设备,以满足存储需求。

4. SwiftSwift是OpenStack的对象存储服务组件,它提供了一个高可扩展的对象存储系统。

您可以使用Swift上传、下载、复制和删除对象,并进行对象的元数据管理。

5. KeystoneKeystone是OpenStack的身份认证服务组件,它提供了用户和角色的管理,以及身份认证和授权功能。

您可以使用Keystone创建用户、角色和项目,并为其分配相应的权限。

6. GlanceGlance是OpenStack的镜像服务组件,它允许用户上传、注册和管理虚拟机镜像。

您可以使用Glance创建、删除、共享和复制虚拟机镜像,并为虚拟机实例的启动提供基础镜像。

三、安装和配置OpenStack1. 硬件和软件要求在安装OpenStack之前,您需要确保服务器满足一定的硬件要求,并安装了支持的操作系统和相关软件。

2. 安装OpenStack组件您可以根据需要选择安装和配置OpenStack的各个组件,以满足特定的云计算需求。

keystone认证服务流程

keystone认证服务流程

keystone认证服务流程
Keystone认证服务是OpenStack中的身份认证和访问管理服务,它提供了用户认证、角色管理、策略管理等功能。

这篇文章将介绍Keystone认证服务的流程。

Keystone认证服务的流程可以分为以下几个步骤:
1. 用户认证
用户通过客户端向Keystone发送认证请求,请求中包含用户名和密码。

Keystone通过验证用户名和密码来确定用户是否合法。

2. 访问令牌
如果用户认证成功,Keystone会为该用户生成一个访问令牌。

访问令牌是OpenStack中的一个重要概念,它是用户访问OpenStack 系统资源的凭证。

3. 访问控制
访问令牌生成后,Keystone会对用户所拥有的角色进行验证。

角色是Keystone中的另一个重要概念,它是用来定义用户对OpenStack资源的访问级别的。

4. 访问资源
如果用户的角色验证通过,Keystone会将访问令牌返回给客户端。

客户端通过携带访问令牌来访问OpenStack系统资源。

5. 访问限制
OpenStack在访问资源时还会进行访问限制。

访问限制是用来限制用户对资源的访问权限和访问范围的。

6. 访问日志
OpenStack还会记录用户的访问日志,这是为了方便监控和审计用户的操作,以保证系统的安全性和稳定性。

总之,Keystone认证服务是OpenStack中的重要组成部分,它能够确保只有经过认证的用户才能够访问OpenStack系统资源,并且能够限制用户的访问权限和访问范围,从而保证系统的安全性和稳定性。

openstack知识点总结

openstack知识点总结

openstack知识点总结OpenStack是一个开源的云计算平台,它的目标是提供一个可伸缩的云计算平台,使用户能够轻松地构建和管理私有云和公有云。

OpenStack由一系列组件和项目组成,每个项目都提供不同的功能和服务。

在本文中,我们将对OpenStack的核心知识点进行总结,包括其架构、组件、网络、存储、身份认证等方面的内容。

一、OpenStack架构OpenStack的架构是一个由多个组件和服务构成的系统,其中各组件相互之间通过API进行通信,实现云计算服务。

OpenStack的架构主要包括以下几个组件:1.计算(Nova):Nova是OpenStack的计算服务组件,用于虚拟机和其他实例的管理。

它提供了虚拟机的创建、启动、停止和销毁等功能。

2.网络(Neutron):Neutron是OpenStack的网络服务组件,用于配置和管理虚拟网络。

它提供了网络拓扑的管理、IP地址分配、虚拟网络的连接等功能。

3.存储(Cinder、Swift):Cinder是OpenStack的块存储服务组件,用于提供持久化存储。

Swift是OpenStack的对象存储服务组件,用于存储非结构化数据。

4.身份认证(Keystone):Keystone是OpenStack的身份认证服务组件,用于用户和服务的身份认证、授权和访问控制。

5.图像(Glance):Glance是OpenStack的镜像服务组件,用于创建和管理虚拟机的镜像。

6.数据库(Trove):Trove是OpenStack的数据库服务组件,用于提供数据库即服务(DBaaS)。

7. 资源编排(Heat):Heat是OpenStack的资源编排服务组件,用于定义和管理云资源的部署。

二、OpenStack组件1. NovaNova是OpenStack的计算服务组件,它通过管理和调度计算资源,为用户提供虚拟机和其他实例的创建和管理。

Nova提供了一组API,用于控制虚拟机的生命周期,包括创建、启动、暂停、恢复、停止、销毁等操作。

keystone认证服务流程

keystone认证服务流程

keystone认证服务流程Keystone认证服务流程Keystone是OpenStack中的一个重要组件,它提供了身份认证和授权服务。

在OpenStack中,用户需要通过Keystone认证才能访问其他服务。

本文将介绍Keystone认证服务的流程。

一、用户认证用户在访问OpenStack服务之前,需要先进行身份认证。

Keystone支持多种认证方式,包括用户名/密码、令牌、证书等。

其中,用户名/密码是最常用的认证方式。

用户在进行用户名/密码认证时,需要向Keystone发送认证请求。

Keystone会验证用户提供的用户名和密码是否正确。

如果验证通过,Keystone会生成一个令牌,并将该令牌返回给用户。

二、令牌验证用户在访问其他OpenStack服务时,需要携带令牌进行访问。

服务会向Keystone发送令牌验证请求。

Keystone会验证令牌的有效性,并返回验证结果。

如果令牌验证通过,服务会根据令牌中的信息进行授权。

如果令牌验证失败,服务将拒绝用户的访问请求。

三、令牌过期令牌有一定的有效期,过期后需要重新进行认证。

Keystone会定期清理过期的令牌,以释放资源。

四、权限管理Keystone还提供了权限管理功能。

管理员可以通过Keystone管理界面对用户进行授权,以限制用户的访问权限。

管理员可以为用户分配角色,角色包含一组权限。

用户在访问服务时,需要拥有相应的角色才能访问。

五、总结Keystone认证服务是OpenStack中的一个重要组件,它提供了身份认证和授权服务。

用户需要通过Keystone认证才能访问其他服务。

Keystone支持多种认证方式,包括用户名/密码、令牌、证书等。

令牌有一定的有效期,过期后需要重新进行认证。

管理员可以通过Keystone管理界面对用户进行授权,以限制用户的访问权限。

OpenStack互操作认证方法及内容

OpenStack互操作认证方法及内容

1. openStack互操作性认证内容DefCore(OpenStack CoreDefinition)是OpenStack 董事会在2014 年11 月提出的一个项目,即认定厂商的部署为合法OpenStack 的最基本的功能。

OpenStack 希望基于这一项目实现不同OpenStack 商业解决方案之间的互操作性。

OpenStack 的云计算运营商可以选择在其云计算部署许多其它部件,但它们都必须通过测试所需要的最基本的功能。

根据OpenStack 官方网站显示,OpenStack 互操作性测试包括三项不同的官方许可程序,包含OpenStack 软件的产品都可以申请运行这些程序,通过者就可以获得“OpenStack Powered”官方标识。

三项官方的许可程序分别是,●OpenStack Powered Platform●OpenStack Powered Compute●OpenStack Powered Object Storage。

其中,OpenStack Powered Platform 的测试结合了OpenStack Powered Compute 和OpenStack Powered Object Storage 的技术要求。

2. 互操作性测试工具- RefstackRefstack 是一个工具集用于OpenStack 云之间的互操作性测试。

它由两部分组成:服务器和客户端。

Refstack 服务器通过API 收集来自私有云和公有云供应商的互操作性的测试数据,使用UI 展现用户上传的数据并查看前面提到的DefCore 定义的基本功能的测试结果。

Refstack 客户端封装了OpenStack Tempest 测试框架,将运行Tempest API 测试,并会按照Refstack API 的期望来格式化测试结果,将数据上传到Refstack 服务器。

3. Refstack 客户端安装refstack-client 可以被安装在Ubuntu、Centos, RHEL 和OpenSUSE 这些平台。

OpenStack云计算实战-第5章 OpenStack身份服务

OpenStack云计算实战-第5章 OpenStack身份服务

11
5.2 基于Dashboard界面进行身份管理操作
第5章 OpenStack身份服务
12
项目管理
创建项目(设置项目信息)
创建项目(添加项目成员)
5.2 基于Dashboard界面进行身份管理操作
项目管理
查看或编辑项目的配额
第5章 OpenStack身份服务
13
5.2 基于Dashboard界面进行身份管理操作
(3)将admin角色分配给用户-项目对 openstack role add --project service --user 服务用户名 admin
删除服务
openstack service delete SERVICE_TYPE | SERVICE_NAME | SERVICE_ID
内容 导航
"download_image": "", "upload_image": "", #以下省略 }
第5章 OpenStack身份服务
28
内容 导航
CONTENTS
第5章 OpenStack身份服务
29
身份服务基础 基于Dashboard界面进行身份管理操作 基于命令行界面进行身份管理操作 通过oslo.policy实现权限管理 手动安装和部署Keystone
服务后端(Service Backends) 每个服务可以配置为使用后端来让Keystone适合多种环境和需求。 每种服务的后端在/ect/keystone/keystone.conf配置文件中定义。
数据模型(Data Model)
用户(User) 组(Group) 项目(Project) 域(Domain)

基于SM9 的OpenStack 双向认证方案研究与设计

基于SM9 的OpenStack 双向认证方案研究与设计

第29卷第4期北京电子科技学院学报2021年12月Vol.29No.4JournalofBeijingElectronicScienceandTechnologyInstituteDec.2021基于SM9的OpenStack双向认证方案研究与设计∗张柁苧㊀王㊀雄㊀池亚平北京电子科技学院ꎬ北京市㊀100070摘㊀要:OpenStack作为主流的开源云平台ꎬ其安全认证基于Keystone组件提供的UUIDToken㊁PKIToken等方式ꎬ在总结分析OpenStack云平台目前基于Token认证的安全问题基础上ꎬ设计一种基于SM9的双向身份认证方案ꎬ利用SM9根据身份标识产生私钥的优点ꎬ解决了UUIDToken无法本地认证㊁PKIToken证书管理复杂等问题ꎬ并在认证流程中完成SM9的安全密钥分发ꎮ经分析ꎬ该方案不仅简化了认证流程ꎬ同时也增强了Token的安全性ꎮ关键词:SM9算法ꎻ身份认证ꎻOpenStack中图分类号:TN309㊀㊀㊀文献标识码:A文章编号:1672-464X(2021)4-45-50∗㊀基金项目:国家重点研发计划项目(2018YFB1004100)∗∗㊀作者简介:张柁苧(1998 )ꎬ女ꎬ重庆巫溪人ꎬ硕士研究生ꎬ主要研究方向为云计算安全ꎮ王雄(1977 )ꎬ男ꎬ河北保定人ꎬ副教授ꎬ硕士ꎬ主要研究方向为密码系统设计ꎮ池亚平(1969 )ꎬ女ꎬ河北沙河人ꎬ教授ꎬ硕士ꎬ主要研究方向为云计算安全ꎮ引言随着互联网产业的飞速发展ꎬ云计算得到了广泛运用ꎮ云计算技术通过整合分布式资源ꎬ构建出灵活㊁可扩展的虚拟计算环境[1][2]ꎬ用户通过云计算平台的身份认证后ꎬ即可使用计算资源㊁存储资源㊁网络资源等ꎬ并且不受时间和空间的限制ꎮ故用户的合法身份认证ꎬ是保障云端数据安全的重要前提ꎮ本文对主流开源云平台OpenStack的身份认证机制进行研究ꎬ分析其现有的身份认证机制存在的问题ꎬ针对其无法本地认证㊁证书管理复杂㊁明文传输等安全性问题ꎬ提出基于国密SM9算法的双向身份认证方案ꎬ并分析证明其能够抵抗的网络攻击ꎮ1㊀相关工作1 1㊀OpenStack云平台身份认证机制分析1 1 1㊀OpenStack架构OpenStack是由美国国家航空航天局与Rackspace联合推出的开源云平台ꎬ其因为模块松耦合㊁组件配置灵活㊁二次开发容易等优点而受到广泛关注ꎮOpenStack的核心组件模块如下:(1)Nova 管理虚拟机的生命周期ꎬ是OpenStack最为核心的模块ꎻ(2)Neutron 为OpenStack提供各种网络功能ꎬ负责L2层(数据链路层)㊁L3层(网络层)网络的创建和管理ꎬ打通虚拟机与物理机的网络通信ꎻ(3)Cinder 为虚拟机提供块存储服务ꎬ将Volume作为虚拟硬盘挂载在虚拟机上ꎻ(4)Keystone 认证授权模块ꎬ不论是用户还是其它模块ꎬ都需要通过Keystone认证授权ꎻ. All Rights Reserved.北京电子科技学院学报2021年(5)Glance 管理虚拟机镜像ꎬOpenStack启动虚拟机所使用的镜像㊁用户备份的快照等都由此模块管理ꎻ(6)Swift 为虚拟机提供对象存储服务ꎬ作为一种高级的备选存储方案ꎬ一般用作Cinder的备份后端和Glance存储镜像ꎻ(7)Horizon 为用户提供一个Web交互界面ꎮ各组件之间的关系如图1所示ꎬVM(VirtualMachineꎬ虚拟机)作为整个系统服务的对象ꎬ各个模块分别为VM提供其所需的各类资源或服务ꎬ而各个服务又以Keystone为中心ꎬ由Keystone提供认证和授权ꎮ图1㊀OpenStack组件关系OpenStack的组件通过开放标准的API接口来提供服务ꎬ而且所有与服务API有关的调用都与Keystone有关ꎮ以认证API的方式为OpenStack提供身份验证㊁规则管理和令牌(To ̄ken)颁发服务ꎮ计算㊁对象存储等服务首先需要向Keystone注册其服务地址ꎬ然后服务之间的相互调用ꎬ要先经过Keystone的身份验证ꎬ获得一个Token和目标服务地址ꎬ根据这个Token访问目标服务地址来获取目标服务[3]ꎮ以用户创建虚拟机为例ꎬ用户完成登录认证后ꎬ收到Key ̄stone颁发的Tokenꎬ凭借Token依次向Nova请求创建虚拟机㊁Glance请求镜像㊁Neuron请求网络ꎬNova㊁Glance㊁Neuron收到服务请求后ꎬ首先向Keystone验证Token有效性ꎬ再为用户提供下一步服务ꎮKeystone类似于OpenStack的一个服务总线ꎬ其安全问题直接影响系统和其他组件的安全ꎮ在进行身份认证时ꎬ除Keystone外的其他组件均可视为资源服务器ꎮ1 1 2㊀基于Keystone组件的身份认证机制分析根据OpenStack的组件机制可将其身份认证分为两步:用户登录时提供credentials(用户名/密码等)ꎬKeystone从数据库进行查询验证ꎬ验证通过并为用户颁发Tokenꎻ用户凭借Token访问资源服务器ꎬ资源服务器验证用户身份合法性并为其提供服务ꎮ在Grizzly版之前OpenStack使用UUIDTo ̄kenꎬ㊀Grizzly版之后OpenStack引入了PKITo ̄kenꎬ这是因为PKI(PublicKeyInfrastructureꎬ公钥基础设施)不但提高了身份认证两个步骤过程的安全性ꎬ同时使得第二步中的扩展性更好ꎮ(1)UUIDToken认证方案分析UUIDToken是最原始的认证方法ꎮ认证流程如图2所示ꎮ用户请求时ꎬKeystone将UUIDToken分配给用户ꎬ用户得到Token后将其缓存到本地ꎮ用户请求资源服务器时调用特定的APIꎬ将UUIDToken作为参数传递ꎮ资源服务器收到请求后ꎬ将UUIDToken传给Keystone进行验证ꎬ根据验证结果判断是否为用户提供服务ꎮ图2㊀UUIDToken认证过程64. All Rights Reserved.第29卷基于SM9的OpenStack双向认证方案研究与设计㊀㊀㊀(2)PKIToken认证方案分析认证流程如图3所示ꎮ在PKIToken验证过程中ꎬOpenStack将Keystone作为数字签名认证中心使用ꎮKeystone使用签名密钥和数字证书对Token进行签名ꎬ避免每次请求都需要向Keystone验证Token的有效性ꎮ每个资源服务器都持有Keystone的CA数字签名㊁签名证书和证书撤销列表ꎬ资源服务器使用这些信息直接验证用户的Tokenꎮ图3㊀PKIToken认证过程1 1 3㊀安全性分析上述基于Keystone组件的认证机制存在以下问题:(1)UUID认证方式中ꎬ每个用户请求都需要资源服务器向Keystone验证ꎬ而在云计算环境下ꎬ海量的用户请求带来高并发问题ꎬ使Keystone存在性能瓶颈ꎻPKI认证方式中ꎬ由于证书携带的信息增加ꎬ容易超出最大HTTP请求头ꎬ导致HTTP请求失败ꎮ(2)2019年5月发布的«信息安全技术网络安全等级保护基本要求»(简称等保2 0)中ꎬ针对云计算等新技术应用ꎬ提出了新的安全扩展要求ꎬ其明确指出管理终端和云计算平台之间应建立双向身份验证机制[4]ꎬ即用户请求资源时ꎬ不仅服务器对用户进行身份认证ꎬ用户也应当对服务器进行认证ꎬ以此避免篡改㊁重放㊁中间人攻击等问题ꎮ(3)认证过程中ꎬ用户名密码等信息以明文的形式进行传输ꎬ一旦被攻击者窃听或截获ꎬ则直接导致信息泄露ꎮ2㊀基于SM9的身份认证方案设计中国标识密码SM9算法于2016年3月正式对外发布ꎬ于2018年11月正式成为国际标准ꎮ近年来ꎬSM9算法凭借自身相对简洁低耗的优势ꎬ在电子邮件系统㊁物联网㊁区块链等领域都得到了广泛的使用和发展ꎮ国密SM9算法作为标识密码算法的一种ꎬ利用主密钥和用户标识ꎬ通过密钥生成中心(KeyGenerationCenterꎬKGC)产生用户私钥ꎬ而用户的公钥由用户唯一的标识信息(如姓名㊁邮箱地址㊁手机号码等)产生ꎬ不需要第三方(CA认证中心等)来保证公钥来源的真实性[5][6]ꎬ是去中心化的典型体现ꎮ将SM9算法应用到基于OpenStack云平台的身份认证中ꎬ不仅保有传统PKI技术支持本地验证㊁减轻Keystone压力的优点ꎬ还不需要面对PKI机制中复杂的证书交换问题带来的管理开销㊁运维成本ꎮ基于Keystone认证机制存在的问题以及等保2 0中对云计算身份认证的要求ꎬ提出基于国密SM9算法的双向认证方案ꎮ截止到2020年4月28日发布的中国国家标准«GB/T38635 2-2020信息安全技术SM9标识密码算法»ꎬ各个标准中的算法流程都基于通信双方已持有私钥ꎬ而未给出私钥分发方案ꎬ故本文还将结合对称密码算法在身份认证过程中保证SM9密钥的安全分发ꎮ在本方案中ꎬ将密钥生成中心(KGC)集成于Keystone组件ꎮ2.1㊀认证流程设计在OpenStack云平台系统初始化阶段及用户注册成功后ꎬ各资源服务器㊁用户均首先向Keystone申请SM9标识私钥ꎬ实质上也就是向74. All Rights Reserved.北京电子科技学院学报2021年Keystone下的密钥生成中心申请私钥ꎮ下面以用户为例说明密钥分发过程ꎬ其中用到的符号及描述如表1所示ꎮ表1㊀身份认证协议符号记法符号描述KSKeystoneUS用户S资源服务器random随机数SysKSM4对称密钥KPKKeystone标识公钥KSKKeystone标识私钥UPK用户标识公钥USK用户标识私钥SPK资源服务器标识公钥SSK资源服务器标识私钥E( )加密操作SIG( )签名操作ID用户身份标识AU用户权限m消息||字符串连接符密钥分发过程如图4所示ꎮ(1)用户随机生成SM4对称密钥和一个随机数ꎬ并使用Keystone的标识公钥加密SM4对称密钥㊁随机数㊁用户ID及密码ꎬ即:USңKS:EKPK(SysK||random||ID||pass ̄word)(2)Keystone使用自己的SM9私钥解密ꎬ得到SM4会话密钥㊁随机数㊁用户ID及密码ꎬ查询数据库验证用户信息是否有效ꎬ如果有效则继续下一步ꎬ否则拒绝请求ꎮ(3)Keystone调用密钥分发中心为此用户ID生成SM9私钥ꎬ使用SM4会话密钥加密该用户的SM9私钥㊁随机数ꎬ即:KSңUS:ESysK(USK||random) (4)用户使用第1步生成的SM4对称密钥解密ꎬ得到自己的SM9私钥㊁随机数ꎬ将该随机数与第1步的随机数进行对比ꎬ验证Keystone的合法性ꎮ若验证通过ꎬ则SM9密钥分发完毕ꎬ且通信双方完成双向认证ꎮ图4㊀密钥分发流程根据上述密钥分发方案ꎬ默认后续身份认证流程中用户及资源服务器等均拥有自己的SM9标识私钥ꎮ本身份认证方案中用到的符号及描述见表1ꎮ本方案的认证流程如图5所示ꎮ(1)用户发送用户名/密码和请求信息给Keystoneꎬ消息使用Keystone标识公钥加密ꎬ即:USңKS:EKPK(m)(2)Keystone解密后首先验证用户身份ꎬ然后对用户身份㊁时间戳㊁权限等进行签名作为Tokenꎬ即SIGKSK(ID||T||AU)ꎬ使用用户的SM9标识公钥对Token进行加密ꎬ即:KSңUS:EUPK(Token||ID||T||AU) (3)用户使用自己的SM9标识私钥对Token进行解密ꎬ同时生成一个随机数ꎬ再次使用私钥对Token及随机数进行签名ꎬ将二次签名的Token及随机数加密发送给资源服务器请求服务ꎬ即:USңS:ESPK(SIGUSK(Token||random)||ID||T||AU||random)(4)资源服务器使用自己的标识私钥解密后ꎬ首先根据用户身份得到用户标识公钥ꎬ使用该公钥对消息验签ꎬ若验证通过ꎬ不仅可以确定用户的合法身份ꎬ还可以防止用户抵赖ꎮ第一次84. All Rights Reserved.第29卷基于SM9的OpenStack双向认证方案研究与设计㊀验证通过后ꎬ再使用Keystone标识公钥验签ꎬ对比二次验签后得到的用户ID与第一次验签时使用的用户ID一致ꎬ若验证通过ꎬ则使用用户标识公钥加密随机数并发送给用户ꎬ提供服务ꎬ即:SңUS:EUPK(random)(5)用户使用自己的标识私钥解密ꎬ将得到的随机数与第3步的随机数进行对比ꎬ若一致ꎬ则继续后续请求ꎮ图5㊀基于SM9的身份认证流程2 2㊀方案分析在本方案中ꎬ不仅减少了身份验证时对Keystone的依赖ꎬ支持本地验证ꎬ还发挥了标识密码算法的优势ꎬ不需要各通信节点保存所有其他节点的公钥ꎬ减轻了密钥管理的压力ꎬ提高了安全性ꎮ文献[8]提出基于数字证书的身份认证协议ꎬ虽然安全性有所提高ꎬ但认证过程中对话高达17次ꎬ效率较低ꎮ文献[9]依赖CA认证中心颁发的证书ꎬ通过加密技术来提高身份认证安全性ꎬ没有解决PKIToken的本质问题ꎮ以下从加密传输㊁双向认证㊁抗重放攻击三个方面对改进方案的安全性进行分析ꎮ(1)加密传输在Keystone认证过程中ꎬ用户名/口令等都是以明文形式发送ꎬ默认使用HTTP协议进行认证[7]ꎬ即使是在PKIToken认证方式中ꎬ也只是通过非对称加密技术实现了HTTPS加密ꎬ而To ̄ken交互过程仍为明文传输ꎬ无法保证数据安全ꎮ本文方案借助SM9标识密码算法在密钥管理上的优势ꎬ利用通信各方的公钥公开ꎬ保证数据流全加密ꎬ即使攻击者截获消息ꎬ也无法得到有效信息ꎬ具有更高的数据安全性ꎮ(2)双向认证Keystone作为OpenStack云平台最重要的组件之一ꎬ默认其身份是可信的ꎬ即在交互过程中只有Keystone对用户的身份认证ꎬ没有用户对Keystone的身份认证ꎬ而伪造一个假的Keystone是完全可行的ꎬ故实现双向认证对提高OpenStack的安全性有至关重要的作用ꎮ本文方案中的资源服务器和Keystone均拥有自己的SM9公私钥ꎬ通过发送随机数实现资源服务器对Keystone的验证ꎬ在一定程度上可以抵御中间人攻击ꎮ(3)抗重放攻击在用户请求资源服务器的服务时ꎬ若存在攻击者截获用户的API请求ꎬ并利用该请求对API接口发动重放攻击ꎮ在本方案中ꎬ客户端与服务器端发送请求或响应请求时会附加随机数及时间戳ꎬ并在随后接收到的响应中检查该随机数ꎬ若随机数重复接收ꎬ则可以判断受到了重放攻击ꎮ3㊀结束语本文首先着重介绍了OpenStack云平台下基于Keystone组件的身份认证机制ꎬ分析了UUIDToken㊁PKIToken两种基本认证方式的安全性问题ꎬ在此基础上提出了基于SM9的双向认证方案ꎮ在本方案中ꎬ借助对称密码算法实现了SM9标识私钥的安全分发ꎬ在身份认证流程中各通信双方的信息均通过加密处理ꎬ窃听者无法直接获取明文ꎬ保密性较高ꎬ同时也解决了UUIDToken认证时无法本地认证㊁PKIToken证书管理复杂的问题ꎬ通过用户与资源服务器的双94. All Rights Reserved.北京电子科技学院学报2021年向认证避免中间人攻击等ꎬ具有较高的安全性ꎬ密钥管理相对简单ꎬ认证效率有所提高ꎮ下一步工作应对该方案中的密钥生成中心等进行设计评估ꎬ提高性能及系统工作效率ꎮ参考文献[1]㊀王斌锋ꎬ苏金树ꎬ陈琳.云计算数据中心网络设计综述[J].计算机研究与发展ꎬ2016ꎬ53(9):2085-2106.[2]㊀张玉清ꎬ王晓菲ꎬ刘雪峰ꎬ刘玲.云计算环境安全综述[J].软件学报ꎬ2016ꎬ27(6):1328-1348.[3]㊀MarkelovA.GettingtoKnowOpenStack[M]//CertifiedOpenStackAdministratorStudyGuide.Apressꎬ2016:32-41.[4]㊀赖静ꎬ韦湘ꎬ陈妍.等保2 0云计算安全扩展要求及分析[J].网络空间安全ꎬ2019ꎬ10(7):24-31.[5]㊀袁峰ꎬ程朝辉.SM9标识密码算法综述[J].信息安全研究ꎬ2016ꎬ2(11):1008-1027.[6]㊀ChenTꎬMaS.ASecureEmailEncryptionProxyBasedonIdentity ̄BasedCryptography[C]//MultiMediaandInformationTechnologyꎬ2008.MMIT'08.InternationalConferenceon.2009.[7]㊀ABDULLANꎬERÇELEBIE.Identifycloudsecurityweaknessrelatedtoauthenticationandidentitymanagement(IAM)usingopenstackkeystonemodel[C]//InternationalConferenceonEngineeringandTechnologyꎬComputerꎬBasicsandAppliedSciences.2017:1-5.[8]㊀朱智强ꎬ林韧昊ꎬ胡翠云.基于数字证书的OpenStack身份认证协议[J].通信学报ꎬ2019ꎬ40(2):188-196.[9]㊀CuiꎬB.J.andXiꎬT.(2015)SecurityAnalysisofOpenStackKeystone.InternationalConferenceonInnovativeMobile&InternetServicesinUbiquitousComputingꎬBlumenauꎬ8-10July2015ꎬ283-288.ResearchandDesignofOpenStackMutualAuthenticationSchemeBasedonSM9ZHANGTuoning㊀WANGXiong㊀CHIYapingBeijingElectronicScienceandTechnologyInstituteꎬBeijing100070ꎬP.R.ChinaAbstract:OpenStackisaprevailingopensourcecloudplatformꎬwhosesecurityauthenticationisbasedontheUUIDtokenandthePKItokenprovidedbythekeystonecomponent.Withasummaryandanaly ̄sisofthecurrentsecurityissuesoftokenauthenticationbasedOpenStackcloudplatformꎬinthispaperꎬamutualidentityauthenticationschemebasedontheSM9isdesigned.IntheschemeꎬtheadvantageofSM9thattheprivatekeyisgeneratedaccordingtotheidentitylabelisutilizedtosolvetheproblemsthattheUUIDtokenlacksthecapabilityofbeingauthenticatedlocallyandmanagingthePKItokencertifi ̄cateiscomplex.MeanwhileꎬSM9securitykeydistributioniscompletedintheauthenticationprocess.Analysisindicatesthattheschemesimplifiestheauthenticationprocessandenhancesthesecurityofthetoken.Keywords:SM9algorithmꎻidentityauthenticationꎻOpenStack(责任编辑:张卷美)05 . All Rights Reserved.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. openStack互操作性认证内容
DefCore(OpenStack CoreDefinition)是OpenStack 董事会在2014 年11 月提出的一个项目,即认定厂商的部署为合法OpenStack 的最基本的功能。

OpenStack 希望基于这一项目实现不同OpenStack 商业解决方案之间的互操作性。

OpenStack 的云计算运营商可以选择在其云计算部署许多其它部件,但它们都必须通过测试所需要的最基本的功能。

根据OpenStack 官方网站显示,OpenStack 互操作性测试包括三项不同的官方许可程序,包含OpenStack 软件的产品都可以申请运行这些程序,通过者就可以获得“OpenStack Powered”官方标识。

三项官方的许可程序分别是,
●OpenStack Powered Platform
●OpenStack Powered Compute
●OpenStack Powered Object Storage。

其中,OpenStack Powered Platform 的测试结合了OpenStack Powered Compute 和OpenStack Powered Object Storage 的技术要求。

2. 互操作性测试工具- Refstack
Refstack 是一个工具集用于OpenStack 云之间的互操作性测试。

它由两部分组成:服务器和客户端。

Refstack 服务器通过API 收集来自私有云和公有云供应商的互操作性的测试数据,使用UI 展现用户上传的数据并查看前面提到的DefCore 定义的基本功能的测试结
果。

Refstack 客户端封装了OpenStack Tempest 测试框架,将运行Tempest API 测试,并会按照Refstack API 的期望来格式化测试结果,将数据上传到Refstack 服务器。

3. Refstack 客户端安装
refstack-client 可以被安装在Ubuntu、Centos, RHEL 和OpenSUSE 这些平台。

安装步骤如下:
∙确保操作系统已经安装了git 工具,如果没有,请先安装;
∙获取refstack client;
git clone https:///stackforge/refstack-client
∙进入refstack-client 目录;
cd refstack-client
∙运行如下代码进行安装;
./setup_env
4. 云环境资源配置
需要在待测云环境中创建如下资源用于测试:
∙用户:至少创建两个用户来自于不同的租户,例如名为demo1、demo2 的用户和租户。

∙镜像:需要两个镜像的id。

推荐使用cirros 镜像,这个镜像小而且可以提供你需要的所有功能。

可以上传这个镜像两次来产生两个id。

∙网络:创建一个共享网络可以被所有用户使用。

∙用户角色:创建一个非管理员的角色,并分配给所有的测试用户。

∙对象存储操作角色:如果要测试对象存储,需要创建一个角色可以用来创建swift 的资源。

5. Tempest 配置文件
在运行refstack-client 之前,需要针对你的云产品环境自定义一份Tempest 配置文件,名字以及存放的位置任意,在此文当中假设文件命名为tempest.conf。

在文件默认配置的基础上关注如下配置:
∙使用两个不同的镜像id 用来配置image_ref 和image_ref_alt。

[compute]
image_ref = 2eea58fe-6988-43f8-8183-da907c698211
image_ref_alt = 05df5478-8204-4737-befa-455da64f2ba9
∙用户:配置三个用户,其中一个是管理员。

[identity]
admin_password = admin
admin_tenant_name = admin
admin_username = admin
alt_password = demo2
alt_tenant_name = demo2
alt_username = demo2
password = demo1
tenant_name = demo1
username = demo1
∙日至:配置日至文件名及路径。

[default]
log_file = tempest.log
log_dir = /tmp
∙Resize 选项,这个是互操作性测试中必须要有的,默认是false。

需要设置成true。

[compute-feature-enabled]
resize = true
∙卷设备名称,可根据被测环境更改默认设置。

[compute]
volume_device_name = vdd
∙swift 操作角色,默认是Member 和ResellerAdmin。

需根据测试环境更改设置。

[object-storage]
operator_role = swiftoperator
reseller_admin_role = admin
如果没有标准的swift 角色,需要配置locking accounts:
[auth]
allow_tenant_isolation = false
test_accounts_file = etc/accounts.yaml
预先创建一些用户来自于不同的租户,然后在accounts.yaml 中配置,例如:∙
username: 'test1'
tenant_name: 'test1'
password: 'pass'
roles:
- '_member_'
- 'swiftoperator'
resources:
network: 'private-net'

6. Refstack 测试执行
执行步骤如下:
∙进入refstack-client 目录;
cd ~/refstack-client
∙进入Python 虚拟环境;
source .venv/bin/activate
∙运行单个测试用例来验证你的安装
./refstack-client test -c <Path of tempest.conf> -vv -- tempest.api.identity.admin.v2.test_roles
∙运行所有API 测试
./refstack-client test -c <Path of tempest.conf> -vv
运行时控制台输出如下图
图 2.控制台输出
∙上传测试结果
./refstack-client upload <Path of results file>
上传的结果文件是测试结束后由refstack-client 产生的一个JSON 格式的文件,它保存在.tempest/.testrepository 这个路径下面,默认数据是上传到,上传完成之后可以到 查看。

7.测试身份
首批是通过基金会的邀请,现在可以在通过测试工具测试。

相关文档
最新文档