feat: manage existing credential actions with audited replay
This commit is contained in:
@@ -21,6 +21,7 @@ export ORBIT_CREDENTIAL_KEY_FILE=/run/orbit-secrets/credential-keys.json
|
||||
4. 已接入应用点击「查看接入信息」或「复制接入配置」,获取包含当前 Token 的完整配置;也可下载 orbit.env。
|
||||
5. 「平滑换证」保留 application_id、namespace_id、credential_id、队列、任务和订阅;新 Token 立即生效,旧 Token 在配置的过渡期内继续使用(页面默认 7 天,支持 1/7/30 天),便于逐台更新配置。详情展示旧 Token 实际截止,全部服务切换后可点「结束过渡」。
|
||||
6. 默认「长期有效」,不需要每月人工换证;已有凭据可点「调整有效期」直接设为长期,原 Token 保持不变。
|
||||
7. 在凭据的「管理与权限」中选择「调整权限」,核对当前精确动作集合并填写原因。只修改动作,队列授权、Token、有效期和过渡期保持不变;高级恢复、审计和额度权限需要明确选择。
|
||||
|
||||
凭据卡片提供「查看接入信息」「复制接入配置」。配置包含 ORBIT_URL、ORBIT_APPLICATION_ID、ORBIT_NAMESPACE_ID、ORBIT_QUEUE_ID、ORBIT_TOKEN;可直接粘贴为环境配置。先选择业务服务实际可访问的地址和队列,再复制;应用 ID 用于识别,真正认证身份来自 Token。过渡期始终返回当前新 Token,调整有效期或结束旧代过渡后仍可查看。历史凭据尚无密文时提供「导入当前 Token」,不能把仍可用的旧代 Token 导入为当前代次。
|
||||
|
||||
@@ -132,6 +133,26 @@ SET_EXPIRY 不生成新 Token,只更新当前有效期;valid_days=0 为长
|
||||
|
||||
完整滚动更新及 SDK 客户端生命周期说明见[凭据手册](authentication.md)。更换配置不会自动刷新已创建的客户端,须在过渡截止前完成重建或逐台重启并排空在途任务。
|
||||
|
||||
### 调整已有凭据的动作权限
|
||||
|
||||
prepare 使用 `kind=SET_PERMISSIONS`,携带当前 namespace_id、credential_id、expected_revision、完整 actions 数组和 reason;valid_days 为 0,grace_days 省略或为 0。actions 必须非空,至多 32 个,拒绝重复、未知动作与通配符。其他操作类型不接受 actions,不能把权限修改混入换证或有效期调整。
|
||||
|
||||
```json
|
||||
{
|
||||
"kind": "SET_PERMISSIONS",
|
||||
"namespace_id": "33333333333333333333333333333333",
|
||||
"credential_id": "55555555555555555555555555555555",
|
||||
"expected_revision": "2",
|
||||
"valid_days": 0,
|
||||
"actions": ["queues:read", "schedules:manage", "schedules:read", "tasks:read", "tasks:submit"],
|
||||
"reason": "允许该凭据管理定时计划"
|
||||
}
|
||||
```
|
||||
|
||||
actions 为**全量替换**,示例不能代替读取原权限;页面默认勾选原有动作,不默认补齐能力组。prepare 返回 version=3 的固定操作,不生成或返回 Token、期限或过渡时间;原对象整体提交到已有 apply 路由。新动作要求 version=3,旧 CREATE、ROTATE、SET_EXPIRY、FINALIZE 保持原固定格式与重放语义。
|
||||
|
||||
服务端仅更新原凭据动作集合和 revision,保留原队列授权与所有秘密/有效期字段;权限前后快照、管理员身份、原因和回执原子提交。审计失败不改权限,旧版本返回冲突,提交不明重放原 operation_id。页面成功后刷新详情;旧回执不代表当前权限仍等于该次修改后的状态。权限将在后续认证/授权检查生效,移除正在使用的能力可能影响对应连接后续操作。
|
||||
|
||||
## 6. 超时、重复和审计
|
||||
|
||||
- 页面提交前把整个固定操作保留在当前内存;请求超时或结果未知时,按钮变成「重试确认」,重用同一份内容。不能再次 prepare 来代替核对。
|
||||
|
||||
Reference in New Issue
Block a user