OpenStack-M版(Mitaka)搭建- – -身份认证服务(Keystone)篇
2016-11-27 13:20
751 查看
转载请注明:姬子的博客 » OpenStack-M版(Mitaka)搭建-
– -身份认证服务(Keystone)篇
Keystone
作为 OpenStack 的核心组件之一,为Nova、Glance、Swift、Cinder、Neutron和Horizon之间的通信提供认证服务。
包括:
1、管理用户及其权限
2、维护 OpenStack Services 的 Endpoint
3、Authentication(认证)和 Authorization(鉴权)
一、安装配置Keystone
以下操作均使用root权限并在controller节点执行
1、创建数据库及管理员令牌
创建Keystone数据库
对``keystone``数据库授予恰当的权限(替换“123456”为你选的密码)
退出数据库
生成一个随机值在初始的配置中作为管理员的令牌(将生成的值复制粘贴到记事本保存好!)
2、安装组件
安装后禁止keystone 服务自动启动
安装包
编辑文件 /etc/keystone/keystone.conf
在``[DEFAULT]``部分,定义初始管理令牌的值(将“10c8d32f5b7177240ffe”替换为你刚才保存的令牌)
在 [database] 部分,配置数据库访问(替换123456)
在``[token]``部分,配置Fernet UUID令牌的提供者
初始化身份认证服务的数据库
初始化Fernet keys
配置apache http服务器
编辑``/etc/apache2/apache2.conf``文件,为控制节点配置``ServerName``选项
使用下面的内容创建``/etc/apache2/sites-available/wsgi-keystone.conf``文件
开启认证服务虚拟主机
重启Apache HTTP服务器
3、配置服务实体和API端点
设置环境变量
将以下内容写入环境变量(替换“10c8d32f5b7177240ffe”为你的管理员令牌)
保存退出,重启机器。
创建服务实体和身份认证服务
创建认证服务的 API 端点
4、创建域、项目、用户和角色
创建域``default``
创建 admin 项目
创建 admin 用户(输入一个你为admin选的密码并记下)
创建 admin 角色
添加``admin`` 角色到 admin 项目和用户上
创建``service``项目
创建``demo`` 项目(演示项目)
创建``demo`` 用户(输入一个你为demo选的密码并记下)
创建 user 角色
添加 user``角色到 ``demo 项目和用户
5、验证操作
关闭临时认证令牌机制
添加环境变量,重置``OS_TOKEN``和``OS_URL`` 环境变量
保存退出,重启机器。
重启后,继续以下步骤
作为 admin 用户,请求认证令牌(输入密码)
作为``demo`` 用户,请求认证令牌(输入密码)
6、创建OpenStack客户端环境脚本
创建并编辑文件 "admin-openrc" 并添加如下内容(将"123456" 替换为你在认证服务中为 admin 用户选择的密码)
创建并编辑文件 "demo-openrc" 并添加如下内容(将"123456" 替换为你在认证服务中为demo 用户选择的密码)
加载``admin-openrc``文件来身份认证服务的环境变量位置和``admin``项目和用户证书
请求认证令牌
至此,身份认证服务(Keystone)篇结束
下一篇为:镜像服务(Glance)篇
Done All ! Enjoy Yourself !
See You Again !
转载请注明:姬子的博客 » OpenStack-M版(Mitaka)搭建-
– -身份认证服务(Keystone)篇
– -身份认证服务(Keystone)篇
Keystone
作为 OpenStack 的核心组件之一,为Nova、Glance、Swift、Cinder、Neutron和Horizon之间的通信提供认证服务。
包括:
1、管理用户及其权限
2、维护 OpenStack Services 的 Endpoint
3、Authentication(认证)和 Authorization(鉴权)
一、安装配置Keystone
以下操作均使用root权限并在controller节点执行
1、创建数据库及管理员令牌
mysql -u root -p
创建Keystone数据库
CREATE DATABASE keystone;
对``keystone``数据库授予恰当的权限(替换“123456”为你选的密码)
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \ IDENTIFIED BY '123456';
退出数据库
exit
生成一个随机值在初始的配置中作为管理员的令牌(将生成的值复制粘贴到记事本保存好!)
openssl rand -hex 10
2、安装组件
安装后禁止keystone 服务自动启动
echo "manual" > /etc/init/keystone.override
安装包
apt-get install keystone apache2 libapache2-mod-wsgi
编辑文件 /etc/keystone/keystone.conf
在``[DEFAULT]``部分,定义初始管理令牌的值(将“10c8d32f5b7177240ffe”替换为你刚才保存的令牌)
[DEFAULT] admin_token = 10c8d32f5b7177240ffe
在 [database] 部分,配置数据库访问(替换123456)
[database] connection = mysql+pymysql://keystone:123456@controller/keystone
在``[token]``部分,配置Fernet UUID令牌的提供者
[token] provider = fernet
初始化身份认证服务的数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
初始化Fernet keys
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
配置apache http服务器
编辑``/etc/apache2/apache2.conf``文件,为控制节点配置``ServerName``选项
ServerName controller
使用下面的内容创建``/etc/apache2/sites-available/wsgi-keystone.conf``文件
Listen 5000 Listen 35357 <VirtualHost *:5000> WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} WSGIProcessGroup keystone-public WSGIScriptAlias / /usr/bin/keystone-wsgi-public WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On ErrorLogFormat "%{cu}t %M" ErrorLog /var/log/apache2/keystone.log CustomLog /var/log/apache2/keystone_access.log combined <Directory /usr/bin> Require all granted </Directory> </VirtualHost> <VirtualHost *:35357> WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} WSGIProcessGroup keystone-admin WSGIScriptAlias / /usr/bin/keystone-wsgi-admin WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On ErrorLogFormat "%{cu}t %M" ErrorLog /var/log/apache2/keystone.log CustomLog /var/log/apache2/keystone_access.log combined <Directory /usr/bin> Require all granted </Directory> </VirtualHost>
开启认证服务虚拟主机
ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled
重启Apache HTTP服务器
service apache2 restart
rm -f /var/lib/keystone/keystone.db
3、配置服务实体和API端点
设置环境变量
vi /etc/profile
将以下内容写入环境变量(替换“10c8d32f5b7177240ffe”为你的管理员令牌)
export OS_TOKEN=10c8d32f5b7177240ffe export OS_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3
保存退出,重启机器。
创建服务实体和身份认证服务
openstack service create \ --name keystone --description "OpenStack Identity" identity
创建认证服务的 API 端点
openstack endpoint create --region RegionOne \ identity public http://controller:5000/v3
openstack endpoint create --region RegionOne \ identity internal http://controller:5000/v3
openstack endpoint create --region RegionOne \ identity admin http://controller:35357/v3
4、创建域、项目、用户和角色
创建域``default``
openstack domain create --description "Default Domain" default
创建 admin 项目
openstack project create --domain default \ --description "Admin Project" admin
创建 admin 用户(输入一个你为admin选的密码并记下)
openstack user create --domain default \ --password-prompt admin
创建 admin 角色
openstack role create admin
添加``admin`` 角色到 admin 项目和用户上
openstack role add --project admin --user admin admin
创建``service``项目
openstack project create --domain default \ --description "Service Project" service
创建``demo`` 项目(演示项目)
openstack project create --domain default \ --description "Demo Project" demo
创建``demo`` 用户(输入一个你为demo选的密码并记下)
openstack user create --domain default \ --password-prompt demo
创建 user 角色
openstack role create user
添加 user``角色到 ``demo 项目和用户
openstack role add --project demo --user demo user
5、验证操作
关闭临时认证令牌机制
编辑 /etc/keystone/keystone-paste.ini 文件, 从``[pipeline:public_api]``,[pipeline:admin_api]``和``[pipeline:api_v3]``部分 删除``admin_token_auth
添加环境变量,重置``OS_TOKEN``和``OS_URL`` 环境变量
vi /etc/profile
unset OS_TOKEN OS_URL
保存退出,重启机器。
重启后,继续以下步骤
作为 admin 用户,请求认证令牌(输入密码)
openstack --os-auth-url http://controller:35357/v3 \ --os-project-domain-name default --os-user-domain-name default \ --os-project-name admin --os-username admin token issue
作为``demo`` 用户,请求认证令牌(输入密码)
openstack --os-auth-url http://controller:5000/v3 \ --os-project-domain-name default --os-user-domain-name default \ --os-project-name demo --os-username demo token issue
6、创建OpenStack客户端环境脚本
创建并编辑文件 "admin-openrc" 并添加如下内容(将"123456" 替换为你在认证服务中为 admin 用户选择的密码)
export OS_PROJECT_DOMAIN_NAME=default export OS_USER_DOMAIN_NAME=default export OS_PROJECT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=123456 export OS_AUTH_URL= export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2
创建并编辑文件 "demo-openrc" 并添加如下内容(将"123456" 替换为你在认证服务中为demo 用户选择的密码)
export OS_PROJECT_DOMAIN_NAME=default export OS_USER_DOMAIN_NAME=default export OS_PROJECT_NAME=demo export OS_USERNAME=demo export OS_PASSWORD=123456 export OS_AUTH_URL=http://controller:5000/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2
加载``admin-openrc``文件来身份认证服务的环境变量位置和``admin``项目和用户证书
. admin-openrc
请求认证令牌
openstack token issue
至此,身份认证服务(Keystone)篇结束
下一篇为:镜像服务(Glance)篇
Done All ! Enjoy Yourself !
See You Again !
转载请注明:姬子的博客 » OpenStack-M版(Mitaka)搭建-
– -身份认证服务(Keystone)篇
相关文章推荐
- [ Openstack ] OpenStack-Mitaka 高可用之 认证服务(keystone)
- 3.openstack之mitaka搭建keystone认证服务
- openstack-mitaka之认证服务管理安装配置部署
- openstack mitaka之三:搭建keystone认证服务
- 【N版】openstack——认证服务keystone(三)
- OpenStack主要逻辑模块–Keystone身份验证服务
- OpenStack-M版(Mitaka)搭建基于(Centos7.2)+++五、Openstack计算服务(nova)下
- OpenStack Keystone认证服务管理(五)
- Centos7 Openstack - (第二节)添加认证服务(Keystone)
- OpenStack Newton版本部署----认证服务(keystone)
- OpenStack 认证服务 KeyStone连接和用户管理(四)
- OpenStack-M版(Mitaka)搭建基于(Centos7.2)+++四、Openstack镜像服务(glance)
- Centos7手动部署Openstack Mitaka版安装配置--(三)安装keystone认证服务
- OpenStack 认证服务 KeyStone [二]
- OpenStack实践系列②认证服务Keystone
- OpenStack 认证服务 KeyStone [二]
- cenos7.1 安装openstack kilo 心得之六 添加身份认证服务
- OpenStack Identity(Keystone)身份服务-体系结构与中间件
- OpenStack-M版(Mitaka)搭建- – -Dashboard服务(Horizon)篇
- OpenStack实践系列②认证服务Keystone