OpenStack----keystone 認證服務

前言:

本篇博客爲OpenStack—keystone組件基礎理論,之後會持續更新~~

一、keystone 簡介

  • keystone 是OpenStack的組件之一,用於爲OpenStack家族中的其它組件成員提供統一的認證服務,包括身份驗證、令牌的發放和校驗、服務列表、用戶權限的定義等等。雲環境中所有的服務之間的授權和認證都需要經過 keystone. 因此 keystone 是雲平臺中第一個即需要安裝的服務。

二、keystone主要功能

2.1 職能
  • 提供統一的驗證方式
2.2 主要功能
  • ① 角色權限管理
  • ② 其他組件地址管理:負責存放其他組件URL路徑的目錄
  • ③ 3A服務認證:賬號(賬戶管理)、身份認證、辦法授權

三、keystone基本概念

3.1 keystone基本概念

  • ① 用戶

    用戶包含:使用的人、羣集裏的服務或系統。就像Linux系統裏的用戶有普通用戶、root、系統用戶等。

    在OS中是通過一串字符串來表示,id

    用戶在登錄時會分配到令牌,通過令牌來訪問其他服務

  • ② 憑證

    用來驗證身份信息的數據,如令牌、用戶名密碼、apikey等

  • ③ 驗證

    驗證是否合法、令牌是否有效(是否過期)

  • ④ 令牌

    用於訪問各個服務api或資源的一串字符串,臨時令牌具有一定的時效性,過期便失效。

  • ⑤ 租戶

    獨立的資源容器

  • ⑥ 服務

    OS中提供的服務,如glance鏡像,nova計算,swift存儲。服務提供了一個或多個端口以供訪問。

  • ⑦ 端點、端口

    用於訪問某個服務的URL地址,api接口。

    一個端點模板包含一個URL列表,列表中的每個URL都對應一個服務實例的訪問地址並且具有三種權限

    Admin:只能被管理員訪問

    Public:可以被全局訪問

    Private:只能被openstack 內部服務訪問

  • ⑧ 角色

    用戶權限的集合,如管理員擁有最高權限

  • ⑨ Keystone client

    通過java、py、go等語言開發出來的。c/s框架,客戶端與服務端採用http協議通信。

3.2 訪問請求控制(Token)
  • ① Service(nova,glance,swift等服務需要在keystone上註冊)
  • ② Endpoint(service暴露出來的訪問地址)
  • ③ Token(訪問資源的令牌,具有時效性)
3.3 註冊表服務 (Catalog)
  • openstack服務需要註冊到keystone註冊表中

四、keystone 工作流程

4.1 工作流程圖

在這裏插入圖片描述

4.2 工作過程描述
  • ① user使用命令或控制檯登錄,需要先將自己的資格證書發給keystone,認證成功後,keystone會給與用戶一個臨時令牌和一個訪問服務的端點
  • ② user把臨時的令牌交給keystone,發送創建虛擬機請求,nova收到令牌後,會向拿着令牌向keystone確認合法性,keystone認證成功後返回給nova
  • ③ nova創建虛擬機需要鏡像,所以拿着請求鏡像服務的令牌給與glance服務,glance收到令牌後拿着令牌向keystone認證合法性,keystone認證成功後返回給glance,此時glance服務將nova所請求的鏡像給與nova
  • ④ nova創建虛擬機需要虛擬網絡,所以向neutron發出請求,neutron收到nova給與的令牌向keystone認證合法性,是否可用,keystone認證成功後返回給neutron,隨即neutron給與nova提供所需的網絡服務
  • ⑤ 最後nova服務開始創建vm虛擬機,創建完成後返回信息給user: the vm is create sucessfull
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章