Updated on 2024-05-11 GMT+08:00

CodeArts Pipeline

The Organizations service provides Service Control Policies (SCPs) to set access control policies.

SCPs do not actually grant any permissions to a principal. They only set the permissions boundary for the principal. When SCPs are attached to an organizational unit (OU) or a member account, the SCPs do not directly grant permissions to that OU or member account. Instead, the SCPs only determine what permissions are available for that member account or those member accounts under that OU.

This section describes the elements used by Organizations SCPs. The elements include actions, resources, and conditions.

For details about how to use these elements to edit a custom SCP, see Creating an SCP.

Actions

Actions are specific operations that are allowed or denied in an SCP.

  • The Access Level column describes how the action is classified (List, Read, or Write). This classification helps you understand the level of access that an action grants when you use it in an SCP.
  • The Resource Type column indicates whether the action supports resource-level permissions.
    • You can use a wildcard (*) to indicate all resource types. If this column is empty (-), the action does not support resource-level permissions, and you must specify all resources ("*") in your SCP statements.
    • If this column includes a resource type, you must specify the URN in the Resource element of your statements.
    • Required resources are marked with asterisks (*) in the table. If you specify a resource in a statement using this action, then it must be of this type.

    For details about the resource types defined by CodeArts Pipeline, see Resources.

  • The Condition Key column includes keys that you can specify in the Condition element of an SCP statement.
    • If the Resource Type column has values for an action, the condition key takes effect only for the listed resource types.
    • If the Resource Type column of an action is empty (-), the condition key takes effect for all resources.
    • If this column does not have any values (-), the action does not support any condition keys.

    For details about the condition keys defined by CodeArts Pipeline, see Condition.

The following table lists the actions that you can define in SCP statements for CodeArts Pipeline.

Table 1 Actions supported by CodeArts Pipeline

Item

Description

Access Level

Resource Type (*: required)

Condition Key

codeartspipeline:pipelinetemplate:create

Grants permission to create pipeline templates.

write

-

-

codeartspipeline:pipelinetemplate:update

Grants permission to update pipeline templates.

write

-

-

codeartspipeline:pipelinetemplate:delete

Grants permission to delete pipeline templates.

write

-

-

codeartspipeline:pipelinetemplate:get

Grants permission to view pipeline templates.

read

-

-

codeartspipeline:pipelinetemplate:list

Grants permission to view the pipeline template list.

list

-

-

codeartspipeline:rule:create

Grants permission to create rules.

write

-

-

codeartspipeline:rule:update

Grants permission to update rules.

write

-

-

codeartspipeline:rule:delete

Grants permission to delete rules.

write

-

-

codeartspipeline:rule:get

Grants permission to view rules.

read

-

-

codeartspipeline:rule:list

Grants permission to view the rule list.

list

-

-

codeartspipeline:strategy:create

Grants permission to create policies.

write

-

-

codeartspipeline:strategy:update

Grants permission to update policies.

write

-

-

codeartspipeline:strategy:delete

Grants permission to delete policies.

write

-

-

codeartspipeline:strategy:get

Grants permission to view policies.

read

-

-

codeartspipeline:strategy:list

Grants permission to query the policy list.

list

-

-

codeartspipeline:extension:create

Grants permission to create extensions.

write

-

-

codeartspipeline:extension:update

Grants permission to update extensions.

write

-

-

codeartspipeline:extension:delete

Grants permission to delete extensions.

write

-

-

codeartspipeline:extension:get

Grants permission to view extensions.

read

-

-

codeartspipeline:extension:list

Grants permission to view the extension list.

list

-

-

Each API of CodeArts Pipeline usually supports one or more actions. Table 2 lists the supported actions and dependencies.

Table 2 Actions and dependencies of CodeArts Pipeline APIs

API

Action

Dependency

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

-

Resources

CodeArts Pipeline does not support resource-level authorization. To allow access to CodeArts Pipeline, use a wildcard (*) in the Resource element of the SCP, indicating that the SCP will be applied to all resources.

Condition

CodeArts Pipeline does not support service-specific condition keys in SCPs. It can only use global condition keys applicable to all services. For details, see Global Condition Keys.