以下策略默认情况下会一起发布。如果策略文件中没有显式覆盖,Glance 将假定策略的默认值。

policy.yaml

glance

default
默认值:

<空字符串>

定义了用于策略的默认规则,这些策略在提供的 policy.json 文件中历史上具有空策略。

context_is_admin
默认值:

role:admin

定义了 is_admin:True 检查的规则。

service_api
默认值:

service_roles:service

服务到服务 API 的默认规则。

add_image
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s project_id:%(owner)s)

操作:
  • POST /v2/images

作用域类型:
  • project

创建新镜像

delete_image
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s)

操作:
  • DELETE /v2/images/{image_id}

作用域类型:
  • project

删除镜像

get_image
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s project_id:%(member_id)s 'community':%(visibility)s 'public':%(visibility)s 'shared':%(visibility)s))

操作:
  • GET /v2/images/{image_id}

作用域类型:
  • project

获取指定镜像

get_images
默认值:

rule:context_is_admin (role:reader project_id:%(project_id)s)

操作:
  • GET /v2/images

作用域类型:
  • project

获取所有可用镜像

modify_image
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s)

操作:
  • PATCH /v2/images/{image_id}

作用域类型:
  • project

更新给定镜像

publicize_image
默认值:

rule:context_is_admin

操作:
  • PATCH /v2/images/{image_id}

作用域类型:
  • project

公开给定镜像

communitize_image
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s)

操作:
  • PATCH /v2/images/{image_id}

作用域类型:
  • project

社区化给定镜像

download_image
默认值:

rule:context_is_admin (role:member (project_id:%(project_id)s project_id:%(member_id)s 'community':%(visibility)s 'public':%(visibility)s 'shared':%(visibility)s))

操作:
  • GET /v2/images/{image_id}/file

作用域类型:
  • project

下载给定镜像

upload_image
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s)

操作:
  • PUT /v2/images/{image_id}/file

作用域类型:
  • project

上传数据到指定镜像

delete_image_location
默认值:

rule:context_is_admin

操作:
  • PATCH /v2/images/{image_id}

作用域类型:
  • project

删除给定镜像的位置

get_image_location
默认值:

rule:context_is_admin (role:reader project_id:%(project_id)s)

操作:
  • GET /v2/images/{image_id}

作用域类型:
  • project

读取镜像的位置

set_image_location
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s)

操作:
  • PATCH /v2/images/{image_id}

作用域类型:
  • project

设置给定镜像的位置 URI

add_image_location
默认值:

rule:service_api (role:member project_id:%(project_id)s project_id:%(owner)s)

操作:
  • POST /v2/images/{image_id}/locations

作用域类型:
  • project

添加给定镜像的位置 URI

fetch_image_location
默认值:

rule:service_api

操作:
  • GET /v2/images/{image_id}/locations

作用域类型:
  • project

显示与给定镜像关联的所有位置

add_member
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s)

操作:
  • POST /v2/images/{image_id}/members

作用域类型:
  • project

创建镜像成员

delete_member
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s)

操作:
  • DELETE /v2/images/{image_id}/members/{member_id}

作用域类型:
  • project

删除镜像成员

get_member
默认值:

rule:context_is_admin role:reader (project_id:%(project_id)s project_id:%(member_id)s)

操作:
  • GET /v2/images/{image_id}/members/{member_id}

作用域类型:
  • project

显示镜像成员详情

get_members
默认值:

rule:context_is_admin role:reader (project_id:%(project_id)s project_id:%(member_id)s)

操作:
  • GET /v2/images/{image_id}/members

作用域类型:
  • project

列出镜像成员

modify_member
默认值:

rule:context_is_admin (role:member project_id:%(member_id)s)

操作:
  • PUT /v2/images/{image_id}/members/{member_id}

作用域类型:
  • project

更新镜像成员

manage_image_cache
默认值:

rule:context_is_admin

作用域类型:
  • project

管理镜像缓存

deactivate
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s)

操作:
  • POST /v2/images/{image_id}/actions/deactivate

作用域类型:
  • project

停用镜像

reactivate
默认值:

rule:context_is_admin (role:member project_id:%(project_id)s)

