策略配置¶
配置¶
警告
自 Magnum 12.0.0 (Wallaby) 起,JSON 格式的策略文件已被弃用。此 oslopolicy-convert-json-to-yaml 工具将以向后兼容的方式将现有的 JSON 格式策略文件迁移到 YAML。
以下是 Magnum 中所有可用策略的概述。有关示例配置文件,请参阅 policy.yaml。
magnum¶
context_is_admin- 默认值:
role:admin
(未提供描述)
admin_or_owner- 默认值:
is_admin:True 或 project_id:%(project_id)s
(未提供描述)
admin_or_user- 默认值:
is_admin:True 或 user_id:%(user_id)s
(未提供描述)
is_user- 默认值:
user_id:%(user_id)s
(未提供描述)
cluster_user- 默认值:
user_id:%(trustee_user_id)s
(未提供描述)
deny_cluster_user- 默认值:
非 domain_id:%(trustee_domain_id)s
(未提供描述)
project_member- 默认值:
role:member 且 project_id:%(project_id)s
(未提供描述)
project_reader- 默认值:
role:reader 且 project_id:%(project_id)s
(未提供描述)
admin_or_project_reader- 默认值:
(rule:context_is_admin) 或 (rule:project_reader)
(未提供描述)
admin_or_project_member- 默认值:
(rule:context_is_admin) 或 (rule:project_member)
(未提供描述)
admin_or_project_member_user- 默认值:
(rule:context_is_admin) 或 ((rule:project_member) 且 (rule:is_user))
(未提供描述)
user_or_cluster_user- 默认值:
((rule:is_user) 或 (rule:cluster_user))
(未提供描述)
admin_or_user_or_cluster_user- 默认值:
((rule:context_is_admin) 或 (rule:user_or_cluster_user))
(未提供描述)
admin_or_project_member_cluster_user- 默认值:
(rule:context_is_admin) 或 ((rule:project_member) 且 (rule:cluster_user))
(未提供描述)
admin_or_project_member_user_or_cluster_user- 默认值:
(rule:context_is_admin) 或 ((rule:project_member) 且 (rule:user_or_cluster_user))
(未提供描述)
project_member_deny_cluster_user- 默认值:
((rule:project_member) 且 (rule:deny_cluster_user))
(未提供描述)
admin_or_project_member_deny_cluster_user- 默认值:
(rule:context_is_admin) 或 (rule:project_member_deny_cluster_user)
(未提供描述)
project_reader_deny_cluster_user- 默认值:
((rule:project_reader) 且 (rule:deny_cluster_user))
(未提供描述)
admin_or_project_reader_deny_cluster_user- 默认值:
(rule:context_is_admin) 或 (rule:project_reader_deny_cluster_user)
(未提供描述)
admin_or_project_reader_user- 默认值:
(rule:context_is_admin) 或 ((rule:project_reader) 且 (rule:is_user))
(未提供描述)
certificate:create- 默认值:
rule:admin_or_project_member_user- 操作:
POST
/v1/certificates
- 作用域类型:
project
由 CA 签署新的证书。
certificate:get- 默认值:
rule:admin_or_project_reader_user- 操作:
GET
/v1/certificates/{cluster_uuid}
- 作用域类型:
project
检索有关给定集群的 CA 信息。
certificate:rotate_ca- 默认值:
rule:admin_or_project_member- 操作:
PATCH
/v1/certificates/{cluster_uuid}
- 作用域类型:
project
轮换给定集群上的 CA 证书。
cluster:create- 默认值:
rule:admin_or_project_member_deny_cluster_user- 操作:
POST
/v1/clusters
- 作用域类型:
project
创建一个新的集群。
cluster:delete- 默认值:
rule:admin_or_project_member_deny_cluster_user- 操作:
DELETE
/v1/clusters/{cluster_ident}
- 作用域类型:
project
删除集群。
cluster:delete_all_projects- 默认值:
rule:context_is_admin- 操作:
DELETE
/v1/clusters/{cluster_ident}
从任何项目删除集群。
cluster:detail- 默认值:
rule:admin_or_project_reader_deny_cluster_user- 操作:
GET
/v1/clusters
- 作用域类型:
project
检索带有详细信息的集群列表。
cluster:detail_all_projects- 默认值:
rule:context_is_admin- 操作:
GET
/v1/clusters
检索跨项目的带有详细信息的集群列表。
cluster:get- 默认值:
rule:admin_or_project_reader_deny_cluster_user- 操作:
GET
/v1/clusters/{cluster_ident}
- 作用域类型:
project
检索有关给定集群的信息。
cluster:get_one_all_projects- 默认值:
rule:context_is_admin- 操作:
GET
/v1/clusters/{cluster_ident}
检索跨项目的给定集群的信息。
cluster:get_all- 默认值:
rule:admin_or_project_reader_deny_cluster_user- 操作:
GET
/v1/clusters/
- 作用域类型:
project
检索集群列表。
cluster:get_all_all_projects- 默认值:
rule:context_is_admin- 操作:
GET
/v1/clusters/
检索跨项目的集群列表。
cluster:update- 默认值:
rule:admin_or_project_member_deny_cluster_user- 操作:
PATCH
/v1/clusters/{cluster_ident}
- 作用域类型:
project
更新现有的集群。
cluster:update_health_status- 默认值:
rule:admin_or_project_member_user_or_cluster_user- 操作:
PATCH
/v1/clusters/{cluster_ident}
- 作用域类型:
project
更新现有集群的健康状态。
cluster:update_all_projects- 默认值:
rule:context_is_admin- 操作:
PATCH
/v1/clusters/{cluster_ident}
更新现有的集群。
cluster:resize- 默认值:
rule:admin_or_project_member_deny_cluster_user- 操作:
POST
/v1/clusters/{cluster_ident}/actions/resize
- 作用域类型:
project
调整现有集群的大小。
cluster:upgrade- 默认值:
rule:admin_or_project_member_deny_cluster_user- 操作:
POST
/v1/clusters/{cluster_ident}/actions/upgrade
- 作用域类型:
project
升级现有集群。
cluster:upgrade_all_projects- 默认值:
rule:context_is_admin- 操作:
POST
/v1/clusters/{cluster_ident}/actions/upgrade
跨所有项目升级现有集群。
clustertemplate:create- 默认值:
rule:admin_or_project_member_deny_cluster_user- 操作:
POST
/v1/clustertemplates
- 作用域类型:
project
创建一个新的集群模板。
clustertemplate:delete- 默认值:
rule:admin_or_project_member- 操作:
DELETE
/v1/clustertemplate/{clustertemplate_ident}
- 作用域类型:
project
删除集群模板。
clustertemplate:delete_all_projects- 默认值:
rule:context_is_admin- 操作:
DELETE
/v1/clustertemplate/{clustertemplate_ident}
从任何项目删除集群模板。
clustertemplate:detail_all_projects- 默认值:
rule:context_is_admin- 操作:
GET
/v1/clustertemplates
检索跨项目的带有详细信息的集群模板列表。
clustertemplate:detail- 默认值:
rule:admin_or_project_reader_deny_cluster_user- 操作:
GET
/v1/clustertemplates
- 作用域类型:
project
检索带有详细信息的集群模板列表。
clustertemplate:get- 默认值:
rule:admin_or_project_reader_deny_cluster_user- 操作:
GET
/v1/clustertemplate/{clustertemplate_ident}
- 作用域类型:
project
检索有关给定集群模板的信息。
clustertemplate:get_one_all_projects- 默认值:
rule:context_is_admin- 操作:
GET
/v1/clustertemplate/{clustertemplate_ident}
检索跨项目的给定集群模板的信息。
clustertemplate:get_all- 默认值:
rule:admin_or_project_reader_deny_cluster_user- 操作:
GET
/v1/clustertemplates
- 作用域类型:
project
检索集群模板列表。
clustertemplate:get_all_all_projects- 默认值:
rule:context_is_admin- 操作:
GET
/v1/clustertemplates
检索跨项目的集群模板列表。
clustertemplate:update- 默认值:
rule:admin_or_project_member- 操作:
PATCH
/v1/clustertemplate/{clustertemplate_ident}
- 作用域类型:
project
更新现有的集群模板。
clustertemplate:update_all_projects- 默认值:
rule:context_is_admin- 操作:
PATCH
/v1/clustertemplate/{clustertemplate_ident}
更新现有的集群模板。
clustertemplate:publish- 默认值:
rule:context_is_admin- 操作:
POST
/v1/clustertemplatesPATCH
/v1/clustertemplates
发布现有的集群模板。
credential:rotate- 默认值:
rule:project_member_deny_cluster_user- 操作:
PATCH
/v1/credentials/{cluster_uuid}
- 作用域类型:
project
轮换集群的凭证。
federation:create- 默认值:
rule:admin_or_project_member_deny_cluster_user- 操作:
POST
/v1/federations
- 作用域类型:
project
创建一个新的联合。
federation:delete- 默认值:
rule:admin_or_project_member_deny_cluster_user- 操作:
DELETE
/v1/federations/{federation_ident}
- 作用域类型:
project
删除一个联合。
federation:detail- 默认值:
rule:admin_or_project_reader_deny_cluster_user- 操作:
GET
/v1/federations
- 作用域类型:
project
检索带有详细信息的联合列表。
federation:get- 默认值:
rule:admin_or_project_reader_deny_cluster_user- 操作:
GET
/v1/federations/{federation_ident}
- 作用域类型:
project
检索有关给定联合的信息。
federation:get_all- 默认值:
rule:admin_or_project_reader_deny_cluster_user- 操作:
GET
/v1/federations/
- 作用域类型:
project
检索联合列表。
federation:update- 默认值:
rule:admin_or_project_member_deny_cluster_user- 操作:
PATCH
/v1/federations/{federation_ident}
- 作用域类型:
project
更新现有的联合。
magnum-service:get_all- 默认值:
rule:context_is_admin- 操作:
GET
/v1/mservices
检索 magnum-service 列表。
quota:create- 默认值:
rule:context_is_admin- 操作:
POST
/v1/quotas
创建配额。
quota:delete- 默认值:
rule:context_is_admin- 操作:
DELETE
/v1/quotas/{project_id}/{resource}
删除给定 project_id 和资源的配额。
quota:get- 默认值:
rule:admin_or_project_reader- 操作:
GET
/v1/quotas/{project_id}/{resource}
- 作用域类型:
project
检索给定 project_id 的配额信息。
quota:get_all- 默认值:
rule:context_is_admin- 操作:
GET
/v1/quotas
检索配额列表。
quota:update- 默认值:
rule:context_is_admin- 操作:
PATCH
/v1/quotas/{project_id}/{resource}
更新给定 project_id 的配额。
stats:get_all- 默认值:
rule:admin_or_project_reader- 操作:
GET
/v1/stats
- 作用域类型:
project
检索 magnum 统计信息。
nodegroup:get- 默认值:
rule:admin_or_project_reader- 操作:
GET
/v1/clusters/{cluster_id}/nodegroup/{nodegroup}
- 作用域类型:
project
检索有关给定 nodegroup 的信息。
nodegroup:get_all- 默认值:
rule:admin_or_project_reader- 操作:
GET
/v1/clusters/{cluster_id}/nodegroups/
- 作用域类型:
project
检索属于集群的 nodegroup 列表。
nodegroup:get_all_all_projects- 默认值:
rule:context_is_admin- 操作:
GET
/v1/clusters/{cluster_id}/nodegroups/
检索跨项目的 nodegroup 列表。
nodegroup:get_one_all_projects- 默认值:
rule:context_is_admin- 操作:
GET
/v1/clusters/{cluster_id}/nodegroups/{nodegroup}
检索给定 nodegroup 的信息。
nodegroup:create- 默认值:
rule:admin_or_project_member- 操作:
POST
/v1/clusters/{cluster_id}/nodegroups/
- 作用域类型:
project
创建一个新的 nodegroup。
nodegroup:delete- 默认值:
rule:admin_or_project_member- 操作:
DELETE
/v1/clusters/{cluster_id}/nodegroups/{nodegroup}
- 作用域类型:
project
删除一个 nodegroup。
nodegroup:update- 默认值:
rule:admin_or_project_member- 操作:
PATCH
/v1/clusters/{cluster_id}/nodegroups/{nodegroup}
- 作用域类型:
project
更新现有的 nodegroup。