(一)Keystone端的操作

  (二)如何在OpenStack服务上部署Keystone中间件

  (三)详细配置keystonemiddleware

  前文我们介绍了如何部署Keystone中间件以及中间件的配置点. 这里给出所有Keystone中间件的配置项. 概括起来, Keystone中间件的配置项具有以下特点,

  1. 以 "auth_" 开头的配置项需要指向Keystone的Admin服务, Keystone中间件使用这些配置信息从Keystone服务处获取令牌的有效信息.

  2. 提供管理员身份凭证(admin_user, admin_tenant_name, admin_password)的目的是获取一个具有管理权限的令牌, 该令牌用于给普通用户的令牌授权.

  3. "cache" 的值可以设置为swift.cache, 也可以不设置. 表示中间件缓存令牌的位置, 既可以是Swift的memcache, 也可以是与其他服务统一的基于memcached的缓存池. 下文将会详细介绍该配置项.

  4. "include_service_catalog" 缺省为True, 意味着在验证普通用户令牌的时候, 中间件会从Keystone那里取回服务目录并存储在HTTP头的"X-Service-Catalog"字段. Swift并不适用"X-Service-Catalog"字段, 因此Swift的"include_service_catalog"推荐设置为False.

  5. 若使用Keystone的第三版身份API, 需要将配置项"auth_version"设置为 "v3.0".

一. 与Keystone服务相关的配置

