用户、服务-openstack身份管理-by小雨

新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正

    基本念概

    身份服务有两个重要功能:

    1、用户管理:录记用户和他们的权限

    2、服务目录:供给可用服务和该服务api的终端地址

    身份服务义定了一些非常值得懂得的义定:

    用户(User):应用OpenStack云服务的人、系统、服务的数字示表。身份验证服务验证用户传入的求请。用户登录可能被予赋拜访资源的令牌。用户可能直接被指定给一个特定租户,像好用户在这个租户中一样。

    认证信息(Credentials):用户持有的,一般情况下只有这个用户晓得的据数。用户可以应用这个据数来明证他的身份(因为没有其他人晓得这个据数)。例如:

    

  • 配对的用户名和密码
  • 配对的用户名和API key
  • 自己和有你本人照片的驾驶证
  • 发表给你不被其他人晓得的令牌

    认证(Authentication):在认证服务景背下,认证是认确用户身份和求请正确性的动作。身份服务认确传入的求请来自于有求请权限的用户。这些求请最初以一系列验证信息的式形涌现(用户名和密码,或用户名和API key)。经过初始验证后,身份服务会发表给用户一个令牌,在后续求请时用户可以用这个令牌说明他们的身份经已经过认证。

    令牌(Token):令牌是用来拜访资源的意任特比的本文。个每令牌有一个拜访围范。令牌可在意任间时收回,并在一个限有的间时内有效。在Folsom本版中身份服务支撑基于令牌的认证,未来将会支撑额定的议协。首要的目是集成服务,不盼望成为一个成熟的身份存储和管理方案。

    

    租户(Tenant):用来分组或断绝资源和(或)身份对象的容器。根据服务运营商,租户可以映射成一个户客、账户、组织或项目。

    服务(Service):一个OpenStack服务,例如算计(nova),对象存储(swift)或镜像服务(glance)。服务供给一个或多个用户可以拜访资源和行执(可能用有的)作操的端点。

    端点(Endpoint):一个可通过网络拜访的服务地址,平日应用URL描述。如果应用扩展,可以创立端点模板,它代表了全部可跨区域拜访的服务。

    色角(Role):可行执一特定系列作操的用户特性。色角包含一系列权力和权特。用户可继承其所属色角的权力和权特。在身份服务中,发表给用户的令牌包含用户能担承的色角表列。这个用户用调的服务定决他们怎样释解这个用户所属的色角,以及个每色角予授拜访的作操和资源。

    

    用户管理

    用户身份管理有三个重要的念概:

    

  • 用户Users
  • 租户Tenants
  • 色角Roles

    用户代表一个人,他持有关相的信息,例如用户名、密码、电子邮件。面下的例子是创立一个名为“alice”的用户:

$ keystone user-create --name=alice --pass=mypassword123 --email= alice@example.com

    租户可以看作是一个项目、分组或组织。当你向OpenStack服务发送求请时,你必须之地一个租户。例如如果你要向算计服务求请查询运行实例的表列,你将收到在你查询里指定租户内的运行实例表列。面下的例子创立一个名为“acme”的租户。

$ keystone tenant-create --name=acme

    注意!因为在之前的OpenStack算计本版中应用术语“项目”来替代租户,一些命令行工具应用--project_id替代--tenant-id或--os-tenant-id指定租户ID。

    色角演绎了给定租户下答应用户行执的作操。以下例子创立一个名为“compute-user"的色角:

$ keystone role-create --name=compute-user

    注意!这取决于单个的服务(比如算计服务和镜像服务)配分这些色角的义意。至于身份服务而言,色角只是一个简略的名字。

    身份服务将一个用户与租户、色角联关。继承我们后面的例子,我们希望在租户“acme”中给用户”alice”配分“compute-user”权限。

