文档首页/ 智能体身份/ API参考/ API/ 策略/ 在指定策略集中创建策略
更新时间:2026-11-04 GMT+08:00
分享

在指定策略集中创建策略

功能介绍

在指定策略集中创建策略。

URI

POST /v1/policy-engines/{policy_engine_id}/policies

表1 路径参数

参数

是否必选

参数类型

描述

policy_engine_id

是

String

参数解释:

策略集ID,系统自动生成的唯一标识符。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字及"-"、"_"组成,长度为12~59个字符。

默认取值:

不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

name

是

String

参数解释:

策略名称,用于标识和区分不同的策略。

约束限制:

不涉及。

取值范围:

只能以英文字母开头,由英文字母、数字及"_"组成,长度为1~48个字符。

默认取值:

不涉及。

description

否

String

参数解释:

策略的可读描述。

约束限制:

不涉及。

取值范围:

长度为1~4096个字符。

默认取值:

不涉及。

definition

是

PolicyDefinition object

参数解释:

策略定义结构,封装不同的策略格式和语言,用于定义访问控制规则。这是一个UNION类型,只能指定以下一种成员。

约束限制:

只能指定cedar成员。

取值范围:

不涉及。

默认取值:

不涉及。

validation_mode

否

String

参数解释:

策略创建/更新的验证模式。

约束限制:

不涉及。

取值范围:

  • FAIL_ON_ANY_FINDINGS:如果Cedar分析器报告任何发现则失败(默认)。

  • IGNORE_ALL_FINDINGS:即使检测到发现也允许创建/更新。

默认取值:

FAIL_ON_ANY_FINDINGS

表3 PolicyDefinition

参数

是否必选

参数类型

描述

cedar

是

CedarPolicy object

参数解释:

Cedar策略定义,用于封装Cedar语法的访问控制策略语句。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表4 CedarPolicy

参数

是否必选

参数类型

描述

statement

是

String

参数解释:

Cedar策略语句,定义授权逻辑。该语句遵循Cedar语法,指定主体、操作、资源和条件,用于细粒度访问控制。

约束限制:

不涉及。

取值范围:

长度为34~10000个字符。

响应参数

状态码:202

表5 响应Body参数

参数

参数类型

描述

policy

Policy object

参数解释:

策略对象。

取值范围:

不涉及。

表6 Policy

参数

参数类型

描述

policy_id

String

参数解释:

策略ID,系统自动生成的唯一标识符。

取值范围:

只能由英文字母、数字及"-"、"_"组成,长度为1~128个字符。

name

String

参数解释:

策略名称,用于标识和区分不同的策略。

取值范围:

只能以英文字母开头,由英文字母、数字及"_"组成,长度为1~48个字符。

description

String

参数解释:

策略的可读描述。

取值范围:

长度为1~4096个字符。

urn

String

参数解释:

策略的统一资源名称(URN)。

取值范围:

长度为1~1024个字符。

pending_definition

PolicyDefinition object

参数解释:

策略定义结构,封装不同的策略格式和语言,用于定义访问控制规则。这是一个UNION类型,只能指定以下一种成员。

取值范围:

不涉及。

active_definition

PolicyDefinition object

参数解释:

策略定义结构,封装不同的策略格式和语言,用于定义访问控制规则。这是一个UNION类型,只能指定以下一种成员。

取值范围:

不涉及。

status

String

参数解释:

策略的当前状态。

取值范围:

  • CREATING:策略正在创建中

  • ACTIVE:策略已激活并可用

  • UPDATING:策略正在更新中

  • DELETING:策略正在删除中

  • CREATE_FAILED:策略创建失败

  • UPDATE_FAILED:策略更新失败

  • DELETE_FAILED:策略删除失败

status_reasons

Array of strings

参数解释:

关于策略状态的额外信息,提供关于任何失败或策略创建过程当前状态的详细信息。

取值范围:

不涉及。

created_at

String

参数解释:

UTC时间戳,记录资源的创建或更新时间。

取值范围:

使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ssZ。例如:2025-01-01T00:00:00Z。

updated_at

String

参数解释:

UTC时间戳,记录资源的创建或更新时间。

取值范围:

使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ssZ。例如:2025-01-01T00:00:00Z。

policy_engine_id

String

参数解释:

策略集ID,系统自动生成的唯一标识符。

取值范围:

只能由英文字母、数字及"-"、"_"组成,长度为12~59个字符。

表7 PolicyDefinition

参数

参数类型

描述

cedar

CedarPolicy object

参数解释:

Cedar策略定义,用于封装Cedar语法的访问控制策略语句。

取值范围:

不涉及。

表8 CedarPolicy

参数

参数类型

描述

statement

String

参数解释:

Cedar策略语句,定义授权逻辑。该语句遵循Cedar语法,指定主体、操作、资源和条件,用于细粒度访问控制。

取值范围:

长度为34~10000个字符。

状态码:400

表9 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误信息。

取值范围:

不涉及。

request_id

String

参数解释:

请求ID。

取值范围:

不涉及。

encoded_authorization_message

String

参数解释:

加密后的认证失败信息,可以通过STS5解密接口进行解密。

取值范围:

不涉及。

状态码:404

表10 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误信息。

取值范围:

不涉及。

request_id

String

参数解释:

请求ID。

取值范围:

不涉及。

encoded_authorization_message

String

参数解释:

加密后的认证失败信息,可以通过STS5解密接口进行解密。

取值范围:

不涉及。

请求示例

在指定策略集中创建策略。

POST https://{endpoint}/v1/policy-engines/{policy_engine_id}/policies

{
  "name" : "my_policy",
  "description" : "Example policy",
  "definition" : {
    "cedar" : {
      "statement" : "permit(principal, action, resource);"
    }
  }
}

响应示例

状态码:202

{
  "policy" : {
    "policy_id" : "285624f5-5958-4f36-b171-168303615bce",
    "name" : "my_policy",
    "description" : "Example policy",
    "urn" : "agentIdentity:<region>:<account-id>:policy:policyEngine/<policy-engine-id>/<policy-id>",
    "pending_definition" : {
      "cedar" : {
        "statement" : "permit(principal, action, resource);"
      }
    },
    "active_definition" : null,
    "status" : "CREATING",
    "created_at" : "2025-01-01 00:00:00",
    "updated_at" : "2025-01-01 00:00:00",
    "policy_engine_id" : "285624f5-5958-4f36-b171-168303615bce"
  }
}

状态码

状态码

描述

202

请求成功。

400

请求体异常。

404

未找到相应的资源。

错误码

请参见错误码。

相关文档