identity_uri

  完整的Keystone管理API端点, 这里不应该在路径中指明身份API版本(如http://localhost:35357/). 该选项给keystone中间件一个keystone服务端的终端,keystone中间件在向该终端认证后才可以执行验证用户令牌、获取令牌撤销列表等API。

auth_uri

  完整的Keystone公共API端点(如 http://localhost:5000/). 配置该选项的目的是一旦用户的请求中没有携带令牌或者携带的令牌已经失效,那么将这个地址通过HTTP响应头“www-Authenticate”返回给用户,告诉他这里可以获取一个新的令牌。

 admin_user, admin_password, admin_tenant_name
  如果没有提供"admin_token", 那么这三个选项应是已经在Keystone中配置好的服务账户. 
 auth_version
  要使用的Keystone管理API版本.
 delay_auth_decision
  (默认False). 如果是True, 中间将将不会拒绝无效的认证请求,而是将决策的权利委托给下游的WSGI组件.
 http_connect_timeout
  (默认None). 向Keystone服务端请求的超时秒数.
 http_request_max_retries
  (默认3). 向Keystone服务端请求的最大重试次数.
 certfile
  keystone中间件的公钥证书。如果Keystone服务端要求客户端提供证书,那么该项必须设置.
 keyfile
  keystone中间件的私钥,用于签名。如果Keystone服务端要求客户端提供证书, 那么该项必须设置.
 cafile

  (默认None). 给keystone中间件公钥证书签名的CA证书。用来验证https连接的PEM编码的CA 文件路径.

insecure

  (默认False). 是否验证https连接. True代表允许不安全的连接; False代表不允许不安全的连接。

signing_dir

  储存与PKI令牌相关文件的目录. 用来存放keystone的公钥证书、CA证书和从keystone那里获取的令牌撤销列表。
include_service_catalog
  (可选, 默认True). 指示是否设置 "X-Service-Catalog" 字段. 如果为False, 中间件在验证令牌的过程中将不获取服务目录, 也不会设置 "X-Service-Catalog" 字段.
enforce_token_bind
     (默认 permissive). 用来控制令牌绑定的使用和类型. 设置为 "disabled"  将不会检查令牌绑定, 设为"permissive" 将会验证系统已知的绑定类型,忽略那些系统中没有定义的绑定类型; 设为 "strict" 验证系统已知的绑定类型, 拒绝系统未知类型的令牌绑定; 设为 "required" 允许任何类型的令牌绑定. 最后, 令牌绑定的方法必须出现在令牌中.
 

二. 与memcached服务端相关的配置

memcached_servers
  (旧名: memcache_servers). 如果设置, 指定用于缓存令牌的 memcached server(s); 如果没有设置, 中间件会将令牌缓存在进程中(cached in-process).  
cache
  (默认None). Swift缓存的环境键, 可以设置成 "swift.cache", 表示在Swift中使用其自带的缓存机制.
memcache_security_strategy
  (可选, 默认None). 如果设置, 指示令牌数据是否需要认证或认证加密。可接受的值包括MAC、ENCRYPT和空值(或None). MAC选项将会在缓存中采用HMAC算法认证令牌, ENCRYPT选项将会在缓存中加密和认证. 任何不是这两个值或空值中的一个, 那么中间件将会在初始化阶段报错.
memcache_secret_key

  (如果设置了"memcache_security_strategy", 则必须设置该选项). 该选项用来导出存储令牌的键

memcache_pool_dead_retry

  (可选, 默认5*60).  重试memcached服务端前等待的秒数.

memcache_pool_maxsize

  (可选, 默认10). 每个memcached服务端最大开放连接数.

memcache_pool_socket_timeout

  (可选). 套接字连接memcache服务端的超时上限(秒).
memcache_pool_unused_timeout
  (可选). 不使用的memcached连接多久会被关闭(秒).
memcache_pool_conn_get_timeout
  (可选, 默认10). 从连接池中获得一个memcache客户端连接的超时上限(秒).
memcache_use_advanced_pool
  (可选, 默认False). 是否采用高级(eventlet安全的)memcache客户池, 当前该高级连接池仅适用于Python 2.x. 
token_cache_time
  (默认300). 令牌缓存时间(秒). 为了避免过度请求和验证, 中间件会缓存每一个自己见到额令牌. 该选项仅在设置了 "memcached_servers" 选项后才生效,设为-1将会完全关闭缓存.
hash_algorithms
  (默认md5).  中间件存储PKI令牌时用来哈希PKI令牌的算法. 可以设为一个或多个值, 只要是Python的hashlib.new()方法支持的算法即可. 中间件会按照该选项给出的顺序对PKI令牌进行哈希, 所以将偏好的算法靠前设置. 当从一个较不安全的哈希算法向一个较安全的哈希算法过渡时, 该选选项通常设置为多个值, 一旦所有旧令牌都过期, 该项应该被设置成单一的值从而提升性能.
check_revocations_for_cached
  (默认False). 是否检查已缓存令牌是否被撤销. 如果设为True, 则会检查已被缓存令牌的撤销列表, 要求Keystone服务端使用的是PKI令牌.
revocation_cache_time
  (默认10). 多少秒从Keystone服务端获取一次令牌撤销列表,撤销行为发生得越频繁, 撤销列表缓存的时间越短, 那么性能越差.

(原创)OpenStack服务如何使用Keystone(三)---详细配置Keystone中间件的更多相关文章

  1. (原创)OpenStack服务如何使用Keystone(一)---Keystone端的操作

    (一)Keystone端的操作 (二)如何在OpenStack服务上部署Keystone中间件 (三)详细配置keystonemiddleware OpenStack项目如果要使用Keystone作为 ...

  2. (原创)OpenStack服务如何使用Keystone (二)---部署和配置Keystone中间件

    (一)Keystone端的操作 (二)如何在OpenStack服务上部署Keystone中间件 (三)详细配置keystonemiddleware 部署OpenStack时一般先安装Keystone服 ...

  3. openstack keystone 命令详细

    命令使用之前需要  运行命令行“. admin-openrc” 用户(User) 查看用户列表 openstack user list 创建用户 openstack user create [-h] ...

  4. OpenStack入门篇(七)之认证服务Keystone

    一.Keystone的概述 Keystone是Openstack的组件之一,用于为Openstack家族中的其它组件成员提供统一的认证服务,包括身份验证,令牌的发放和校验,服务列表,用户权限的定义等. ...

  5. openstack Q版部署-----keystone认证服务安装配置(3)

    一.新建数据库及用户(控制节点) 登录数据库,创建db以及用户: CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'ke ...

  6. openstack学习-glance安装(三)

    glance在openstack负责镜像相关管理的,对外提供标准的api提供服务,glance有两个服务,一个是glance-api接受云系统镜像的创建.删除.读取请求.glance-registry ...

  7. openstack 部署(Q版)-----keystone认证服务安装配置

    一.新建数据库及用户 CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' ID ...

  8. (三)OpenStack---M版---双节点搭建---Keystone安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 1.创建keystone数据库 2.创建随机密码作为管理员令牌 3.安装openstack-ke ...

  9. S1_搭建分布式OpenStack集群_04 keystone认证服务安装配置

    一.新建数据库及用户(控制节点)# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE keystone;MariaDB [(non ...

随机推荐

  1. 关于RPG游戏结构撰写的相关探索下篇

    如今市面上已经有好几百种免费RPG系统,我们都能够按照自己的需求对此进行扩展与修改.通过选择现有的系统(特别是较有名的),你能够从一个稳定且经过测试的基础开始创 造. 但是之后你需要基于设置和规则对此 ...

  2. JAVA开发的23种设计模式之 --- 桥接模式

    桥接模式 概述:将抽象部分与他的实现部分分离,这样抽象化与实现化解耦,使他们可以独立的变化.如何实现解耦的呢,就是通过提供抽象化和实现化之间的桥接结构.    应用场景        实现系统可能有多 ...

  3. android 模拟器 sdcard权限修改

    http://blog.csdn.net/zj510/article/details/8645777 mksdcard 1024M c:\sdcard.img (路径随意,大小随意) 执行:adb p ...

  4. 【Linux】crontab 定时启动sh

    crontab -e 20点59分启动脚本 59 20 * * * sh /home/fzuir/xingye4crawl/endXingYe4Crawl.sh >/home/fzuir/xin ...

  5. django HttpRequest对象

    概述: 服务器接收http请求后,会根据报文创建HttpRequest对象 视图的第一个参数就是HttpRequest对象 django创建的,之后调用视图时传递给视图 属性 path:请求的完整路径 ...

  6. [转]PowerDesigner表结构和字段大小写转换

    原文地址:https://blog.csdn.net/u010216641/article/details/48712503 ##PowerDesigner去除双引号## 平时经常用PowerDesi ...

  7. spring mvc之请求过程源码分析

    简介 上一篇,我们分析了spring mvc启动过程的源码,这一节,来一起分析下在用户请求controller的过程中,spring mvc做了什么事? 一.准备 我写这么一个controller p ...

  8. composer安装与应用

    操作环境:centos 6.5+32bit 1. 建立项目目录 mkdir test cd test 2. 在当前目录下安装: $ curl -sS https://getcomposer.org/i ...

  9. Domain应用之 根据某个Many2one的对象的 X2many对象 过滤

    如果两者都是many2one类型的对象,过滤非常简单,在xml中添加domain过滤即可,比如 国家.省市之间的联动关系. 如果想要根据某个对象的X2many类型的字段进行过滤该如何去做呢? 答案是利 ...

  10. AT91SAM9260EK-38k产生原理

    9260内部有5个内部计数器,分别为TIMER_CLOCK1 --- TIMER_CLOCK5.通过这5个时钟可以为各种内部设备提供时钟基准. 其中,红外发射38K方波,是通过CLOCK1计数产生. ...