CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架

时间:2023-01-11 10:03:39

CoSec

基于 RBAC 和策略的多租户响应式安全框架

CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架 CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架 CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架 CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架 CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架 CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架

更新内容(v1.10.4) ???? ???? ????

  • 特性:新增StartsWithConditionMatcher

  •     {
          "name": "TestStartsWith",
          "effect": "allow",
          "actions": [
            {
              "type": "all"
            }
          ],
          "condition": {
            "type": "starts_with",
            "part": "request.attributes.ipRegion",
            "pattern": "中国"
          }
        }
  • 特性:新增EndsWithConditionMatcher

  •     {
          "name": "TestEndsWith",
          "effect": "allow",
          "actions": [
            {
              "type": "all"
            }
          ],
          "condition": {
            "type": "ends_with",
            "part": "request.attributes.remoteIp",
            "pattern": ".168.0.1"
          }
        }

认证

CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架

授权

CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架

OAuth

CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架

建模类图

CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架

安全网关服务

CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架

授权策略流程

CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架

内置策略匹配器

ActionMatcher

CoSec v1.10.4 发布,基于 RBAC 和策略的多租户响应式安全框架

如何自定义 ActionMatcher (SPI)

参考 RegularActionMatcher

class CustomActionMatcherFactory : ActionMatcherFactory {
    companion object {
        const val TYPE = "[CustomActionType]"
    }

    override val type: String
        get() = TYPE

    override fun create(onfiguration: Configuration): ActionMatcher {
        return CustomActionMatcher(onfiguration)
    }
}
class CustomActionMatcher(configuration: Configuration) :
    AbstractActionMatcher(CustomActionMatcherFactory.TYPE, configuration) {

    override fun internalMatch(request: Request, securityContext: SecurityContext): Boolean {
        //Custom matching logic
    }
}