$ keystone user-list
+--------+---------+-------------------+--------+
| id | enabled | email | name |
+--------+---------+-------------------+--------+
| 892585 | True | alice@example.com | alice |
+--------+---------+-------------------+--------+
$ keystone role-list
+--------+--------------+
| id | name |
+--------+--------------+
| 9a764e | compute-user |
+--------+--------------+
$ keystone tenant-list
+--------+------+---------+
| id | name | enabled |
+--------+------+---------+
| 6b8fd2 | acme | True |
+--------+------+---------+
$ keystone user-role-add --user=892585 --role=9a764e --tenant-id=6b8fd2

    可以在不同的租户中给用户配分不同的色角。例如Alice可以在租户“Cyberdyne”中有拥“admin”色角。在同一个租户中,也可以给用户配分多个色角。

    /etc/[SERVICE_CODENAME]/policy.json控制给定服务答应用户行进的作操。例如/etc/nova/policy.json指定算计服务的拜访略策,/etc/glance/policy.json指定镜像服务的拜访略策,/etc/keystone/policy.json指定身份服务的拜访略策。

    算计、身份、镜像服务中默许的policy.json文件只有一个“admin"色角:面里全部不要需admin色角的作操可以被租户中意任色角的用户拜访。

    如果你希望在例如算计服务中制限用户行执作操,你要需在身份服务中创立色角,然后修改/etc/nova/policy.json文件使这个色角应用到算计作操中。

    例如,面下/etc/nova/policy.json中的这一行指定对用户创立卷不做制限:不论用户在租户中是有何种色角,他们都可以在租户中创立卷。

"volume:create":[],

    如果你希望制限以后租户中有”compute-user"色角的用户才能创立卷,可以加增“role:compute-user",例如这样:

"volume:create": ["role:compute-user"],

    如果我们希望制限全部的算计服务求请都要需这个色角,略策文件是这样的:

