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加入了。

  • 相关阅读:
    cmd 一键获取 所有连接过的wifi 密码
    MYSQL注入语句
    Web安全篇之SQL注入攻击
    Kali Linux 不能联网上网 解决方法
    php杂项
    laravel下的数据序列化
    填充数据
    css
    array
    GD库常用函数
  • 原文地址:https://www.cnblogs.com/forilen/p/5521565.html
Copyright © 2011-2022 走看看