日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18)

發(fā)布時間:2023/12/15 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作為 OpenStack 的基礎(chǔ)支持服務(wù),Keystone 做下面這幾件事情:

  • 管理用戶及其權(quán)限

  • 維護 OpenStack Services 的 Endpoint

  • Authentication(認證)和 Authorization(鑒權(quán))

  • 學(xué)習(xí) Keystone,得理解下面這些概念:

    User

    User 指代任何使用 OpenStack 的實體,可以是真正的用戶,其他系統(tǒng)或者服務(wù)。

    當 User 請求訪問 OpenStack 時,Keystone 會對其進行驗證。

    Horizon 在 Identity->Users 管理 User

    除了 admin 和 demo,OpenStack 也為 nova、cinder、glance、neutron 服務(wù)創(chuàng)建了相應(yīng)的 User。 admin 也可以管理這些 User。

    Credentials

    Credentials 是 User 用來證明自己身份的信息,可以是: 1. 用戶名/密碼 2. Token 3. API Key 4. 其他高級方式

    Authentication

    Authentication 是 Keystone 驗證 User 身份的過程。

    User 訪問 OpenStack 時向 Keystone 提交用戶名和密碼形式的 Credentials,Keystone 驗證通過后會給 User 簽發(fā)一個 Token 作為后續(xù)訪問的 Credential。

    Token

    Token 是由數(shù)字和字母組成的字符串,User 成功 Authentication 后由 Keystone 分配給 User。

  • Token 用做訪問 Service 的 Credential

  • Service 會通過 Keystone 驗證 Token 的有效性

  • Token 的有效期默認是 24 小時

  • Project

    Project 用于將 OpenStack 的資源(計算、存儲和網(wǎng)絡(luò))進行分組和隔離。 根據(jù) OpenStack 服務(wù)的對象不同,Project 可以是一個客戶(公有云,也叫租戶)、部門或者項目組(私有云)。

    這里請注意:

  • 資源的所有權(quán)是屬于 Project 的,而不是 User。

  • 在 OpenStack 的界面和文檔中,Tenant / Project / Account 這幾個術(shù)語是通用的,但長期看會傾向使用 Project

  • 每個 User(包括 admin)必須掛在 Project 里才能訪問該 Project 的資源。 一個User可以屬于多個 Project。

  • admin 相當于 root 用戶,具有最高權(quán)限

  • Horizon 在 Identity->Projects 中管理 Project

    通過 Manage Members 將 User 添加到 Project 中

    Service

    OpenStack 的 Service 包括 Compute (Nova)、Block Storage (Cinder)、Object Storage (Swift)、Image Service (Glance) 、Networking Service (Neutron) 等。

    每個 Service 都會提供若干個 Endpoint,User 通過 Endpoint 訪問資源和執(zhí)行操作。

    Endpoint

    Endpoint 是一個網(wǎng)絡(luò)上可訪問的地址,通常是一個 URL。 Service 通過 Endpoint 暴露自己的 API。 Keystone 負責(zé)管理和維護每個 Service 的 Endpoint。

    可以使用下面的命令來查看 Endpoint。

    root@devstack-controller:~# source devstack/openrc admin admin?

    root@devstack-controller:~# openstack catalog list

    Role

    安全包含兩部分:Authentication(認證)和 Authorization(鑒權(quán)) Authentication 解決的是“你是誰?”的問題 Authorization 解決的是“你能干什么?”的問題

    Keystone 是借助 Role 來實現(xiàn) Authorization 的:

  • Keystone定義Role

  • 可以為 User 分配一個或多個 Role Horizon 的菜單為 Identity->Project->Manage Members

  • Service 決定每個 Role 能做什么事情 Service 通過各自的 policy.json 文件對 Role 進行訪問控制。 下面是 Nova 服務(wù) /etc/nova/policy.json 中的示例

  • 上面配置的含義是:對于 create、attach_network 和 attach_volume 操作,任何Role的 User 都可以執(zhí)行; 但只有 admin 這個 Role 的 User 才能執(zhí)行 forced_host 操作。

    OpenStack 默認配置只區(qū)分 admin 和非 admin Role。 如果需要對特定的 Role 進行授權(quán),可以修改 policy.json。

    下一節(jié)我們將通過例子加深對這些概念的理解。



    總結(jié)

    以上是生活随笔為你收集整理的理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。