Skip to content

授权模型

IAM 需要回答「这个用户,对这笔业务资源,能否以某种方式访问」。授权模型把这些概念标准化,使决策可声明、可审计、可复用。

  • IamPrincipal:谁在访问(userId、身份域、激活 Profile、授权版本)。
  • Permission:权限码,如 document:readdocument:update
  • ResourceDescriptor:资源描述,(resourceType, resourceId, parentPath, attributes)parentPath 形如 ["PROJECT:101","DEPARTMENT:1"],表达资源在层级中的位置。
  • ResourceScope:授权作用域,(scopeType, scopeRefId, accessMode),如 ("PROJECT","101",READ)
  • ScopeAccess:枚举 READ / WRITE
  • AuthorizationRequest:决策请求,(permissionCode, domain, clientType, resource, scopeAccess)

声明(注解)与决策(引擎)分离:见 require-permissionauthorization-engine