日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

openstack-keystone简记

發布時間:2025/3/17 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 openstack-keystone简记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

  • 驗證

    • 概念
      • 租戶(tenant)
        • openstack的組織方式
        • 一個租戶=一個nova的project-id
      • 用戶(user)
        • 代表個體,openstack用user的形式授權
        • 一個user=一個證書(credentials)
          • 一個證書可分配給1~N個租戶
          • 驗證后,每個tenant會分配有一個特定令牌
      • 證書(credentials)
        • 唯一標識一個keystone user的密碼/其他信息
      • 令牌(token)
        • 任意比特的文本
        • 兩種類型
          • scoped:代表某個tenant驗證過的user
          • unscoped:僅代表一個user
        • 有效期有限,隨時可被撤回
      • 角色(role)
        • 某個tenant的權限集合
  • 服務目錄

    • 服務(service)
      • nova,glance,swift等
    • 端點(endpoint)
      • 一個uri
    • 模板(template)
      • 端點的集合
  • credential的處理和存儲方式

    • openstack的做法應該是 1.給每個公司分配一個userId,對應有一個證書 2.給每個用戶建立多個項目,稱為租戶 3.證書可以分配給租戶,但使用時的,是通過證書生成的令牌 4.令牌有期限,可撤換(類似oauth協議)
    • 存儲證書方式:
      • keystone存儲證書的方式,有多種選擇, 從內置的sql 到 ldap - kvs - 內存型方式 - 最簡單的backend,只需支持主鍵查詢 - sql - 內置的是sqlite - 用SQLAlchemy持久存儲 - pam - 使用OS提供的pam機制,以完成 - 授權 - user-tenant的一對一關系 - 需root權限 - ldap - 內置的是一個ldap的樁實現(FakeLdap)

backends/ --> sql.py --> Identity.authenticate(self, user_id, tenant_id, password): user_ref = self._get_user(user_id) 通過user_id獲取user的信息 --> Identity._check_password(self, password, user_ref): return utils.check_password(password, user_ref.get('password')) 調用統一的password校驗方法 --> utils.check_password (password, hashed): (common/utils.py) password_utf8 = password轉為utf編碼 return passlib.hash.sha512_crypt.verify(password_utf8, hashed) 調用獨立的第三方庫passlib中的方法

keystone backends/ --> 使用sql的處理方式 --> Identity.authenticate(self, user_id, tenant_id, password): 通過user_id獲取user的信息 --> Identity._check_password(self, password, user_ref): 調用統一的password校驗方法 --> utils.check_password (password, hashed): 調用獨立的第三方庫passlib中的方法,從中可以看出,password傳入的是明文,存儲的是sha512加密后的結果 passlib.hash.sha512_crypt.verify(password_utf8, hashed)

轉載于:https://my.oschina.net/kakablue/blog/128285

總結

以上是生活随笔為你收集整理的openstack-keystone简记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。