openstack身份管理_第1页
openstack身份管理_第2页
openstack身份管理_第3页
openstack身份管理_第4页
openstack身份管理_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、openstack身份管理基本概念身份服务有两个主要功能:1、用户管理:记录用户和他们的权限2、服务目录:提供可用服务和该服务api的终端地址身份服务定义了一些非常值得理解的定义:用户(User):使用OpenStack云服务的人、系统、服务的数字表示。身份验证服务验证用户传入的请求。用户登录可能被赋予访问资源的令牌。用户可能直接被指定给一个特定租户,好像用户在这个租户中一样。认证信息(Credentials):用户持有的,一般情况下只有这个用户知道的数据。用户能够使用这个数据来证明他的身份(因为没有其他人知道这个数据)。例如:· 配对的用户名和密码· 配对的用户名和API

2、 key· 自己和有你本人照片的驾驶证· 颁发给你不被其他人知道的令牌认证(Authentication):在认证服务背景下,认证是确认用户身份和请求正确性的动作。身份服务确认传入的请求来自于有请求权限的用户。这些请求最初以一系列验证信息的形式出现(用户名和密码,或用户名和API key)。经过初始验证后,身份服务会颁发给用户一个令牌,在后续请求时用户可以用这个令牌说明他们的身份已经经过认证。令牌(Token):令牌是用来访问资源的任意比特的文本。每个令牌有一个访问范围。令牌可在任意时间收回,并在一个有限的时间内有效。在Folsom版本中身份服务支持基于令牌的认证,未来将会

3、支持额外的协议。首要目的是集成服务,不渴望成为一个成熟的身份存储和管理方案。租户(Tenant):用来分组或隔离资源和(或)身份对象的容器。根据服务运营商,租户可以映射成一个客户、账户、组织或项目。服务(Service):一个OpenStack服务,例如计算(nova),对象存储(swift)或镜像服务(glance)。服务提供一个或多个用户可以访问资源和执行(可能有用的)操作的端点。端点(Endpoint):一个可通过网络访问的服务地址,通常使用URL描述。如果使用扩展,可以创建端点模板,它代表了所有可跨区域访问的服务。角色(Role):可执行一特定系列操作的用户特性。角色包括一系列权利和特

4、权。用户可继承其所属角色的权利和特权。在身份服务中,颁发给用户的令牌包括用户能承担的角色列表。这个用户调用的服务决定他们怎样解释这个用户所属的角色,以及每个角色授予访问的操作和资源。用户管理用户身份管理有三个主要的概念:· 用户Users· 租户Tenants· 角色Roles用户代表一个人,他持有相关的信息,例如用户名、密码、电子邮件。下面的例子是创建一个名为“alice”的用户:plain view plaincopy1. $ keystone user-create -name=alice -pass=myp

5、assword123 -email= alice  租户可以看做是一个项目、分组或组织。当你向OpenStack服务发送请求时,你必须之地一个租户。例如如果你要向计算服务请求查询运行实例的列表,你将收到在你查询里指定租户内的运行实例列表。下面的例子创建一个名为“acme”的租户。plain view plaincopy1. $ keystone tenant-create -name=acme  注意!因为在以前的OpenStack计算版本中使用术语“项目”来代替租户,一些命令行工具使用-pro

6、ject_id代替-tenant-id或-os-tenant-id指定租户ID。角色归纳了给定租户下允许用户执行的操作。以下例子创建一个名为“compute-user"的角色:plain view plaincopy1. $ keystone role-create -name=compute-user  注意!这取决于单个的服务(比如计算服务和镜像服务)分配这些角色的意义。至于身份服务而言,角色只是一个简单的名字。身份服务将一个用户与租户、角色关联。继续我们前面的例子,我们希望在租户“acme”中给用户”alice”分配“

7、compute-user”权限。plain view plaincopy1. $ keystone user-list  2. +-+-+-+-+  3. | id | enabled | email | name |  4. +-+-+-+-+  5. | 892585 | True | alice | alice |

8、0; 6. +-+-+-+-+  7. $ keystone role-list  8. +-+-+  9. | id | name |  10. +-+-+  11. | 9a764e | compute-user |  12. +-+-+  13. $ keystone tenant-list  14.

9、+-+-+-+  15. | id | name | enabled |  16. +-+-+-+  17. | 6b8fd2 | acme | True |  18. +-+-+-+  19. $ keystone user-role-add -user=892585 -role=9a764e -tenant-id=6b8fd

10、2  可以在不同的租户中给用户分配不同的角色。例如Alice可以在租户“Cyberdyne”中拥有“admin”角色。在同一个租户中,也可以给用户分配多个角色。/etc/SERVICE_CODENAME/policy.json控制给定服务允许用户进行的操作。例如/etc/nova/policy.json指定计算服务的访问策略,/etc/glance/policy.json指定镜像服务的访问策略,/etc/keystone/policy.json指定身份服务的访问策略。计算、身份、镜像服务中默认的policy.json文件只有一个“admin"角色:里面所有不需要a

11、dmin角色的操作可以被租户中任意角色的用户访问。如果你希望在例如计算服务中限制用户执行操作,你需要在身份服务中创建角色,然后修改/etc/nova/policy.json文件使这个角色应用到计算操作中。例如,下面/etc/nova/policy.json中的这一行指定对用户创建卷不做限制:不论用户在租户中是有何种角色,他们都可以在租户中创建卷。plain view plaincopy1. "volume:create":,  如果你希望限制当前租户中有”compute-user"角色的用户才能创建卷,可以增加“role:comput

