OpenStack Keystone (2): 角色權限管理

Keystone中角色(role上)的存在就是爲了控制不同的用戶所擁有的權限,例如是否可以創建volume,是否能夠創建computer等等。 

在OpenStack中不同角色權限的控制在文件/etc/SERVICE_NAME/policy.json中設置,例如文件/etc/nova/policy.json中指定不同角色對計算服務的訪問策略和權限,文件/etc/glance/policy.json中指定不同角色對鏡像服務的訪問策略和權限,同樣文件/etc/keystone/policy.json中指定不同角色對身份認證服務的訪問策略和權限。

例如,在文件/etc/cinder/policy.json中,下面的配置並沒有限制哪一個用戶可以創建volume

"volume:create": "",

任何在相應project中的用戶都可以在project中創建volume。

如果我們想要限制只能是某種角色的用戶纔可以創建volume,可以這樣做:

"volume:create": "role:engineer",

如上的配置就限制了只有engineer角色的用戶纔可以創建volume。注意,所有的限制都是在特定的project中執行。

其實policy.json文件就是配置了不同角色對於給定的API的訪問控制權限,


參考資料:

Identity concepts

Identity API protection with role-based access control (RBAC)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章