{
"admin_or_owner": [["role:admin"], ["project_id: %(project_id)s"]],
"default": [["rule:admin_or_owner"]],
"compute:create": ["role":"compute-user"],
"compute:create:attach_network": ["role":"compute-user"],
"compute:create:attach_volume": ["role":"compute-user"],
"compute:get_all": ["role":"compute-user"],
"admin_api": [["role:admin"]],
"compute_extension:accounts": [["rule:admin_api"]],
"compute_extension:admin_actions": [["rule:admin_api"]],
"compute_extension:admin_actions:pause": [["rule:admin_or_owner"]],
"compute_extension:admin_actions:unpause": [["rule:admin_or_owner"]],
"compute_extension:admin_actions:suspend": [["rule:admin_or_owner"]],
"compute_extension:admin_actions:resume": [["rule:admin_or_owner"]],
"compute_extension:admin_actions:lock": [["rule:admin_api"]],
"compute_extension:admin_actions:unlock": [["rule:admin_api"]],
"compute_extension:admin_actions:resetNetwork": [["rule:admin_api"]],
"compute_extension:admin_actions:injectNetworkInfo": [["rule:admin_api"]],
"compute_extension:admin_actions:createBackup": [["rule:admin_or_owner"]],
"compute_extension:admin_actions:migrateLive": [["rule:admin_api"]],
"compute_extension:admin_actions:migrate": [["rule:admin_api"]],
"compute_extension:aggregates": [["rule:admin_api"]],
"compute_extension:certificates": ["role":"compute-user"],
"compute_extension:cloudpipe": [["rule:admin_api"]],
"compute_extension:console_output": ["role":"compute-user"],
"compute_extension:consoles": ["role":"compute-user"],
"compute_extension:createserverext": ["role":"compute-user"],
"compute_extension:deferred_delete": ["role":"compute-user"],
"compute_extension:disk_config": ["role":"compute-user"],
"compute_extension:extended_server_attributes": [["rule:admin_api"]],
"compute_extension:extended_status": ["role":"compute-user"],
"compute_extension:flavorextradata": ["role":"compute-user"],
"compute_extension:flavorextraspecs": ["role":"compute-user"],
"compute_extension:flavormanage": [["rule:admin_api"]],
"compute_extension:floating_ip_dns": ["role":"compute-user"],
"compute_extension:floating_ip_pools": ["role":"computeuser"],
"compute_extension:floating_ips": ["role":"compute-user"],
"compute_extension:hosts": [["rule:admin_api"]],
"compute_extension:keypairs": ["role":"compute-user"],
"compute_extension:multinic": ["role":"compute-user"],
"compute_extension:networks": [["rule:admin_api"]],
"compute_extension:quotas": ["role":"compute-user"],
"compute_extension:rescue": ["role":"compute-user"],
"compute_extension:security_groups": ["role":"compute-user"],
"compute_extension:server_action_list": [["rule:admin_api"]],
"compute_extension:server_diagnostics": [["rule:admin_api"]],
"compute_extension:simple_tenant_usage:show": [["rule:admin_or_owner"]],
"compute_extension:simple_tenant_usage:list": [["rule:admin_api"]],
"compute_extension:users": [["rule:admin_api"]],
"compute_extension:virtual_interfaces": ["role":"computeuser"],
"compute_extension:virtual_storage_arrays": ["role":"computeuser"],
"compute_extension:volumes": ["role":"compute-user"],
"compute_extension:volumetypes": ["role":"compute-user"],
"volume:create": ["role":"compute-user"],
"volume:get_all": ["role":"compute-user"],
"volume:get_volume_metadata": ["role":"compute-user"],
"volume:get_snapshot": ["role":"compute-user"],
"volume:get_all_snapshots": ["role":"compute-user"],
"network:get_all_networks": ["role":"compute-user"],
"network:get_network": ["role":"compute-user"],
"network:delete_network": ["role":"compute-user"],
"network:disassociate_network": ["role":"compute-user"],
"network:get_vifs_by_instance": ["role":"compute-user"],
"network:allocate_for_instance": ["role":"compute-user"],
"network:deallocate_for_instance": ["role":"compute-user"],
"network:validate_networks": ["role":"compute-user"],
"network:get_instance_uuids_by_ip_filter": ["role":"computeuser"],
"network:get_floating_ip": ["role":"compute-user"],
"network:get_floating_ip_pools": ["role":"compute-user"],
"network:get_floating_ip_by_address": ["role":"compute-user"],
"network:get_floating_ips_by_project": ["role":"computeuser"],
"network:get_floating_ips_by_fixed_address": ["role":"computeuser"],
"network:allocate_floating_ip": ["role":"compute-user"],
"network:deallocate_floating_ip": ["role":"compute-user"],
"network:associate_floating_ip": ["role":"compute-user"],
"network:disassociate_floating_ip": ["role":"compute-user"],
"network:get_fixed_ip": ["role":"compute-user"],
"network:add_fixed_ip_to_instance": ["role":"compute-user"],
"network:remove_fixed_ip_from_instance": ["role":"computeuser"],
"network:add_network_to_project": ["role":"compute-user"],
"network:get_instance_nw_info": ["role":"compute-user"],
"network:get_dns_domains": ["role":"compute-user"],
"network:add_dns_entry": ["role":"compute-user"],
"network:modify_dns_entry": ["role":"compute-user"],
"network:delete_dns_entry": ["role":"compute-user"],
"network:get_dns_entries_by_address": ["role":"compute-user"],
"network:get_dns_entries_by_name": ["role":"compute-user"],
"network:create_private_dns_domain": ["role":"compute-user"],
"network:create_public_dns_domain": ["role":"compute-user"],
"network:delete_dns_domain": ["role":"compute-user"]
}

    

    

    

    

    

    

    

    

    

文章结束给大家分享下程序员的一些笑话语录: 小沈阳版程序员~~~ \n程序员其实可痛苦的了......需求一做一改,一个月就过去了;嚎~ \n需求再一改一调,一季度就过去了;嚎~ \n程序员最痛苦的事儿是啥,知道不?就是,程序没做完,需求又改了; \n程序员最最痛苦的事儿是啥,知道不? 就是,系统好不容易做完了,方案全改了; \n程序员最最最痛苦的事儿是啥,知道不? 就是,系统做完了,狗日的客户跑了; \n程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户又回来了,程序给删没了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值