操作:
  • POST /v2/images/{image_id}/actions/reactivate

作用域类型:
  • project

重新激活镜像

copy_image
默认值:

rule:context_is_admin

操作:
  • POST /v2/images/{image_id}/import

作用域类型:
  • project

将现有镜像复制到其他存储

get_task
默认值:

rule:default

操作:
  • GET /v2/tasks/{task_id}

作用域类型:
  • project

获取镜像任务。

此粒度策略控制对任务的访问,既来自任务 API,也来自 Glance 内部使用任务的位置(例如导入)。实际上,这不能比控制导入的策略更严格,否则会出现问题,并且从默认值更改它几乎肯定不是您想要的。应根据 tasks_api_access 策略限制对外部任务 API 的访问。这可能会在未来更改。

get_tasks
默认值:

rule:default

操作:
  • GET /v2/tasks

作用域类型:
  • project

列出所有镜像的任务。

此粒度策略控制对任务的访问,既来自任务 API,也来自 Glance 内部使用任务的位置(例如导入)。实际上,这不能比控制导入的策略更严格,否则会出现问题,并且从默认值更改它几乎肯定不是您想要的。应根据 tasks_api_access 策略限制对外部任务 API 的访问。这可能会在未来更改。

add_task
默认值:

rule:default

操作:
  • POST /v2/tasks

作用域类型:
  • project

列出所有镜像的任务。

此粒度策略控制对任务的访问,既来自任务 API,也来自 Glance 内部使用任务的位置(例如导入)。实际上,这不能比控制导入的策略更严格,否则会出现问题,并且从默认值更改它几乎肯定不是您想要的。应根据 tasks_api_access 策略限制对外部任务 API 的访问。这可能会在未来更改。

modify_task
默认值:

rule:default

操作:
  • DELETE /v2/tasks/{task_id}

作用域类型:
  • project

此策略未被使用。

tasks_api_access
默认值:

rule:context_is_admin

操作:
  • GET /v2/tasks/{task_id}

  • GET /v2/tasks

  • POST /v2/tasks

  • DELETE /v2/tasks/{task_id}

作用域类型:
  • project

这是一个通用的毯子策略,用于保护所有任务 API。它不是粒度的,不会允许您将可写和可读的任务操作分成不同的角色。

metadef_default
默认值:

<空字符串>

(未提供描述)

metadef_admin
默认值:

rule:context_is_admin

(未提供描述)

get_metadef_namespace
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s 'public':%(visibility)s))

操作:
  • GET /v2/metadefs/namespaces/{namespace_name}

作用域类型:
  • project

获取特定命名空间。

get_metadef_namespaces
默认值:

rule:context_is_admin (role:reader project_id:%(project_id)s)

操作:
  • GET /v2/metadefs/namespaces

作用域类型:
  • project

列出命名空间。

modify_metadef_namespace
默认值:

rule:metadef_admin

操作:
  • PUT /v2/metadefs/namespaces/{namespace_name}

作用域类型:
  • project

修改现有命名空间。

add_metadef_namespace
默认值:

rule:metadef_admin

操作:
  • POST /v2/metadefs/namespaces

作用域类型:
  • project

创建命名空间。

delete_metadef_namespace
默认值:

rule:metadef_admin

操作:
  • DELETE /v2/metadefs/namespaces/{namespace_name}

作用域类型:
  • project

删除命名空间。

get_metadef_object
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s 'public':%(visibility)s))

操作:
  • GET /v2/metadefs/namespaces/{namespace_name}/objects/{object_name}

作用域类型:
  • project

获取命名空间中的特定对象。

get_metadef_objects
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s 'public':%(visibility)s))

操作:
  • GET /v2/metadefs/namespaces/{namespace_name}/objects

作用域类型:
  • project

获取命名空间中的对象。

modify_metadef_object
默认值:

rule:metadef_admin

操作:
  • PUT /v2/metadefs/namespaces/{namespace_name}/objects/{object_name}

作用域类型:
  • project

更新命名空间中的对象。

add_metadef_object
默认值:

rule:metadef_admin

