Openstack にレジスタを追加しようとしています。だから私は管理者のようなスーパーユーザーを作成したい. 次に、管理者なしでスーパーユーザーによってユーザーを作成できます。誰かアドバイスをくれませんか?
1 に答える
openstack でユーザー管理を制御する別の方法についての以前の質問に回答しました。keystone API を使用する場合、現時点では多くのオプションはありませんが、adam young はトークンに共有トラストを実装するために多くの作業を行っています。これにより、信頼できるトークンをユーザーに付与して、管理機能のセットを削減する手段が提供されます...最終的には。今のところ、他のスタックオーバーフローの質問で私が提示した解決策をよく見ているでしょう。
ref: Openstack キーストーン認証なしでユーザーを作成
openstack でのトラストと rbac の詳細については、http://adam.younglogic.com/2013/03/trusts-rbac/ を参照して ください。
以下は、「管理者」ではないが管理者の役割を持つユーザーを作成する方法です
これを使用して、コードで新しいユーザーを作成するために使用できるユーザーを作成できます。ただし、明らかに、そのコードには完全な管理資格情報が含まれます。あなたのリスクプロファイルがどのようなものかわかりません。しかし、ユーザーを登録できるようにしたいのは明らかです。keystone の管理者資格情報を使用して単純な RPC メカニズムを構築することを検討してください。そして、一般向けのアプリがその RPC サービスに最小限の情報を送信するようにします。次に、RPC インターフェイスを強化します。または、前に言ったように、他のスタックオーバーフローの質問で提案されている代替案を検討してください (IE: LDAP、ダイレクト MySQL クエリ)
root@openstack-cc1:~# keystone tenant-list
+----------------------------------+----------+---------+
| id | name | enabled |
+----------------------------------+----------+---------+
| 5c1bd4f84d044450aaa22d16360f29c0 | admin | True |
| 2862b9e419b74880a507f96de3424f89 | services | True |
+----------------------------------+----------+---------+
root@openstack-cc1:~# keystone user-create --name sallyadmin --tenant-id 5c1bd4f84d044450aaa22d16360f29c0 --pass sallypassword --email sally@cloudbadass.net --enabled true
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | sally@cloudbadass.net |
| enabled | True |
| id | ac822a0297864fe6870b065e50ea4568 |
| name | sallyadmin |
| tenantId | 5c1bd4f84d044450aaa22d16360f29c0 |
+----------+----------------------------------+
これで、その管理テナントにユーザー sallyadmin が作成されます。
役割を追加しましょう
root@openstack-cc1:~# keystone role-list
+----------------------------------+----------+
| id | name |
+----------------------------------+----------+
| b3dc33d067a240d49b5c1404fee049f1 | Member |
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ |
| ba82a9493b034d4b83ae96c8aff75b8d | admin |
+----------------------------------+----------+
root@openstack-cc1:~# keystone user-list
+----------------------------------+------------+---------+------------------------+
| id | name | enabled | email |
+----------------------------------+------------+---------+------------------------+
| ccf2c111e21c44dca0ab40f6a886247c | admin | True | matt.joyce@lulz.com |
| 5e82674cc67d461c9a3ccb14e86b3794 | cinder | True | cinder@localhost |
| 80d8defdf0464787b11423427c0fe508 | glance | True | glance@localhost |
| 8332b99589044cd5a40ca1a9329f7aef | nova | True | nova@localhost |
| ac822a0297864fe6870b065e50ea4568 | sallyadmin | True | sally@cloudbadass.net |
+----------------------------------+------------+---------+------------------------+
root@openstack-cc1:~# keystone user-role-add --user ac822a0297864fe6870b065e50ea4568 --role ba82a9493b034d4b83ae96c8aff75b8d --tenant-id 5c1bd4f84d044450aaa22d16360f29c0
それでは、sallyadmin をテストしてみましょう。
root@openstack-cc1:~# export OS_USERNAME="sallyadmin"
root@openstack-cc1:~# export OS_PASSWORD="sallypassword"
root@openstack-cc1:~# keystone user-list
+----------------------------------+------------+---------+------------------------+
| id | name | enabled | email |
+----------------------------------+------------+---------+------------------------+
| ccf2c111e21c44dca0ab40f6a886247c | admin | True | matt.joyce@lulz.com |
| 5e82674cc67d461c9a3ccb14e86b3794 | cinder | True | cinder@localhost |
| 80d8defdf0464787b11423427c0fe508 | glance | True | glance@localhost |
| 8332b99589044cd5a40ca1a9329f7aef | nova | True | nova@localhost |
| ac822a0297864fe6870b065e50ea4568 | sallyadmin | True | sally@cloudbadass.net |
+----------------------------------+------------+---------+------------------------+