更新时间:2024-05-11 GMT+08:00

流水线 Codearts Pipeline

Organizations服务中的服务控制策略(Service Control Policy,以下简称SCP)可以使用以下授权项元素设置访问控制策略。

SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员帐号时,并没有直接对组织单元或成员帐号授予操作权限,而是规定了成员帐号或组织单元包含的成员帐号的授权范围。

本章节介绍组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。

如何使用这些元素编辑SCP自定义策略,请参考创建SCP

操作(Action)

操作(Action)即为SCP中支持的操作项。

  • “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在SCP中相应操作对应的访问级别。
  • “资源类型”列指每个操作是否支持资源级权限。
    • 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在SCP语句的Resource元素中指定所有资源类型(“*”)。
    • 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

    关于CodeartsPipeline定义的资源类型的详细信息请参见资源类型(Resource)

  • “条件键”列包括了可以在SCP语句的Condition元素中支持指定的键值。
    • 如果该操作项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
    • 如果该操作项资源类型列没有值(-),则表示条件键对整个操作项生效。
    • 如果此列没有值(-),表示此操作不支持指定条件键。

    关于CodeartsPipeline定义的条件键的详细信息请参见条件(Condition)

您可以在自定义SCP语句的Action元素中指定以下CodeartsPipeline的相关操作。

表1 CodeartsPipeline支持的操作项

操作项

描述

访问级别

资源类型(*为必须)

条件键

codeartspipeline:pipelinetemplate:create

授予权限以创建流水线模板。

write

-

-

codeartspipeline:pipelinetemplate:update

授予权限以更新流水线模板。

write

-

-

codeartspipeline:pipelinetemplate:delete

授予权限以删除流水线模板。

write

-

-

codeartspipeline:pipelinetemplate:get

授予权限以查看流水线模板。

read

-

-

codeartspipeline:pipelinetemplate:list

授予权限以查看流水线模板列表。

list

-

-

codeartspipeline:rule:create

授予权限以创建规则。

write

-

-

codeartspipeline:rule:update

授予权限以更新规则。

write

-

-

codeartspipeline:rule:delete

授予权限以删除规则。

write

-

-

codeartspipeline:rule:get

授予权限以查看规则。

read

-

-

codeartspipeline:rule:list

授予权限以查看规则列表。

list

-

-

codeartspipeline:strategy:create

授予权限以创建策略。

write

-

-

codeartspipeline:strategy:update

授予权限以更新策略。

write

-

-

codeartspipeline:strategy:delete

授予权限以删除策略。

write

-

-

codeartspipeline:strategy:get

授予权限以查看策略。

read

-

-

codeartspipeline:strategy:list

授予权限以查看策略列表。

list

-

-

codeartspipeline:extension:create

授予权限以创建插件。

write

-

-

codeartspipeline:extension:update

授予权限以更新插件。

write

-

-

codeartspipeline:extension:delete

授予权限以删除插件。

write

-

-

codeartspipeline:extension:get

授予权限以查看插件。

read

-

-

codeartspipeline:extension:list

授予权限以查看插件列表。

list

-

-

CodeartsPipeline的API通常对应着一个或多个操作项。表2展示了API与操作项的关系,以及该API需要依赖的操作项。

表2 API与操作项的关系

API

对应的操作项

依赖的操作项

POST /v5/{tenant_id}/api/pipeline-templates

codeartspipeline:pipelinetemplate:create

-

PUT /v5/{tenant_id}/api/pipeline-templates/{template_id}

codeartspipeline:pipelinetemplate:update

-

DELETE /v5/{tenant_id}/api/pipeline-templates/{template_id}

codeartspipeline:pipelinetemplate:delete

-

GET /v5/{tenant_id}/api/pipeline-templates/{template_id}

codeartspipeline:pipelinetemplate:get

-

POST /v5/{tenant_id}/api/pipeline-templates/list

codeartspipeline:pipelinetemplate:list

-

POST /v2/{domain_id}/rules/create

codeartspipeline:rule:create

-

PUT /v2/{domain_id}/rules/{rule_id}/update

codeartspipeline:rule:update

-

DELETE /v2/{domain_id}/rules/{rule_id}/delete

codeartspipeline:rule:delete

