← 返回文档中心

自主执行权限管理

自主执行权限管理

定义 AI Agent 的操作权限分三级: - L1 自动执行(不需要通知) - L2 执行后通知 - L3 必须先问(等确认)

流程图:权限执行流程

flowchart TD
    A[触发操作请求] --> B[查询 permission_policy]
    B --> C{权限等级?}
    C -->|L1 自动执行| D[直接执行操作]
    D --> E[记录 execution_log
approval_status=auto] C -->|L2 执行后通知| F[执行操作] F --> G[记录 execution_log] G --> H[推送通知到飞书] C -->|L3 必须先问| I[生成审批请求] I --> J[推送审批到飞书] J --> K{用户响应?} K -->|确认| L[执行操作] L --> M[记录 execution_log
approval_status=manual] K -->|拒绝| N[记录 execution_log
status=rejected] K -->|超时| N E --> O[检查执行结果] H --> O M --> O N --> O O --> P{是否成功?} P -->|是| Q[完成] P -->|否| R[触发告警] R --> J class C,K,P decision class Q done class R warning class A,B,D,E,F,G,H,I,J,L,M,N,O process classDef process fill:#1a2744,stroke:#58a6ff,stroke-width:1px,color:#c9d1d9 classDef decision fill:#3a2a1a,stroke:#f0883e,stroke-width:2px,color:#f0883e classDef done fill:#1a3a2a,stroke:#3fb950,stroke-width:1px,color:#3fb950 classDef error fill:#3a1a1a,stroke:#f85149,stroke-width:2px,color:#f85149 classDef warning fill:#3a2a1a,stroke:#d29922,stroke-width:1px,color:#d29922 classDef skip fill:#21262d,stroke:#484f58,color:#8b949e

数据模型

CREATE TABLE  permission_policy (
    id              BIGSERIAL PRIMARY KEY,
    action_category VARCHAR(64) NOT NULL,        -- restart_service/cleanup_logs/supplier_circuit_break/...
    action_name     VARCHAR(128) NOT NULL,
    level           VARCHAR(8) NOT NULL,          -- L1/L2/L3
    description     TEXT,
    conditions      JSONB,                        -- 额外条件(如 L2 级操作在非工作时间升级为 L3)
    created_at      TIMESTAMPTZ DEFAULT now(),
    updated_at      TIMESTAMPTZ DEFAULT now()
);

CREATE TABLE execution_log (
    id              BIGSERIAL PRIMARY KEY,
    action_category VARCHAR(64) NOT NULL,
    action_name     VARCHAR(128) NOT NULL,
    level           VARCHAR(8) NOT NULL,
    status          VARCHAR(16) NOT NULL,         -- approved/executed/rejected/timeout
    approval_status VARCHAR(16),                  -- null(L1)/auto(L2)/pending/manual(L3)
    result          JSONB,
    executed_at     TIMESTAMPTZ,
    approved_by     VARCHAR(64),
    created_at      TIMESTAMPTZ DEFAULT now()
);

API 接口

方法 路径 说明
GET /api/permissions/policies 获取权限策略列表
PUT /api/permissions/policies/{id} 更新权限策略
GET /api/permissions/execution-log 获取执行日志

业务逻辑

AI Agent 在执行任何操作前,先查询 permission_policy 匹配 action_category + action_name,获得对应的权限级别。L1 操作直接执行并记录日志;L2 操作先执行,完成后通过飞书通知;L3 操作发送审批请求,等待人工确认。conditions 字段支持时间窗口、环境等额外条件,例如 L2 操作在非工作时间自动升级为 L3。