策略配置

配置

警告

自 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/clustertemplates

  • PATCH /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。