Atom feed of this document
  

 镜像性能和属性保护

镜像的属性是一键值对,此键值对让云管理员或镜像所有者挂接到OpenStack镜像服务的镜像,如下:

  • 云管理员会定义核心属性,例如镜像的名称。

  • 云管理员和镜像所有者可以定义额外的 属性,诸如许可证和计费信息。

云管理员可以配置任何的protected属性,protected在此属性下限制了规则或用户角色可以执行CRUD的操作。受保护的属性通常是附加属性,只有云管理员可以访问。

对于不受保护的镜像属性来说,云管理员可以管理核心属性,镜像的属主可以管理额外的属性。

 

要配置属性保护

要配置属性保护,云管理员须完成这些步骤:

  1. 在文件policy.json中定义角色或规则:

    {
        "context_is_admin":  "role:admin",
        "default": "",
    
        "add_image": "",
        "delete_image": "",
        "get_image": "",
        "get_images": "",
        "modify_image": "",
        "publicize_image": "role:admin",
        "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",
    
        "get_task": "",
        "get_tasks": "",
        "add_task": "",
        "modify_task": "",
    
        "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":""
    
    }
    

    对于每个参数,使用"rule:restricted" 来限制所有用户的访问,或者使用 "role:admin" 来限制管理员的访问。例如:

    "download_image": "rule:restricted"
    "upload_image": "role:admin"
  2. 在属性保护的配置文件中定义哪些用户和规则可以管理那些属性。例如:

    [x_none_read]
    create = context_is_admin
    read = !
    update = !
    delete = !
    
    [x_none_update]
    create = context_is_admin
    read = context_is_admin
    update = !
    delete = context_is_admin
    
    [x_none_delete]
    create = context_is_admin
    read = context_is_admin
    update = context_is_admin
    delete = !
    • @ 的值允许允许一个属性相应的操作。

    • !的值是不允许一个属性做相应的操作。

  3. 在文件glance-api.conf中,定义了属性保护配置文件的路径:

    property_protection_file = {file_name}

    此文件包括了属性保护的规则,以及角色和策略相关联。

    默认情况下,属性保护并非强制。

    如果你指定的文件名称且无法找到文件,glance-api服务就无法启动。

    要查看样例配置文件,请参阅 glance-api.conf

  4. 可选项,在glance-api.conf文件中,指定哪些用户或策略是用于道属性保护配置文件:

    property_protection_rule_format = roles

    默认是 角色

    要查看样例配置文件,请参阅 glance-api.conf

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...