本文翻译自 https://blog.speedle.io/?p=749 讨论为什么使用开源项目 Speedle,https://github.com/oracle/speedle
每当一个新项目发布,我们总会问市场上已经有了 XXX,YYY,ZZZ 产品,为什么你们还要推出新的东西呢?我想通过如下几点来回答这个问题:
SPDL 授权策略定义语言,SPDL 是 Security Policy Definition Language 的缩写,你也可以理解为 Speedle Policy Definition Language 的缩写(这样就是一个像 GNU 一样的递归定义了)。它是一种类自然语言的声明式策略定义语言。例如“ Grant User William Borrow Book; Grant User William Role Admin;”。 你不需要解释就能理解这个策略的意思,对吧?市面上大部分其他语言则和 SPDL 不一样,他们基于 XML、JSON、私有的格式,甚至某种编程语言。使用者必须经过学习才能掌握。如果我们只是定义几条或者几十条策略,还可以接受。如果你要定义更多的策略,你就会痛苦万分了。想象一下你要看懂用 XML 写的 10000 条授权策略,或者是编写程序来实现 10000 条授权策略,我们图什么啊!有人会说,不用怕,我们可以做一个很漂亮好用的策略管理系统来解决这个问题。这当然可以,但是为什么不从开始就避免这个问题呢?
处理大量授权策略的能力。首先让我来问一个问题:在一个系统中会有多少条授权策略?大部分人,包括我自己,的直觉是一个系统中的授权策略不会太多。真是这样的吗?我见过一个系统创建了 4 百万条策略!这当然不是一个很好的设计。但是时至今日权限控制变得越来越重要,系统提供越来越多的功能,系统的用户也越来越多(特别在云计算环境下),这些用户都需要个性化的权限设置,所以授权策略也会越来越多。Speedle 可以很轻松地处理百万级的授权策略。
REST/gRPC 接口。这并不是 Speedle 的特有功能,通过这些接口用户可以很方便地把 Speedle 集成到自己的系统中去。比如在接口部分添加 enforcement 的逻辑。
授权决策的速度。Speedle 就像它的名字暗示的那样,速度很快。它可以在数毫秒的时间里作出授权决定。使用 Speedle 不会拖慢您的应用。
可扩展性。每个 Speedle ADS 的实例每秒钟大致可以处理 30,000 到 40,000 次并发授权请求。如果您觉得这还不够,就再起一个实例,这样它的性能可以翻倍。还不够,再来一个,三个实例的处理能力是单个实例的三倍。Speedle ADS 的处理能力随实例个数线性增长。
高级功能。Speedle 提供一系列高级功能让您可以扩展它的功能。它可以理解 GitHub、Google、Oracle IDCS 等身份提供商签发的令牌( token )。它可以处理来自不同身份提供商的身份信息...... 您可以在 https://speedle.io 上找到详细的说明。
来自 Speedle 开发人员的支持。我们这个团队在权限管理领域工作了 15 年了,但是 Speedle 这个项目是个新项目。坦白地说目前外部用户还不多。我们希望这个项目能帮助更多人,您在我们社区的每个问题都会得到严肃对待和快速回复。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.