首页 > 其他分享 >认证服务(keystone)

认证服务(keystone)

时间:2022-11-30 19:13:06浏览次数:56  
标签:服务 -- controller 认证 export keystone openstack

Keystone职能:

         Keystone (OpenStack ldentityService)是OpenStack中的一个独立的提供安全认证的模块,主要负责openstack用户的身份认证、令牌管理、提供访问资源的服务目录(指引路径)、以及基于用户角色的访问控制。

Keystone提供路径指引服务前提:

        Keystone类似一个服务总线,或者说是整个Openstack框架的注册表,其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用,需要经过Keystone的身份验证,来获得目标服务的Endpoint来找到目标服务。

主要功能:

       身份认证(Authentication) :令牌的发放和校验;用户授权(Authorization):授予用户在一个服务中所拥有权限;用户管理(Account) :管理用户账户;服务目录(Service Catalog):提供可用服务的API端点。

 


 

安装、配置keystone(controller)

实验环境:compute:已安装:chronyd、openstack;ip:192.168.90.100

controller:已安装:chronyd、openstack、mariadb、rabbitmq、memcached、etcd;ip:192.168.90.110;mysql密码:000000

 

一、创建keystone数据库并授权

连接数据库:mysql -uroot -p000000

新建数据库keystone:CREATE DATABASE keystone;

 

为keystone数据库用户分配权限,并设置用户keystone的密码为000000:下面两条语句把‘keystone’数据库所有表(keystone.*)的所有权限(ALL PRIVILEGES)授予本地主机(‘localhost’)及任意远程主机(‘%’)上的登录名为‘keystone’的用户,验证密码为‘000000’

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'kspass';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'kspass';

退出:quit;

二、安装和配置

 

安装软件包: yum -y install openstack-keystone httpd mod_wsgi

 

编辑配置文件:/etc/keystone/keystone.conf

第1步:修改‘【database】’部分实现与数据库连接                【小技巧:esc   按\  输入要找内容    按N向下翻找查看】

 connection = mysql+pymysql://keystone:000000@controller/keystone

第2步:修改‘【token】’部分配置令牌的加密方式。取消注释。使provider = fernet  生效

初始化keystone数据库:su -s /bin/sh -c "keystone-manage db_sync" keystone

查看数据库,确保初始化成功:

 

 

 初始化令牌库:

 keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
 keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
引导身份认证服务,其中设置了管理员密码为000000
keystone-manage bootstrap --bootstrap-password 000000 --bootstrap-admin-url http://controller:5000/v3 --bootstrap-internal-url 
http://controller:5000/v3 --bootstrap-public-url http://controller:5000/v3 --bootstrap-region-id RegionOne

 

 

三、配置http服务

编辑/etc/httpd/conf/httpd.conf,配置服务名称:ServerName controller

 

创建配置文件/usr/share/keystone/wsgi-keystone.conf的符号链接:ln -s /usr/share/keystone/wsgi-keystone.conf  /etc/httpd/conf.d/

重启Apache服务:systemctl enable/restart/status httpd

 

四、完成安装、模拟登陆验证

创建初始化环境变量文件:vi admin-login

 

 export OS_USERNAME=admin
 export OS_PASSWORD=000000
 export OS_PROJECT_NAME=admin
 export OS_USER_DOMAIN_NAME=Default
 export OS_PROJECT_DOMAIN_NAME=Default
 export OS_AUTH_URL=http://controller:5000/v3
 export OS_IDENTITY_API_VERSION=3

 

导入环境变量进行验证:source admin-login

export -p

五、创建域、项目、用户和角色(身份的验证是通过域、项目、用户和角色的组合来进行的。)

1、创建一个名称为example的新域:openstack domain create --description "An Example Domain" example

 

 

 

 2、新建一个名为service的新项目,属于example域:openstack project create --domain example --description "Service Project" service

 

 

 

3、 新建一个用户myuser,属于example域,密码设置为000000:openstack user create --domain example --password-prompt myuser

 

 

 

 4、新建角色myrole:openstack role create lpm

 

 

 查看现有域列表: openstack domain list

现有用户列表:openstack user list

现有项目列表:openstack project list

查看角色列表:openstack role list

 

六、验证

查看是否可以不指定密码就可以获取到token信息(验证认证服务)

openstack token issue

 

 

标签:服务,--,controller,认证,export,keystone,openstack
From: https://www.cnblogs.com/lpmp/p/16939269.html

相关文章

  • 实验四 Web服务器2
    实验四Web服务器2基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:Web服务器的客户端服务器,提交程序运行截图实现GET即可,请求,响应要符合HTTP协议规范服务......
  • springcloud之微服务架构
    微服务& 微服务架构微服务不等于微服务架构微服务  :  强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题\提供落地对应服务的一个服务应用,狭义的......
  • Web服务器2
    编译查看ip地址访问服务器部署到华为云服务器,浏览器用本机的服务器部署访问......
  • Web服务器2
    Web服务器2基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:Web服务器的客户端服务器,提交程序运行截图实现GET即可,请求,响应要符合HTTP协议规范服务器部署到......
  • springcloud之模拟微服务环境
    创建聚合服务1-创建父功能newMavenProject修改pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="......
  • 微服务减少jar包体积
    <build><finalName>${project.artifactId}</finalName><plugins><!--打包jar--><plugin><groupId>org.apa......
  • nodejs 服务器监听的主机名称导致的本地前端代理错误
    问题前端本地开发服务器一直是正常的,直到某一天启动时出现这个错误:代理服务的配置如下:(http://localhost:8000跑着一个本地启动的nodejs服务器。)const{createProxyMid......
  • the--openssl升级引起的openstack服务异常问题
    1.问题查看openstack服务,各个服务报错提示:  PAMunabletodlopen(/lib64/security/pam_tally.so):/lib64/security/pam_tally.so:cannotopensharedobjectfile......
  • 封UDP是什么意思? 封UDP、封海外服务器真的打不进么
    ​​利联科技​​——封udp扬州机房    首先需要清楚封海外就是封住海外的Attack,因为目前来说国内的大Attack都是来自国外的,国外的成本较国内的成本低很多的。那封UD......
  • 【HMS Core】AR Engine、3D建模服务相关问题
    问题描述1:AREngine的人体和人脸跟踪等能力是否支持将本地摄像头开启替换成本地视频的。解决方案:AREngine的​​运动跟踪​​、​​环境跟踪​​、​​人体和人脸跟踪​​......