解析policy.json-原创

举报
泽宇-Li 发表于 2022/07/16 10:25:21 2022/07/16
【摘要】 openstack 通过 keystone 用来完成 authenticate 和 authorize 是在每一个模板都要做的,具体的每个模板中都有policy文件也都定义了rules 角色权限“Context is_admin":"role:admin",policy.json 有行和列的俩种写的方法在行的写法中每一行:前都四action 也就是用户执行的操作是什么冒号后面的叫rule 角...

openstack 通过 keystone 用来完成 authenticate 和 authorize 是在每一个模板都要做的,具体的每个模板中都有policy文件也都定义了rules 角色权限

Context is_admin":"role:admin",policy.json 有行和列的俩种写的方法在行的写法中每一行:前都四action 也就是用户执行的操作是什么冒号后面的叫rule 角色用来根据当前上下文来判断当前的 action 是否能让当前的用户执行policv的工作就是来解析rule的要把这个rule解析为相应的对象obiect在外部调用权限认证时根据action 映射到rule中判断是否执行 action role在这里是权限的集合将role中的权限赋予特定的用户拥有特定的权限也方便用户管理但是咱们第一行context_is_admin:role:admin设置的默认角色只有admin 若需其他用户需要自行创建这样就不难理解了其实 policy 就是来控制用户的权限的含义

如代码中的含义:

{

 

"context_is_admin":  "role:admin",      

上下文为一个用户分配一个admin角色(一个用户可以有多个角色)

    "default": "role:admin",                   默认为admin角色

 

    "add_image": "",                            允许创建镜像

    "delete_image": "",                          允许删除镜像

    "get_image": "",                             允许获取镜像

    "get_images": "",                            允许获取多个镜像

    "modify_image": "",                          允许修改镜像

    "publicize_image": "role:admin",                admin角色的用户才能传输镜像

    "communitize_image": "",                      允许公开镜像

    "copy_from": "",                             允许拷贝从某个地方

 

    "download_image": "",                        允许下载镜像

    "upload_image": "",                           允许上传镜像

 

    "delete_image_location": "",                    允许删除特定位置的镜像

    "get_image_location": "",                       允许获取特定位置的镜像

    "set_image_location": "",                       允许设置特定位置的镜像

 

    "add_member": "",                            允许增加成员

    "delete_member": "",                          允许删除成员

    "get_member": "",                             允许获取成员

    "get_members": "",                            允许获取多个成员

    "modify_member": "",                          允许修改成员

 

"manage_image_cache": "role:admin",  

#只有admin角色的用户管理员才可以管理镜像缓存

 

    "get_task": "role:admin",               只有admin角色的用户才可以获取任务

    "get_tasks": "role:admin",             只有admin角色的用户才可以获取多个任务

    "add_task": "role:admin",             只有admin角色的用户才可以增加任务

    "modify_task": "role:admin",        只有admin角色的用户才可以修改任务

 

    "deactivate": "",                            允许关闭所有

    "reactivate": "",                             允许激活所有

 

    "get_metadef_namespace": "",         允许获取元数据命名空间

    "get_metadef_namespaces":"",        允许获取元数据多个命名空间

    "modify_metadef_namespace":"",      允许修改元数据命名空间

    "add_metadef_namespace":"",         允许增加元数据命名空间

 

    "get_metadef_object":"",                  允许获取元数据对象

    "get_metadef_objects":"",                允许获取元数据多个对象

    "modify_metadef_object":"",              允许修改元数据对象

    "add_metadef_object":"",                 允许增加元数据对象

 

    "list_metadef_resource_types":"",    允许列出元数据资源类型

    "get_metadef_resource_type":"",     允许获取元数据资源类型

    "add_metadef_resource_type_association":"",       允许增加元数据资源类型关联

 

    "get_metadef_property":"",             允许获取元数据属性

    "get_metadef_properties":"",          允许获取元数据多个属性

    "modify_metadef_property":"",       允许修改元数据属性

    "add_metadef_property":"",            允许增加元数据属性

 

    "get_metadef_tag":"",                      允许获取元数据标签

    "get_metadef_tags":"",                    允许获取元数据多个标签

    "modify_metadef_tag":"",                允许修改元数据标签

    "add_metadef_tag":"",                     允许增加元数据标签

    "add_metadef_tags":""                    允许增加元数据多个标签

 

}

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。