《OpenStack云计算实战手册(第2版)》一1.4 安装OpenStack身份认证服务

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

本节书摘来异步社区《OpenStack云计算实战手册(第2版)》一书中的第1章,第1.4节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 译者: 黄凯 , 杜玉杰 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 安装OpenStack身份认证服务

OpenStack云计算实战手册(第2版)
我们将会使用Ubuntu Cloud Archive安装和配置OpenStack身份认证服务,也就是Keystone项目。配置完成之后,连接到OpenStack云环境都需经过这里所安装的OpenStack身份认证服务。

OpenStack身份认证服务的默认后台数据库是MySQL数据库。

准备工作
为保证运行的是Ubuntu Cloud Archive,必须配置Ubunut 12.04安装使用该服务。

我们将配置Keystone使用MySQL作为数据库后端,因此,安装Keystone之前需要安装MySQL。如果MySQL尚未安装,请执行以下步骤安装配置MySQL:

MYSQL_ROOT_PASS=openstack  
MYSQL_HOST=172.16.0.200  
# To enable non-interactive installations of MySQL, set the following  
echo "mysql-server-5.5 mysql-server/root_password password \  
   $MYSQL_ROOT_PASS" | sudo debconf-set-selections  
echo "mysql-server-5.5 mysql-server/root_password_again password \  
   $MYSQL_ROOT_PASS" | sudo debconf-set-selections  
echo "mysql-server-5.5 mysql-server/root_password seen true" \  
   | sudo debconf-set-selections  
echo "mysql-server-5.5 mysql-server/root_password_again seen true" \  
   | sudo debconf-set-selections  


export DEBIAN_FRONTEND=noninteractive  
sudo apt-get update  
sudo apt-get -q -y install mysql-server  
sudo sed -i "s/^bind\-address.*/bind-address = ${MYSQL_HOST}/g" \  
   /etc/mysql/my.cnf  
sudo service mysql restart  

mysqladmin -uroot password ${MYSQL_ROOT_PASS}  

mysql -u root --password=${MYSQL_ROOT_PASS} -h localhost \  
   -e "GRANT ALL ON *.* to root@\"localhost\" IDENTIFIED BY \"${MYSQL_  
ROOT_PASS}\" WITH GRANT OPTION;"  

mysql -u root --password=${MYSQL_ROOT_PASS} -h localhost \  
   -e "GRANT ALL ON *.* to root@\"${MYSQL_HOST}\" IDENTIFIED BY  
\"${MYSQL_ROOT_PASS}\" WITH GRANT OPTION;"  

mysql -u root --password=${MYSQL_ROOT_PASS} -h localhost \  
   -e "GRANT ALL ON *.* to root@\"%\" IDENTIFIED BY \"${MYSQL_ROOT_  
PASS}\" WITH GRANT OPTION;"  

mysqladmin -uroot -p${MYSQL_ROOT_PASS} flush-privileges

接下来,请确保已经登录到OpenStack 身份认证服务器或者需要安装Keystone的OpenStack控制节点上,并且确保该服务器可以被其他的OpenStack主机访问到。

执行以下命令,登录到使用Vagrant创建的OpenStack 控制节点:

vagrant ssh controller

操作步骤
要安装OpenStack身份认证服务,需要执行如下指令。

1.安装OpenStack身份认证服务可通过指定安装Ubuntu资源库里的keystone软件包来完成。只需执行如下命令:

sudo apt-get update   
sudo apt-get -y install keystone python-keyring

2.安装好之后,需要配置后台数据库存储。首先需要在MySQL里创建一个keystone数据库,按照如下步骤来执行(在本例中,假定MySQL的用户名是root,对应的密码是openstack,该用户有创建数据库的权限):

MYSQL_ROOT_PASS=openstack  
mysql -uroot -p$MYSQL_ROOT_PASS -e "CREATE DATABASE \ 
   keystone;"

3.一个最佳实践是在数据库中为OpenStack身份认证服务单独创建一个特定的用户。创建命令如下:

MYSQL_KEYSTONE_PASS=openstack
mysql -uroot -p$MYSQL_ROOT_PASS -e "GRANT ALL PRIVILEGES \ 
   ON keystone.* TO 'keystone'@'%'"  
mysql -uroot -p$MYSQL_ROOT_PASS -e "SET PASSWORD FOR \ 
   'keystone'@'%' = PASSWORD('$MYSQL_KEYSTONE_PASS');"

4.接下来,配置OpenStack身份认证服务来使用该数据库。编辑配置文件/etc/keystone/keystone.conf,修改sql_connection行来匹配数据库证书。命令如下所示:

MYSQL_HOST=172.16.0.200  
sudo sed -i "s#^connection.*#connection = \ 
   mysql://keystone:openstack@172.16.0.200/keystone#"  \ 
   /etc/keystone/keystone.conf

5.超级用户admin的token在/etc/keystone/keystone.conf 文件中,需要配置该token。

sudo sed -i "s/^# admin_token.*/admin_token = ADMIN" \  
   /etc/keystone/keystone.conf

6.Grizzly版本发布后,Keystone支持PKI架构的token签名加密。如果不使用该功能,可编辑/etc/keystone/ keystone.conf文件,使用非签名的token。

sudo sed -i "s/^#token_format.*/token_format = UUID" \  
   /etc/keystone/keystone.conf

7.现在重启keystone服务。

sudo stop keystone  
sudo start keystone

8.Keystone启动之后,用如下命令为keystone数据库填充必需的数据表:

sudo keystone-manage db_sync

恭喜!现在已经为OpenStack环境安装好了OpenStack身份认证服务。
工作原理

