Keystone简介,官方文档概念及原理梳理.2019/10/31

Keystone作为OpenStack的身份服务,负责用户身份验证、授权和服务目录管理。用户信息可与LDAP集成,通过Roles进行权限分配。Domain代表一个租户,Project为域内的子设施,User表示用户,Credentials为验证身份的凭证。Authentication确保身份有效,Token用于访问服务,Service定义用户可享受的服务,Endpoint为服务地址。RBAC模型中,Role赋予不同权限,project和domain在同一个表,理论上project可无限分级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:
本博客根据2019/10/31左右官方文档,及度娘上相关博客,视频进行梳理,为了大家共同学习,有重复处望作者海涵~~

1.概述

在这里插入图片描述

  1. 身份认证:用户身份信息可以保存在Keystone数据库中,生成环境中Keystone可以与现有后端用户目录整合:通过LDAP与微软的服务目录或者开源的open-LDAP进行整合
  2. 授权:通过Roles进行授权
  3. 服务目录分为:Services和Endpoints

在这里插入图片描述

2.Keystone概念

Domain:一个域,3.0版本中相当于对应一个租户 ,现实生活中比如我这个租户是开酒店的,Domain相当于整个酒店

Project:项目,一个域中可能会有多个项目设施,比如有吃饭的地方,有洗澡的地方,娱乐的地方

User:用户,对应这个租户下的用户,比如想进入这个酒店的人

Credentials:凭证,相当于现实生活中开发需要身份证

Authentication:身份验证,相当于现实生活中拿身份证开房要刷一

### 创建并编辑 `/etc/apache2/conf.d/wsgi-keystone.conf` 文件 在 Linux 系统中,可以通过以下方法创建并编辑指定路径下的配置文件 `/etc/apache2/conf.d/wsgi-keystone.conf`。 #### 1. 使用 `touch` 命令创建文件 如果目标路径已经存在,则可以使用 `touch` 命令快速创建一个新的空文件: ```bash sudo touch /etc/apache2/conf.d/wsgi-keystone.conf ``` #### 2. 使用 `vim` 或其他文本编辑器直接创建并编辑文件 可以直接调用文本编辑器(如 `vim`、`nano`)来创建并编辑该文件: ```bash sudo vim /etc/apache2/conf.d/wsgi-keystone.conf ``` 或者使用 `nano` 编辑器: ```bash sudo nano /etc/apache2/conf.d/wsgi-keystone.conf ``` #### 3. 添加必要的内容到文件中 以下是典型的 `wsgi-keystone.conf` 文件的内容示例,可以根据实际需求调整: ```apache 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-error.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-error.log CustomLog /var/log/apache2/keystone-access.log combined <Directory /usr/bin> Require all granted </Directory> </VirtualHost> ``` 以上内容定义了两个虚拟主机分别监听端口 5000 35357,并指定了相应的 WSGI 应用程序位置以及日志记录方式[^2]。 #### 4. 设置文件权限 为了确保 Apache 可以正常读取该配置文件,需设置适当的文件权限: ```bash sudo chmod 644 /etc/apache2/conf.d/wsgi-keystone.conf ``` #### 5. 测试配置文件语法 完成编辑后,测试 Apache 的配置文件是否有语法错误: ```bash sudo apachectl configtest ``` 如果没有错误提示,则说明配置文件无误。 #### 6. 重启 Apache 服务使更改生效 最后,重启 Apache 服务以加载新的配置文件: ```bash sudo systemctl restart apache2 ``` --- ### 注意事项 - 如果 `/etc/apache2/conf.d/` 路径不存在,可能需要手动创建它: ```bash sudo mkdir -p /etc/apache2/conf.d/ ``` - 确保已安装 `mod_wsgi` 并启用相关模块: ```bash sudo a2enmod wsgi ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值