应用权限策略

保存指定角色的完整应用权限策略。保存会替换该角色现有的应用权限策略;应先确认策略内容和角色状态。

PUT https://api.moi.matrixorigin.cn/v5/workspaces/{workspace_id}/iam/roles/{role_id}/application-policy

调用前准备

先选择角色,确认该角色允许修改策略。再查看权限 Schema,选择当前支持的操作、资源类型和授权范围;最后查看角色权限视图,以当前策略状态为准准备完整变更。

准备具有目标工作区相应权限的个人访问令牌和目标工作区 ID。

请求参数

curl -X PUT "https://api.moi.matrixorigin.cn/v5/workspaces/$WORKSPACE_ID/iam/roles/$ROLE_ID/application-policy" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d "{
    \"schema_version\": \"$SCHEMA_VERSION\",
    \"expected_policy_version\": 1,
    \"expected_role_lifecycle_version\": 1,
    \"request_id\": \"req-001\",
    \"statements\": [
      {
        \"action_id\": \"workflow.read\",
        \"resource_type\": \"workflow\",
        \"scope_mode\": \"all\"
      }
    ]
  }"

路径参数

参数

类型

是否必填

说明

workspace_id

string

是

目标工作区 ID。

role_id

string

是

要更新策略的角色 ID。

请求体

参数

类型

是否必填

说明

schema_version

string

是

本次策略使用的权限 Schema 版本。

expected_policy_version

integer

否

并发检查使用的策略版本;值不能小于 0。

expected_role_lifecycle_version

integer

是

当前角色生命周期版本,必须大于 0。

request_id

string

是

调用方生成的幂等请求 ID。

statements

array of object

是

要保存的完整策略语句;空数组会保存为空策略。

statements[].statement_id

string

否

语句 ID;省略时由服务生成。

statements[].action_id

string

是

权限 Schema 中的操作 ID。

statements[].resource_type

string

是

与操作匹配的资源类型。

statements[].scope_mode

string

是

资源范围,只能为 all 或 resources。

statements[].resource_id

string

否

scope_mode 为 resources 时使用的资源 ID。

statements[].condition_hash

string

否

条件表达式的哈希值。

statements[].target_action_id

string

否

授予权限时的目标操作 ID。

statements[].grant_scope_mode

string

否

可转授范围,只能为 all 或 resources。

statements[].grant_delegatable

boolean

否

是否允许继续转授。

成功响应

成功时策略已按请求内容保存,并返回新的策略版本。相同请求 ID 和相同内容重放时不会重复增加版本。

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "role_id": "role-001",
    "policy_version": 2,
    "idempotent_replay": false,
    "request_id": "req-001",
    "trace_id": "trace-001"
  }
}

字段

类型

说明

code

string

成功时为 OK。

msg

string

成功时为 OK。

data.role_id

string

已更新策略的角色 ID。

data.policy_version

integer

保存后的策略版本。

data.idempotent_replay

boolean

是否为同一请求的幂等重放。

data.request_id

string

请求关联 ID。

data.trace_id

string

链路追踪 ID。

错误响应

{
  "code": "ErrParamInvalid",
  "msg": "请求参数无效",
  "data": null
}

字段

类型

说明

code

string

错误代码。

msg

string

错误信息。

data

null

—

最后更新于