以下策略默认情况下会一起发布。如果策略文件中没有显式覆盖,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/tasksPOST
/v2/tasksDELETE
/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/cacheDELETE
/v2/cache/{image_id}
- 作用域类型:
project
从缓存和/或队列中删除镜像
stores_info_detail- 默认值:
rule:context_is_admin 或 rule:service_api- 操作:
GET
/v2/info/stores/detail
- 作用域类型:
project
暴露存储特定的信息