1. 程式人生 > >OpenStack Keystone (2): 角色許可權管理

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的訪問控制權限,

參考資料: