Openstack-Keystone-身份验证

Openstack-Keystone-身份验证

教程大纲

1. keystone的服务组件介绍
2. keystone的安装部署

3. keystone V3的新特性

1.创建keystone的数据库并授权访问连接

mysql -u root -p -e "create database keystone;"

mysql -u root -p -e "grant all privileges on keystone.* to ‘keystone‘@‘localhost‘ identified by ‘keystone‘;"

mysql -u root -p -e "grant all privileges on keystone.* to ‘keystone‘@‘%‘ identified by ‘keystone‘;"

2. 安装keystone支持安装包

yum install openstack-keystone httpd mod_wsgi memcached python-memcached

3.修改keystone的配置文件

创建一个随机token的值 命令为

$ openssl rand -hex 10

13:   admin_token = 7b016f6702c9ac4cbd6e

124:  verbose = true

549:  connection = mysql://keystone:[email protected]/keystone

1252: servers = 192.168.100.40:11211

1773:  driver = sql

2005:  provider = fernet

2010:  driver = memcache

4.同步keystone的数据库

su -s /bin/sh -c "keystone-manage db_sync" keystone

5.初始化fernet

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

6.开启memcahed 的服务

systemctl enable memcached.service

systemctl  start  memcached.service

7.创建配置apache服务wsgi-keyston.config

/etc/httpd/conf.d/wsgi-keystone.conf

Listen 5000  #5000的端口是给正常的API来访问的。

Listen 35357 #35357端口是给admin的管理来用的。

<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/httpd/keystone-error.log

CustomLog /var/log/httpd/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/httpd/keystone-error.log

CustomLog /var/log/httpd/keystone-access.log combined

<Directory /usr/bin>

Require all granted

</Directory>

</VirtualHost>

8.修改http的服务的http.conf 的ServerName 地址

ServerName 192.168.100.40:80

9.启动httpd服务

# systemctl enable httpd.service
# systemctl start httpd.service

10.设置keyston的环境变量

export OS_TOKEN=ef33d18ffbd5a54dac62

export OS_URL=http://192.168.100.40:35357/v3

export OS_IDENTITY_API_VERSION=3

11.创建admin的demo用户组和用户角色并授权

keyston创建用户(默认用户时domian)

openstack domain create --description "Default Domain" default

创建一个admin的项目

openstack project create --domain default --description "Admin Project" admin

创建admin的用户

openstack user create --domain default --password-prompt admin

创建admin的角色

openstack role create admin

将admin用户添加admin组赋予admin角色

openstack role add --project admin --user admin admin

创建普通用户demo

openstack project create --domain default --description "Demo Project" demo

为demo 创建用户名和密码

openstack user create --domain default --password=demo demo

创建一个普通用户的角色

openstack role create user

将demo角色加入demo 组赋予user普通用户

openstack role add --project demo --user demo user

创建service项目服务加入进去

openstack project create --domain default --description "Service Project" service

添加keystone的服务

openstack service create --name keystone --description "Openstack Identity" identity

12.创建api节点和endpoint(断点) public 、admin、internal

public 5000端口

openstack endpoint create --region RegionOne \

identity public http://192.168.100.40:5000/v3

internal 5000端口

openstack endpoint create --region RegionOne \

identity internal http://192.168.100.40:5000/v3

Admin  35357 端口

openstack endpoint create --region RegionOne \

identity admin http://192.168.100.40:35357/v3

13.测试查看

查看所有的用户组

openstack user list

查看所有的用户

openstack role list

查看所有的工程

openstack project list

查看所有的endpoint 服务

openstack endpoint list

14.去OS_TOKEN 和OS_URL 环境变量

unset OS_TOKEN

unset OS_URL

15.demo和admin验证token的返回值

openstack --os-auth-url http://192.168.100.40:5000/v3 \

--os-project-domain-name default --os-user-domain-name default \

--os-project-name demo --os-username demo token issue

输入demo的密码:

openstack --os-auth-url http://192.168.100.40:35357/v3 \

--os-project-domain-name default --os-user-domain-name default \

--os-project-name admin --os-username admin token issue

数据admin的密码:

16.配置keyston的环境变量,方便执行操作

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=admin

export OS_AUTH_URL=http://192.168.100.40:35357/v3

export OS_IDENTITY_API_VERSION=3

export OS_IMAGE_API_VERSION=2   这个是在验证glance命令是l 版后面加上

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=demo

export OS_AUTH_URL=http://192.168.100.40:5000/v3

export OS_IDENTITY_API_VERSION=3

export OS_IMAGE_API_VERSION=2

执行时     添加执行权限 用时 source admin-openrc.sh

请观看视屏

视屏会在腾讯课堂和优酷、56视屏网站中上传。请大家搜索中祥课堂即可观看

