zoukankan      html  css  js  c++  java
  • cinder服务端的keystone认证机制

    keystone在openstack中的地位

    Keystone作为OpenStack中的身份管理与授权模块,主要实现系统用户的身份认证、基于角色的授权管理、其他OpenStack服务的地址发现和安全策略管理等功能

    keystone提供的认证机制

    下面以cinder为例梳理cinder服务端在收到cinder_client的请求后,具体的认证过程,如下图:

    其中虚线连接的部分为/etc/cinder/api-paste.ini中composite设置的的pipline,图中只截取了两个跟keystone相关的,当cinder-server收到cinder-client的restful请求后,一次经过pipline的factory过滤,与api-paste相关的内容,参考:

    以下是api-paste.ini中的配置:

    [filter:keystonecontext]
    paste.filter_factory = cinder.api.middleware.auth:CinderKeystoneContext.factory
    
    [filter:authtoken]
    paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
    auth_host = 172.20.0.5
    auth_port = 35358
    auth_protocol = http
    admin_tenant_name = service
    admin_user = cinder
    admin_password = cinder
    

    通过调试,我们发现,在keystoneclient.middleware.auth_token只是实现了对request请求中的token的是否认证做了校验,而并没有对该request请求的发起者(对应的用户)的权限范围做校验,这就是认证机制中的policy.json加入了。

  • 相关阅读:
    open_basedir restriction in effect的错误及其解决办法
    SNMP-网络管理协议
    安装cacti监控系统
    并发时-修改Linux系统下的最大文件描述符限制
    js new date()说明
    阿里云ECS环境部署 centos 6.5
    sysbench
    http_load
    LeetCode: Spiral Matrix
    LeetCode:Length of Last Word
  • 原文地址:https://www.cnblogs.com/forilen/p/5521565.html
Copyright © 2011-2022 走看看