解析policy.json-原创
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":"" 允许增加元数据多个标签
}
- 点赞
- 收藏
- 关注作者
评论(0)