0

我正在 django REST 框架中开发一个服务器应用程序,该框架又使用 apache knox REST API 来处理 spark 会话(创建会话、获取会话、取消会话......)。Apache Knox 支持服务级别授权,但我需要 API 级别授权来授权用户是否有权调用给定的 REST API。有人建议我使用 Apache Ranger,但它不支持 REST API 授权。有没有办法让 Knox 和 Ranger 一起工作以实现 REST API 级别授权?

谢谢你的帮助

4

2 回答 2

0

目前 Apache Ranger 不支持 spark 授权。您现在必须依赖 spark ACL。

但是,对 spark sql 提出了一个功能请求,因此将来您可以将其用于其他 spark sql 操作,但对于创建、获取、取消等操作,您必须依赖 spark ACL

于 2020-12-31T03:27:23.827 回答
0

REST API 授权可能不是您想要的——尽管它可以很容易地映射到它。这里的设计是一种分层的安全方法。网关在边缘提供服务级别授权。更细粒度的授权应该在资源本身或更接近资源本身可用。Ranger 插件存在于整个生态系统中,无论资源路径如何,都可以执行相同的策略。考虑到 Knox 网关只是访问代理资源的一种方式,并且在集群中可以直接访问相同的资源,这表明在网关处强制执行是不够的。但是,如果外部参与者根本无法访问服务,则可以通过更细粒度的权限检查来限制外部参与者对系统内的资源征税。

也就是说,Apache Knox 网关是非常可扩展的,您可以编写自己的授权提供程序或扩展 acls 提供程序来做您想做的事情。只是不要忘记保护相同资源的其他路径。

于 2021-01-22T22:25:08.133 回答