设为首页 收藏本站
查看: 1294|回复: 0

[经验分享] (原创)OpenStack服务如何使用Keystone(三)---详细配置Keystone中间件

[复制链接]

尚未签到

发表于 2015-4-12 16:14:00 | 显示全部楼层 |阅读模式
  
  (一)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_token
  (弃用)必须在该选和下面的三个选项中设置一种. 该选项的值应与引导Keystone服务时设置的 "admin_token" 相同.

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服务器要求客户端提供证书, 那么该项必须设置, 如果certfile包含密钥, 那么该项的值可以与certfile相同.
  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" 允许任何类型的令牌绑定. 最后, 令牌绑定的方法必须出现在令牌中.

auth_admin_prefix
     (弃用)路径前添加的前缀.


auth_host
(弃用)提供keystone服务的API终端URL.

auth_port
     (弃用)(可选, 默认35357). 用来验证令牌的端口.

auth_protocol
(弃用)(可选, 默认https). 用来验证令牌的协议类型.
  二. 与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服务器获取一次令牌撤销列表,撤销行为发生得越频繁, 撤销列表缓存的时间越短, 那么性能越差.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-56392-1-1.html 上篇帖子: OpenStack API部分高可用配置(二) 下篇帖子: ubuntu openstack
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表