> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skrmir.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 生产环境二次验证与审批

> 定义生产环境变更在 Web、CLI、Agent 中统一使用的 step-up 与 approval 门禁。

# 生产环境二次验证与审批

## 适用对象

本页面向会发起生产环境变更的操作者、CLI/Agent 使用者，以及设计 prod 门禁的实现者。

## 目标与范围

本页回答三件事：

1. 哪些 prod 操作默认需要 approval
2. step-up 与 approval 在执行链中的位置
3. 为什么 Web、CLI、Agent 必须共享同一套门禁语义

## 核心概念

### step-up

step-up 指在高风险操作前提升身份保证级别，例如：

* 重新确认会话
* 二次验证
* 更强的 token 约束

### approval

approval 是对高风险生产变更的显式授权记录。其语义不是“顺便确认一下”，而是：

* 明确谁申请了什么操作
* 在什么环境和资源上执行
* 由谁批准
* 是否已被消费

### 需要 approval 的默认场景

* prod 环境部署创建 / 更新 / 回滚
* prod 写数据库操作
* prod 删除对象存储对象
* prod 集群安装/高风险运维动作

## 标准流程

`AuthN -> AuthZ(require_approval) -> Approval -> ValidateBinding -> Execute -> Audit`

绑定校验至少包含：

* `subject_id`
* `env`
* `resource_hash`
* `action`

CLI / Agent 场景推荐额外绑定：

* `command_hash`

## 规划中的 CLI 示例（尚未实现）

当前仓库尚未交付这些 prod 审批/部署子命令；它们只用于说明未来 CLI 也必须复用同一套审批绑定与执行链。

```bash theme={null}
aios approval request \
  --action deploy.app.update \
  --resource app:project/prod/my-api

aios app up --env prod
```

## Web UI 路径

* 应用详情页发起 prod 变更
* 系统弹出 step-up / approval 流程
* 审批中心查看票据状态与消费情况

## 常见问题 / 风险提示

* approval 不是对 AuthZ 的替代，而是 AuthZ 的一个决策分支。
* approval ticket 成功消费后必须失效，防止重放。
* 如果某个入口可以绕过这条链直接在 prod 执行变更，这属于严重设计缺陷。

## 相关页面

* [环境模型：Dev/Test/Preview/Prod](/platform/projects/environments-dev-test-preview-prod)
* [认证与授权模型](/operations/authn-authz)
* [Agent 总览](/agent/index)
