2013-09-24 40 views

回答

2

我回答了您之前關於在OpenStack中控制用戶管理的其他方法的問題。儘管目前使用keystone API的選項並不多,但adam young在執行令牌中的共享信任方面做了很多工作。這將提供手段爲用戶授予可信令牌,以減少一組管理功能......最終。目前,儘管您可能會更好地考慮我在其他堆棧溢出問題中提出的解決方案。

裁判:Openstack create user without keystone authentication

你可以閱讀更多關於信託和RBAC在OpenStack的位置:http://adam.younglogic.com/2013/03/trusts-rbac/

下面是如何創建誰不是「管理員」,但有管理員角色的用戶

您可以使用它來創建一個可以被您的代碼用來創建新用戶的用戶。但是,顯然該代碼將具有完整的管理憑據。我不知道你的風險狀況如何。但顯然你希望能夠註冊用戶。你可能會考慮建立一個簡單的RPC機制和一個keystone管理權限。並讓您的公衆面向應用程序發送該RPC服務的最少信息。然後加強RPC接口。或者,正如我之前所說的,考慮在其他計算器問題建議的替代品(IE:LDAP,MySQL的直接查詢)

[email protected]:~# keystone tenant-list 
+----------------------------------+----------+---------+ 
|    id    | name | enabled | 
+----------------------------------+----------+---------+ 
| 5c1bd4f84d044450aaa22d16360f29c0 | admin | True | 
| 2862b9e419b74880a507f96de3424f89 | services | True | 
+----------------------------------+----------+---------+ 
[email protected]:~# keystone user-create --name sallyadmin --tenant-id 5c1bd4f84d044450aaa22d16360f29c0 --pass sallypassword --email [email protected] --enabled true 
+----------+----------------------------------+ 
| Property |    Value    | 
+----------+----------------------------------+ 
| email |  [email protected]  | 
| enabled |    True    | 
| id | ac822a0297864fe6870b065e50ea4568 | 
| name |   sallyadmin   | 
| tenantId | 5c1bd4f84d044450aaa22d16360f29c0 | 
+----------+----------------------------------+ 

現在你應該有在管理員承租用戶sallyadmin。

現在讓我們添加一個角色

[email protected]:~# keystone role-list 
+----------------------------------+----------+ 
|    id    | name | 
+----------------------------------+----------+ 
| b3dc33d067a240d49b5c1404fee049f1 | Member | 
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | 
| ba82a9493b034d4b83ae96c8aff75b8d | admin | 
+----------------------------------+----------+ 
[email protected]:~# keystone user-list 
+----------------------------------+------------+---------+------------------------+ 
|    id    | name | enabled |   email   | 
+----------------------------------+------------+---------+------------------------+ 
| ccf2c111e21c44dca0ab40f6a886247c | admin | True | [email protected] | 
| 5e82674cc67d461c9a3ccb14e86b3794 | cinder | True | [email protected] | 
| 80d8defdf0464787b11423427c0fe508 | glance | True | [email protected] | 
| 8332b99589044cd5a40ca1a9329f7aef | nova | True |  [email protected]  | 
| ac822a0297864fe6870b065e50ea4568 | sallyadmin | True | [email protected] | 
+----------------------------------+------------+---------+------------------------+ 
[email protected]:~# keystone user-role-add --user ac822a0297864fe6870b065e50ea4568 --role ba82a9493b034d4b83ae96c8aff75b8d --tenant-id 5c1bd4f84d044450aaa22d16360f29c0 

現在讓我們測試出sallyadmin!

[email protected]:~# export OS_USERNAME="sallyadmin" 
[email protected]:~# export OS_PASSWORD="sallypassword" 
[email protected]:~# keystone user-list 
+----------------------------------+------------+---------+------------------------+ 
|    id    | name | enabled |   email   | 
+----------------------------------+------------+---------+------------------------+ 
| ccf2c111e21c44dca0ab40f6a886247c | admin | True | [email protected] | 
| 5e82674cc67d461c9a3ccb14e86b3794 | cinder | True | [email protected] | 
| 80d8defdf0464787b11423427c0fe508 | glance | True | [email protected] | 
| 8332b99589044cd5a40ca1a9329f7aef | nova | True |  [email protected]  | 
| ac822a0297864fe6870b065e50ea4568 | sallyadmin | True | [email protected] | 
+----------------------------------+------------+---------+------------------------+ 
+0

謝謝您的回答。我應該使用python代碼來實現「創建一個像admin一樣的用戶」,而不是現在的「shell模式」。我想我應該創建一個這樣的keystone客戶端「keystone = client.Client(username ='admin', password ='47da55c1e21f4360', tenant_name ='admin', auth_url ='http://10.0.3.181:35357/v2.0 /')「,但我不知道下一步該怎麼做。 :-( – changzhi

+0

)你說:「你可能會考慮建立一個簡單的RPC機制和一個keystone管理權限,並讓你的公共應用程序向這個RPC服務發送最少的信息。」你能告訴我詳細的步驟來實現它嗎?謝謝! – changzhi

+0

I我已經安裝了Openstack G.我編輯這個文件「/usr/share/openstack-dashboard/openstack_dashboard/api/keystone.py」,添加「def super_keystoneclient(request,username,admin = False)」如keystoneclient – changzhi

相關問題