zoukankan      html  css  js  c++  java
  • openstack barbican重要概念

     
    总体架构图 
     
     
    各个抽象概念的关系图
     
     

    抽象概念解释

    Secrets:
    Secrets是需要存储的密钥,可能的形式如:私钥、证书、密码等。
     
    ACL:
    除了基于角色的权限控制外,ACL可以提供基于用户访问列表的权限控制。即可以指定哪些用户对该密钥有访问权限。
     
     
    Containers:
    Containers是一个容器,用于存储多个secret引用。当不得不跟踪、访问上百个secret时,container非常有用。
    barbican支持3种类型的container:
    • Generic
    • Certificate
    • RSA
     
    每种类型的container应该保存什么类型的secret,有明确的限制。
     
    Generic Containers:
    用于存储任意类型的secret。对于secret的类型和存储数量没有任何限制。
     
    Certificate Containers:
    用于存储如下类型的secret:
    • certificate (如PEM格式的x509证书)
    • private_key (可选)
    • private_key_passphrase (optional)
    • intermediates (optional) (如PEM格式的PKCS7证书链)
     
    RSA Container:
    用于存储如下类型的secret:
    • RSA public key
    • RSA private key
    • RSA private key pass phrase

    即非对称密钥的公钥、私钥、以及私钥密码。目前只支持RSA算法。用order创建非对称密钥的时候,自动会创建一个该类型的container,并把公钥和私钥放到该container

     
     
     
     
    Orders:
    order允许用户请求barbican自己产生secret。并且支持异步生成secret。当希望请求生成多个公私钥对时,非常有用。
    order支持如下两种类型:
    • symmetric keys 对称密钥
    • asymmetric keys 非对称密钥
     
    一个order生成一个对应的secret。
    order可以异步生成。
     
     
     
    Consumer:
    consumer可以把一组用户或服务注册给container,表明这组用户或服务对该container感兴趣。
    该设计的初衷是,当一个container被删除时,所有的consumer应该被通知该事件。
     
     
    其它:
    barbican除了启动api web 服务之外,还会默认启动两个消息队列的server:
    service barbican-keystone-listener start/stop
    service barbican-worker start/stop
     
    启动流程:
    /etc/init.d/barbican-keystone-listener -> /usr/bin/barbican-keystone-listener -> barbican.cmd.keystone_listener -> main
     
    /etc/init.d/barbican-worker -> /usr/bin/barbican-worker -> barbican.cmd.worker -> main
     
    作用:
    barbican-keystone-listener:
    监听keystone发出的事件,执行相应的操作。目前只有一个功能,即捕获keystone删除project的事件,然后删除对应project下的资源(container、secret等)
     
    barbican-worker:
    监听order操作的异步事件,执行相应的操作。如创建密钥等。事件源来自order api 
     
     
    最重要的放最后:
    barbican的加解密插件系统
     
     
  • 相关阅读:
    飞鸽传书中文源码
    nohup命令参考
    Linux平台编程新手入门 C语言中的移位操作
    小技巧:让linux程序在后台运行
    2440之中断管理
    linux终端中输出彩色字体(C/SHELL)
    C语言标准中的逻辑位移和算术位移
    SQL2005利用ROW_NUMER实现分页的两种常用方式
    不用现有方法,把string转换成int型[C#]
    C# 如何生成一个时间戳
  • 原文地址:https://www.cnblogs.com/tian-jiang-ming/p/8718319.html
Copyright © 2011-2022 走看看