操作:
  • POST /v2/metadefs/namespaces/{namespace_name}/objects

作用域类型:
  • project

在命名空间中创建对象。

delete_metadef_object
默认值:

rule:metadef_admin

操作:
  • DELETE /v2/metadefs/namespaces/{namespace_name}/objects/{object_name}

作用域类型:
  • project

删除命名空间中的对象。

list_metadef_resource_types
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s 'public':%(visibility)s))

操作:
  • GET /v2/metadefs/resource_types

作用域类型:
  • project

列出元定义资源类型。

get_metadef_resource_type
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s 'public':%(visibility)s))

操作:
  • GET /v2/metadefs/namespaces/{namespace_name}/resource_types

作用域类型:
  • project

获取元定义资源类型关联。

add_metadef_resource_type_association
默认值:

rule:metadef_admin

操作:
  • POST /v2/metadefs/namespaces/{namespace_name}/resource_types

作用域类型:
  • project

创建元定义资源类型关联。

remove_metadef_resource_type_association
默认值:

rule:metadef_admin

操作:
  • POST /v2/metadefs/namespaces/{namespace_name}/resource_types/{name}

作用域类型:
  • project

删除元定义资源类型关联。

get_metadef_property
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s 'public':%(visibility)s))

操作:
  • GET /v2/metadefs/namespaces/{namespace_name}/properties/{property_name}

作用域类型:
  • project

获取特定的元定义属性。

get_metadef_properties
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s 'public':%(visibility)s))

操作:
  • GET /v2/metadefs/namespaces/{namespace_name}/properties

作用域类型:
  • project

列出元定义属性。

modify_metadef_property
默认值:

rule:metadef_admin

操作:
  • GET /v2/metadefs/namespaces/{namespace_name}/properties/{property_name}

作用域类型:
  • project

更新元定义属性。

add_metadef_property
默认值:

rule:metadef_admin

操作:
  • POST /v2/metadefs/namespaces/{namespace_name}/properties

作用域类型:
  • project

创建元定义属性。

remove_metadef_property
默认值:

rule:metadef_admin

操作:
  • DELETE /v2/metadefs/namespaces/{namespace_name}/properties/{property_name}

作用域类型:
  • project

删除元定义属性。

get_metadef_tag
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s 'public':%(visibility)s))

操作:
  • GET /v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}

作用域类型:
  • project

获取标签定义。

get_metadef_tags
默认值:

rule:context_is_admin (role:reader (project_id:%(project_id)s 'public':%(visibility)s))

操作:
  • GET /v2/metadefs/namespaces/{namespace_name}/tags

作用域类型:
  • project

列出标签定义。

modify_metadef_tag
默认值:

rule:metadef_admin

操作:
  • PUT /v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}

作用域类型:
  • project

更新标签定义。

add_metadef_tag
默认值:

rule:metadef_admin

操作:
  • POST /v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}

作用域类型:
  • project

添加标签定义。

add_metadef_tags
默认值:

rule:metadef_admin

操作:
  • POST /v2/metadefs/namespaces/{namespace_name}/tags

作用域类型:
  • project

创建标签定义。

delete_metadef_tag
默认值:

rule:metadef_admin

操作:
  • DELETE /v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}

作用域类型:
  • project

删除标签定义。

delete_metadef_tags
默认值:

rule:metadef_admin

操作:
  • DELETE /v2/metadefs/namespaces/{namespace_name}/tags

作用域类型:
  • project

删除标签定义。

cache_image
默认值:

rule:context_is_admin

操作:
  • PUT /v2/cache/{image_id}

作用域类型:
  • project

将镜像排队进行缓存

cache_list
默认值:

rule:context_is_admin

操作:
  • GET /v2/cache

作用域类型:
  • project

列出缓存状态

cache_delete
默认值:

rule:context_is_admin

操作:
  • DELETE /v2/cache

  • DELETE /v2/cache/{image_id}

作用域类型:
  • project

从缓存和/或队列中删除镜像

stores_info_detail
默认值:

rule:context_is_admin rule:service_api

操作:
  • GET /v2/info/stores/detail

作用域类型:
  • project

暴露存储特定的信息