-

GET /v2/{domain_id}/rules/{rule_id}/detail

codeartspipeline:rule:get

-

GET /v2/{domain_id}/rules/query

codeartspipeline:rule:list

-

POST /v2/{domain_id}/tenant/rule-sets/create

codeartspipeline:strategy:create

-

PUT /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/update

codeartspipeline:strategy:update

-

DELETE /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/delete

codeartspipeline:strategy:delete

-

GET /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/detail

codeartspipeline:strategy:get

-

GET /v2/{project_id}/rule-sets/{rule_set_id}/gray/detail

codeartspipeline:strategy:get

-

GET /v2/{domain_id}/tenant/rule-sets/query

codeartspipeline:strategy:list

-

GET /v2/{project_id}/rule-sets/query

codeartspipeline:strategy:list

-

PUT /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/switch

codeartspipeline:strategy:update

-

POST /v1/{domain_id}/agent-plugin/create

codeartspipeline:extension:create

-

POST /v1/{domain_id}/agent-plugin/create-draft

codeartspipeline:extension:create

-

POST /v1/{domain_id}/publisher/create

codeartspipeline:extension:create

-

POST /v1/{domain_id}/agent-plugin/edit-draft

codeartspipeline:extension:update

-

POST /v1/{domain_id}/agent-plugin/publish-draft

codeartspipeline:extension:update

-

POST /v1/{domain_id}/agent-plugin/update-info

codeartspipeline:extension:update

-

POST /v1/{domain_id}/agent-plugin/publish-plugin-bind

codeartspipeline:extension:update

-

POST /v1/{domain_id}/agent-plugin/publish-plugin

codeartspipeline:extension:update

-

POST /v1/{domain_id}/common/upload-plugin-icon

codeartspipeline:extension:update

-

POST /v1/{domain_id}/common/upload-publisher-icon

codeartspipeline:extension:update

-

DELETE /v1/{domain_id}/agent-plugin/delete-draft

codeartspipeline:extension:delete

-

GET /v1/{domain_id}/publisher/query-all

codeartspipeline:extension:list

-

GET /v1/{domain_id}/publisher/optional-publisher

codeartspipeline:extension:list

-

POST /v1/{domain_id}/relation/stage-plugins

codeartspipeline:extension:list

-

GET /v1/{domain_id}/relation/plugin/single

codeartspipeline:extension:list

-

POST /v1/{domain_id}/agent-plugin/query-all

codeartspipeline:extension:list

-

POST /v1/{domain_id}/agent-plugin/plugin-metrics

codeartspipeline:extension:get

-

POST /v1/{domain_id}/agent-plugin/plugin-input

codeartspipeline:extension:get

-

POST /v1/{domain_id}/agent-plugin/plugin-output

codeartspipeline:extension:get

-

GET /v1/{domain_id}/agent-plugin/query

codeartspipeline:extension:list

-

GET /v1/{domain_id}/agent-plugin/detail

codeartspipeline:extension:get

-

GET /v1/{domain_id}/agent-plugin/all-version

codeartspipeline:extension:list

-

DELETE /v1/{domain_id}/publisher/delete

codeartspipeline:extension:delete

-

POST /v1/{domain_id}/publisher/detail

codeartspipeline:extension:get

-

POST /v3/{domain_id}/extension/info/add

codeartspipeline:extension:create

-

POST /v3/{domain_id}/extension/info/update

codeartspipeline:extension:update

-

DELETE /v3/{domain_id}/extension/info/delete

codeartspipeline:extension:delete

-

POST /v3/{domain_id}/extension/upload

codeartspipeline:extension:update

-

GET /v3/{domain_id}/extension/detail

codeartspipeline:extension:get

-

POST /v1/{domain_id}/relation/plugins

codeartspipeline:extension:list

-

资源类型(Resource)

CodeartsPipeline服务不支持在SCP中的资源中指定资源进行权限控制。如需允许访问CodeartsPipeline服务,请在SCP的Resource元素中使用通配符号*,表示SCP将应用到所有资源。

条件(Condition)

CodeartsPipeline服务不支持在SCP中的条件键中配置服务级的条件键。CodeartsPipeline可以使用适用于所有服务的全局条件键,请参考全局条件键