- 稳定性
- 稳定
- 作用域
- 按租户隔离
- 边界
- packages/iam
iampackages/iam
租户隔离
策略判定pass
- 主体已验证25 毫秒
- 租户范围16 毫秒
- iam 已授权22 毫秒
- 审计已记录12 毫秒
活跃会话
actor_vcacme_2656
所有者mfa
剩余 48m
活跃会话
794
+7%
审计条目 / 天
26,558
策略检查 / 秒
70
+2%
packages/iam身份与信任 · 单一边界
使用方式permissions.ts
typescriptpermissions.ts
1import { ability } from "@nebutra/permissions";
2import { requirePermission } from "@nebutra/permissions/server";
3
4await requirePermission("user.invite", { orgId });
5
6const can = ability(currentUser);
7if (can("delete", "Project", project)) {
8 await deleteProject(project.id);
9}audit log · 12,847 entries · hash-verified
2sAKadmin.invite_user
14mMRbilling.cancel
1hJTauth.signin
→ hash-chained · SHA-256
audit能力包
audit
面向 actor/tenant 行动的 hash-chain SHA-256 仅追加审计日志,SOC 2 级防篡改,支持流式导出与可回放查询。
查看auth能力包
auth
多 provider 鉴权 — Clerk / Better Auth / NextAuth,preset 一行切换;React 接口统一,强制 MFA,session HMAC 签名。
查看Select traffic lights
Verify you're human
challenge · 6 tiles
Cloudflare Turnstile1.2s solve
captcha能力包
captcha
一个 verify() 后端接口适配 Cloudflare Turnstile / hCaptcha / reCAPTCHA;分路启用,得分服务端判定,前端无第三方追踪。
查看identity能力包
identity
统一 actor 原语 — usr_/svc_/api_ ID 空间,角色/成员关系,租户绑定;所有 iam 子包都从同一个 identity 对象读取上下文。
查看第三方应用 · ‘Acme CI’
请求的权限范围:
read:projectswrite:deploymentsadmin:billing
Token JWT · 1h 有效期
oauth-server能力包
oauth-server
自建 OAuth 2.1 / OIDC provider;授权码 + PKCE、refresh 轮换、三方应用同意、JWT 默认 1h TTL。
查看RBAC / ABACpolicy.matrix
admin
member
viewer
read
write
delete
defineAbility() · CASL
permissions能力包
permissions
RBAC + ABAC 引擎 — CASL 处理进程内 check,OpenFGA 处理 Zanzibar 关系图;服务端 defineAbility(),React 用 <Can /> 包裹。
查看Acme Robotics
Pro
Globex Corp
MemberInitech Labs
MemberRLS · tenantId scope · AsyncLocalStorage
tenant能力包
tenant
基于 AsyncLocalStorage 的请求级租户上下文 + Prisma RLS 桥接;中间件解析一次 tenantId,整条调用栈自动透传。
查看vault能力包
vault
客户密钥应用层信封加密 — AES-256-GCM、按租户 DEK、KMS 包装;解密带审计记录,落盘零明文。
查看