通过使用Ubuntu的包,可以便捷地为OpenStack环境安装好OpenStack身份认证服务。安装完成之后,在MySQL数据库服务器中配置了keystone数据库,并且设置了keystone.conf文件来使用它。启动Keystone服务之后,运行keystone-manage db_sync命令来为keystone数据库填充合适的数据表,以方便向其中添加OpenStack环境中所必需的用户(user)、角色(role)和租户(tenant)。

相关文章
|
4月前
|
存储 Serverless 数据库
科普文:云计算服务类型IaaS, PaaS, SaaS, BaaS, Faas说明
本文介绍了云计算服务的几种主要类型,包括IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)、BaaS(后端即服务)和FaaS(函数即服务)。每种服务模式提供了不同的服务层次和功能,从基础设施的提供到应用的开发和运行,再到软件的交付使用,满足了企业和个人用户在不同场景下的需求。文章详细阐述了每种服务模式的特点、优势和缺点,并列举了相应的示例。云计算服务的发展始于21世纪初,随着互联网技术的普及,这些服务模式不断演进,为企业和个人带来了高效、灵活的解决方案。然而,使用这些服务时也需要注意服务的稳定性、数据安全性和成本等问题。
2532 4
|
4月前
|
边缘计算 安全 网络安全
|
4月前
|
存储 安全 网络安全
云端盾牌:云计算时代的网络安全守护在数字化浪潮中,云计算以其高效、灵活的特性成为企业转型的加速器。然而,伴随其迅猛发展,网络安全问题亦如影随形,成为悬在每个组织头顶的达摩克利斯之剑。本文旨在探讨云计算服务中的网络安全挑战,分析信息安全的重要性,并提出相应对策,以期为企业构建一道坚实的云端防护网。
在当今这个数据驱动的时代,云计算已成为推动创新与效率的关键力量。它允许用户随时随地访问强大的计算资源,降低了企业的运营成本,加速了产品上市时间。但随之而来的网络威胁也日益猖獗,尤其是对于依赖云服务的企业而言,数据泄露、身份盗用等安全事件频发,不仅造成经济损失,更严重损害品牌信誉。本文深入剖析云计算环境中的安全风险,强调建立健全的信息安全管理机制的重要性,并分享一系列有效策略,旨在帮助企业和个人用户在享受云服务带来的便利的同时,也能构筑起强有力的网络防线。
|
5月前
|
机器学习/深度学习 安全 网络安全
云端盾牌:云计算时代的网络安全守护在这个数字脉搏加速跳动的时代,云计算以其高效、灵活的特性,成为推动企业数字化转型的强劲引擎。然而,正如每枚硬币都有两面,云计算的广泛应用也同步放大了网络安全的风险敞口。本文旨在探讨云计算服务中网络安全的关键作用,以及如何构建一道坚不可摧的信息防线,确保数据的安全与隐私。
云计算作为信息技术领域的革新力量,正深刻改变着企业的运营模式和人们的生活。但在享受其带来的便利与效率的同时,云服务的安全问题不容忽视。从数据泄露到服务中断,每一个安全事件都可能给企业和个人带来难以估量的损失。因此,本文聚焦于云计算环境下的网络安全挑战,分析其根源,并提出有效的防护策略,旨在为云服务的安全使用提供指导和参考。
105 8
|
4月前
|
安全 Java 测试技术
ToB项目身份认证AD集成(二):快速搞定window server 2003部署AD域服务并支持ssl
本文详细介绍了如何搭建本地AD域控测试环境,包括安装AD域服务、测试LDAP接口及配置LDAPS的过程。通过运行自签名证书生成脚本和手动部署证书,实现安全的SSL连接,适用于ToB项目的身份认证集成。文中还提供了相关系列文章链接,便于读者深入了解AD和LDAP的基础知识。
121 0
|
5月前
|
云安全 安全 网络安全
探索云计算与网络安全的共生之道在数字化浪潮席卷全球的今天,云计算作为信息技术的一大革新,正重塑着企业的运营模式与服务交付。然而,随着云服务的普及,网络安全与信息安全的挑战也日益凸显,成为制约其发展的关键因素。本文旨在深入探讨云计算环境下的网络安全问题,分析云服务、网络安全及信息安全之间的相互关系,并提出相应的解决策略,以期为构建一个更安全、可靠的云计算生态系统提供参考。
本文聚焦于云计算环境中的网络安全议题,首先界定了云服务的基本概念及其广泛应用领域,随后剖析了当前网络安全面临的主要威胁,如数据泄露、身份盗用等,并强调了信息安全在维护网络空间秩序中的核心地位。通过对现有安全技术和策略的评估,包括加密技术、访问控制、安全审计等,文章指出了这些措施在应对复杂网络攻击时的局限性。最后,提出了一系列加强云计算安全的建议,如采用零信任架构、实施持续的安全监控与自动化响应机制、提升员工的安全意识教育以及制定严格的合规性标准等,旨在为云计算的安全可持续发展提供实践指南。
113 0
|
网络协议 Linux 网络安全
openstack 云平台一体化部署(超详细)
openstack 云平台一体化部署(超详细)
1405 0
openstack 云平台一体化部署(超详细)
|
6月前
|
消息中间件 缓存 Shell
跟我一起来学OpenStack部署
跟我一起来学OpenStack部署
396 0
|
7月前
|
存储 数据安全/隐私保护 Docker
Kolla-ansible部署openStack
Kolla-ansible部署openStack
583 11
|
存储 弹性计算 资源调度
openstack组件部署 3
openstack组件部署
183 0

热门文章

最新文章