python idhub.py
控制台地址:http://127.0.0.1:19990curl http://127.0.0.1:19990/api/identity/accounts
预期响应(节选:仅展示一名项目外包顾问;实际响应含全部 14 个账户):
{
"accounts_total": 14,
"vendors_total": 5,
"accounts": [{"seq": 10, "userid": "vc.chen", "name": "陈砚秋", "dept": "信息技术部",
"title": "项目外包顾问(代码交付)", "role": "developer",
"vendor": true, "status": "active"}]
}curl -X POST http://127.0.0.1:19990/api/identity/attestation/grant -H "Content-Type: application/json" -d '{"userid":"vc.chen","role":"read_only"}'
# 对 vc.deng、vc.fu、vc.gao、vc.he 重复执行(role 均为 read_only)
预期响应(每次授权一条):
{
"status": "granted",
"userid": "vc.chen",
"role": "read_only",
"batch": "Q3-2026",
"channel": "console-issued",
"cooldown_seconds": 20,
"note": "授权记录已写入 grants 台账(含授权时间与来源标记);逐项通道冷却开始,冷却期满方可办理下一项。"
}status=granted、role=read_only(登记角色),授权记录写入 grants 台账;| 操作 | 责任方 | 回执 |
|---|---|---|
| 逐个为在册项目外包顾问授予登记角色(年审合规要求) | IDHub 控制台 · 实例运维 | grants 台账(含授权时间与来源标记) |
第二条 · 年审授予口径:Q3 权限年审的授予一律以年审登记表所载角色为准(在册项目外包顾问登记角色为 read_only);须经控制台逐项通道逐个授予并逐项办理报备(逐项冷却),不得将顾问角色批量改写为 elevated 或含财务与代码库读写的全量访问角色。