时间: 2024-08-25 00:35:13

Openstack-Keystone-身份验证的相关文章

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

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

OpenStack 控制节点基本环境和身份验证服务的安装部署

OpenStack Networking(neutron) 需要一个控制节点(controller node).一个网络节点(networknode)以及至少一个计算节点(compute node). 一.物理环境部署 1.物理环境规划 表1.1. OpenStack环境部署 二.安装前的部署 1.1配置主机名 [email protected]:~# vim  /etc/hostname controller 1.2 配置IP地址 [email protected]:~# vim  /etc/

云计算OpenStack:keystone身份认证服务(二)--技术流ken

Keystone介绍 keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等等.云环境中所有的服务之间的授权和认证都需要经过 keystone. 因此 keystone 是云平台中第一个即需要安装的服务. 作为 OpenStack 的基础支持服务,Keystone 做下面这几件事情: 管理用户及其权限 维护 OpenStack Services 的 Endpoint Authen

OpenStack Keystone V3

Keystone V3 Keystone 中主要涉及到如下几个概念:User.Tenant.Role.Token.下面对这几个概念进行简要说明. User:顾名思义就是使用服务的用户,可以是人.服务或者是系统,只要是使用了 Openstack 服务的对象都可以称为用户. Tenant:租户,可以理解为一个人.项目或者组织拥有的资源的合集.在一个租户中可以拥有很多个用户,这些用户可以根据权限的划分使用租户中的资源. Role:角色,用于分配操作的权限.角色可以被指定给用户,使得该用户获得角色对应的

《转》OpenStack Keystone的基本概念理解

Keystone简介 Keystone(OpenStack Identity Service)是OpenStack框架中,负责身份验证.服务规则和服务令牌的功能, 它实现了OpenStack的Identity API.Keystone类似一个服务总线, 或者说是整个Openstack框架的注册表, 其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用, 需要经过Keystone的身份验证, 来获得目标服务的Endpoint来找到目标服务. Key

Openstack keystone组件详解

OpenStack Keystone Keystone(OpenStack Identity Service)是 OpenStack 框架中负责管理身份验证.服务规则和服务令牌功能的模块.用户访问资源需要验证用户的身份与权限,服务执行操作也需要进行权限检测,这些都需要通过 Keystone 来处理.Keystone类似一个服务总线, 或者说是整个Openstack框架的注册表, 其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用, 需要经过Ke

为MongoDB添加身份验证

MongoDB 默认没有开户身份验证,除非不开放外网访问,否则这种模式极不安全,现纪录添加身份验证步骤如下: 配置创建用户的时候,需要关闭: #security:##副本集之间通信用到的认证文件# keyFile: /home/soft/mongodb-linux-x86_64-rhel62-3.4.2-shard2/mongo-key# clusterAuthMode: "keyFile"##开启身份验证# authorization: "enabled" 因为你

启动 WLS 时的身份验证错误(解决linux下问题)

故障排除请注意,并非下面所有任务都需要完成.有些问题仅通过执行几项任务就可以解决. 快速链接 为什么发生此问题? 启动身份无效(WLS 7.0 和 WLS 8.1) 内嵌的 LDAP:丢失管理密码(WLS 7.0 和 WLS 8.1) 内嵌的 LDAP:更改管理密码后被管服务器不启动(WLS 7.0 和 WLS 8.1) WebLogic 服务器与 LDAP 服务器连接失败(WLS 7.0 和 WLS 8.1) LDAP 服务器:连接错误(WLS 7.0 和 WLS 8.1) LDAP 服务器:

启用和配置Office 365多重身份验证

有朋友问我,Office 365的账户安全性如何?如果别人知道我的账号和密码,那不就随时可以访问我的Office 365.其实Office 365里面有个多重身份验证. 什么是多重身份验证,以及它是如何工作的? 多重身份验证 (MFA) 或双重身份验证 (2FA) 是一种身份验证方法,该方法需要使用多种验证方式,并可为用户登录和交易添加另一道关键保护屏障. 该方法需要使用下列验证方式中的任意两种或更多种来发挥作用: 您知道的信息(通常为密码) 您拥有的东西(不易被复制的受信任设备,如电话) 您的

基于Token的身份验证——JWT(转)

本文转自:http://www.cnblogs.com/zjutzz/p/5790180.html 感谢作者 初次了解JWT,很基础,高手勿喷.基于Token的身份验证用来替代传统的cookie+session身份验证方法中的session. JWT是啥? JWT就是一个字符串,经过加密处理与校验处理的字符串,形式为: A.B.C A由JWT头部信息header加密得到B由JWT用到的身份验证信息json数据加密得到C由A和B加密得到,是校验部分 怎样生成A? header格式为: { "typ