当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

Cerbos

云原生应用访问控制引擎
授权协议 Apache 2.0
开发语言 Google Go
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 不详
投 递 者 颜骁
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Cerbos 是一款云原生应用的访问控制工具,通过为应用程序资源编写上下文感知访问控制策略来增强授权控制。

  • 使用直观的 YAML 配置语言编写访问规则
  • 使用 Git-ops 基础架构来测试和部署
  • 向 Cerbos PDP 发出简单的 API 请求,以评估策略并做出动态访问决策

用例:

派生角色:根据上下文数据为用户动态分配新角色。

---
apiVersion: "api.cerbos.dev/v1"
derivedRoles:
  name: common_roles
  definitions:
    - name: owner
      parentRoles: ["user"]
      condition:
        match:
          expr: request.resource.attr.owner == request.principal.id

    - name: abuse_moderator
      parentRoles: ["moderator"]
      condition:
        match:
          expr: request.resource.attr.flagged == true

 资源策略:为资源编写访问规则。

---
apiVersion: api.cerbos.dev/v1
resourcePolicy:
  importDerivedRoles:
    - common_roles
  resource: "album:object"
  version: "default"
  rules:
    - actions: ['*']
      effect: EFFECT_ALLOW
      derivedRoles:
        - owner

    - actions: ['view', 'flag']
      effect: EFFECT_ALLOW
      roles:
        - user
      condition:
        match:
          expr: request.resource.attr.public == true

    - actions: ['view', 'delete']
      effect: EFFECT_ALLOW
      derivedRoles:
        - abuse_moderator

API 请求

cat <<EOF | curl --silent "http://localhost:3592/api/check?pretty" -d @-
{
  "requestId":  "test01",
  "actions":  ["view"],
  "resource":  {
    "kind":  "album:object",
    "instances": {
      "XX125": {
        "attr":  {
          "owner":  "alicia",
          "id":  "XX125",
          "public": false,
          "flagged": false
        }
      }
    }
  },
  "principal":  {
    "id":  "alicia",
    "roles":  ["user"]
  }
}
EOF

API 响应

{
  "requestId": "test01",
  "resourceInstances": {
    "XX125": {
      "actions": {
        "view": "EFFECT_ALLOW"
      }
    }
  }
}
 相关资料
  • 我有一个通过谷歌云托管的API。API的主要入口点是一个应用引擎实例(standard),它需要能够调用各种云函数来执行其任务。 为了使云功能安全,我想将入口控件设置为“仅允许内部”。 我已经将云函数和应用引擎部署在同一个区域(us-Central al1)中,但是每次应用引擎实例试图调用云函数时,都会出现403错误。我尝试为应用引擎设置VPC连接器,但这没有帮助。 这是应用程序。yaml文件:

  • 我们使用以下链接生成了一个访问令牌:https://graph.facebook.com/oauth/access_token?grant_type=client_credentials 它给了我们这样一个访问令牌:AQRtositr-Km47sometextwohp-7heCCDHmKE 但现在,当我们想在本地Facebook应用程序中进行身份验证时,它会生成以下AccessToken:ABBD

  • 云原生是一种应用开发风格,鼓励在持续交付和价值驱动开发领域轻松采用最佳实践。相关的学科是建立12-factor Apps,其中开发实践与交付和运营目标相一致,例如通过使用声明式编程和管理和监控。Spring Cloud以多种具体方式促进这些开发风格,起点是一组功能,分布式系统中的所有组件都需要或需要时轻松访问。 许多这些功能都由Spring Boot覆盖,我们在Spring Cloud中建立。更多

  • cmf_check_user_action($object = "", $countLimit = 1, $ipLimit = false, $expire = 0) 功能 检查用户对某个url内容的可访问性,用于记录如是否赞过,是否访问过等等;开发者可以自由控制,对于没有必要做的检查可以不做,以减少服务器压力 参数 $object: string 要检查权限的用户 ID $countLimit

  • 访问控制限制其他源文件和模块对你的代码的访问。这个特性允许你隐藏代码的实现细节,并指定一个偏好的接口让其他代码可以访问和使用。 你可以给特定的单个类型 (类,结构体和枚举)设置访问级别,比如说属性、方法、初始化器以及属于那些类型的下标。协议可以限制在一定的范围内使用,就像全局常量,变量,函数那样。 除了提供各种级别的访问控制,Swift 为典型场景提供默认的访问级别,减少了显式指定访问控制级别的需

  • 访问控制用于设置访问负载均衡的IP白名单或IP黑名单。 访问控制用于设置访问负载均衡的IP白名单或IP黑名单,在访问控制策略组中仅可以设置IP地址范围,在配置负载均衡实例监听时可设置是否启用访问控制,并设置针对具体的访问控制策略组设置访问白名单或黑名单。 访问控制来源: 同步公有云上被实例上的监听绑定的访问控制,并自动在访问控制缓存里添加一条记录,同步下来的访问控制默认本域共享。 在云管平台上创建

  • 我在从我的网站链接加载字体时遇到问题。在我所看到的server.js中有一个错误,即CORS不在我的标题中。现在,我的问题是如何将标题插入我的server.js有人能帮我吗? 这里是错误 源“我的网站链接”中的字体已被跨域资源共享策略阻止加载:请求的资源上不存在“访问-控制-允许-原点”标头。因此不允许访问原点“http://localhost:3001”

  • cmf_check_user_action($object = "", $countLimit = 1, $ipLimit = false, $expire = 0) 功能 检查用户对某个url内容的可访问性,用于记录如是否赞过,是否访问过等等;开发者可以自由控制,对于没有必要做的检查可以不做,以减少服务器压力 参数 $object: string 访问对象的id,格式:不带前缀的表名+id;如