12、e-user",例如这样:plain view plaincopy1. "volume:create": "role:compute-user",  如果我们希望限制所有的计算服务请求都需要这个角色,策略文件是这样的:plain view plaincopy1.   2. "admin_or_owner": "role:admin", "project_id: %(project_id)s&quo

13、t;,  3. "default": "rule:admin_or_owner",  4. "compute:create": "role":"compute-user",  5. "compute:create:attach_network": "role":"compute-user",  6. "compute:

14、create:attach_volume": "role":"compute-user",  7. "compute:get_all": "role":"compute-user",  8. "admin_api": "role:admin",  9. "compute_extension:accounts": "ru

15、le:admin_api",  10. "compute_extension:admin_actions": "rule:admin_api",  11. "compute_extension:admin_actions:pause": "rule:admin_or_owner",  12. "compute_extension:admin_actions:unpause": "rule

16、:admin_or_owner",  13. "compute_extension:admin_actions:suspend": "rule:admin_or_owner",  14. "compute_extension:admin_actions:resume": "rule:admin_or_owner",  15. "compute_extension:admin_actions:lock":&#

17、160;"rule:admin_api",  16. "compute_extension:admin_actions:unlock": "rule:admin_api",  17. "compute_extension:admin_actions:resetNetwork": "rule:admin_api",  18. "compute_extension:admin_actions:injectNet

18、workInfo": "rule:admin_api",  19. "compute_extension:admin_actions:createBackup": "rule:admin_or_owner",  20. "compute_extension:admin_actions:migrateLive": "rule:admin_api",  21. "compute_extens

19、ion:admin_actions:migrate": "rule:admin_api",  22. "compute_extension:aggregates": "rule:admin_api",  23. "compute_extension:certificates": "role":"compute-user",  24. "compute_extensio

20、n:cloudpipe": "rule:admin_api",  25. "compute_extension:console_output": "role":"compute-user",  26. "compute_extension:consoles": "role":"compute-user",  27. "compute_extensi

21、on:createserverext": "role":"compute-user",  28. "compute_extension:deferred_delete": "role":"compute-user",  29. "compute_extension:disk_config": "role":"compute-user",  

22、;30. "compute_extension:extended_server_attributes": "rule:admin_api",  31. "compute_extension:extended_status": "role":"compute-user",  32. "compute_extension:flavorextradata": "role":"comp

23、ute-user",  33. "compute_extension:flavorextraspecs": "role":"compute-user",  34. "compute_extension:flavormanage": "rule:admin_api",  35. "compute_extension:floating_ip_dns": "role&quo

24、t;:"compute-user",  36. "compute_extension:floating_ip_pools": "role":"computeuser",  37. "compute_extension:floating_ips": "role":"compute-user",  38. "compute_extension:hosts":&#

25、160;"rule:admin_api",  39. "compute_extension:keypairs": "role":"compute-user",  40. "compute_extension:multinic": "role":"compute-user",  41. "compute_extension:networks": &q

26、uot;rule:admin_api",  42. "compute_extension:quotas": "role":"compute-user",  43. "compute_extension:rescue": "role":"compute-user",  44. "compute_extension:security_groups": "

27、;role":"compute-user",  45. "compute_extension:server_action_list": "rule:admin_api",  46. "compute_extension:server_diagnostics": "rule:admin_api",  47. "compute_extension:simple_tenant_usage:show&qu

28、ot;: "rule:admin_or_owner",  48. "compute_extension:simple_tenant_usage:list": "rule:admin_api",  49. "compute_extension:users": "rule:admin_api",  50. "compute_extension:virtual_interfaces":

29、0;"role":"computeuser",  51. "compute_extension:virtual_storage_arrays": "role":"computeuser",  52. "compute_extension:volumes": "role":"compute-user",  53. "compute_extension

30、:volumetypes": "role":"compute-user",  54. "volume:create": "role":"compute-user",  55. "volume:get_all": "role":"compute-user",  56. "volume:get_volume_metadata&quo

31、t;: "role":"compute-user",  57. "volume:get_snapshot": "role":"compute-user",  58. "volume:get_all_snapshots": "role":"compute-user",  59. "network:get_all_networks"

32、: "role":"compute-user",  60. "network:get_network": "role":"compute-user",  61. "network:delete_network": "role":"compute-user",  62. "network:disassociate_network"

33、: "role":"compute-user",  63. "network:get_vifs_by_instance": "role":"compute-user",  64. "network:allocate_for_instance": "role":"compute-user",  65. "network:deallocate

34、_for_instance": "role":"compute-user",  66. "network:validate_networks": "role":"compute-user",  67. "network:get_instance_uuids_by_ip_filter": "role":"computeuser",  68.

35、 "network:get_floating_ip": "role":"compute-user",  69. "network:get_floating_ip_pools": "role":"compute-user",  70. "network:get_floating_ip_by_address": "role":"compute-user"

36、;,  71. "network:get_floating_ips_by_project": "role":"computeuser",  72. "network:get_floating_ips_by_fixed_address": "role":"computeuser",  73. "network:allocate_floating_ip": "r

37、ole":"compute-user",  74. "network:deallocate_floating_ip": "role":"compute-user",  75. "network:associate_floating_ip": "role":"compute-user",  76. "network:disassociate_floating_

38、ip": "role":"compute-user",  77. "network:get_fixed_ip": "role":"compute-user",  78. "network:add_fixed_ip_to_instance": "role":"compute-user",  79. "network:remove_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论