【问题标题】:Securing apigee baas保护 apigee baas
【发布时间】:2014-11-22 07:36:38
【问题描述】:

我最近一直在考虑将 apigee 的 baas 作为 parse 之类的替代方法用于移动应用程序。现在 Parse 显然允许您创建 ACL 等来定义谁可以读取/写入特定对象。我知道 baas 有角色的概念,但我正在努力解决一些问题。我了解使用访问令牌通过边缘执行此操作的概念。我只是不确定我是如何在每个对象和任何关系上实际设置角色/ACL。

1) 我知道我可以使用 Edge 创建 api 端点,然后使用这些代理来访问我的 baas,我可以使用访问令牌保护这些代理,但是我如何保护那些刚刚发现我的 baas url 并调用 /users 的人比如暴露用户收藏和大家的邮箱?

2) 我确实在文档中注意到,当您设置权限时,您可以使用特殊的 ${user} 占位符来表示只允许访问当前用户。但是,当我尝试通过 Web 界面在 /users/${user} 上添加 PUT 权限时,它会抱怨无效字符。你只能通过 api 调用来设置吗?您将如何保护特定用户的资源?那么,如果每个用户都有一个“待办事项列表”,我怎么能确保用户只能访问自己的项目呢?我需要建立关系吗?你会怎么做呢?

** 编辑 ** 通过在我的 BAAS 端点的边缘创建代理,我设法完成了大部分工作。创建用户时,代理会在响应期间进行服务调用,使用新返回的 uuid 和组织 access_token 更新权限,以便新创建的用户可以编辑自己。然而,这对我来说似乎仍然是一个相当复杂的过程,我觉得它应该更容易。我主要担心的是,如果用户在移动设备上执行这些操作,那么根据文档,我应该只使用用户访问令牌。但是,用户访问令牌不会让我更新用户的权限!我觉得我有点陷入了第 22 条陷阱的境地。为了让我的应用更安全,我需要使用会降低整体安全性的凭据!

谢谢

【问题讨论】:

    标签: security authentication oauth-2.0 apigee


    【解决方案1】:

    要考虑的一件事是使用 Apigee a127 产品。您可以将需要更广泛凭据的所有逻辑放入在任何地方运行的 Node.js 应用程序中 - 甚至托管在 Apigee 中。这将允许您在服务器上而不是在设备上做任何需要做的家务。您可以在http://apigee.com/docs/api-services/content/apigee-127 阅读有关 Apigee a127 的更多信息

    【讨论】:

    • 嗨,很抱歉,我们对此进行了较晚的跟进,但这与使用 Edge 的服务调用来设置我对对象的权限有何不同?看起来 Node 应用程序实际上是一个额外的步骤,因为我需要构建该应用程序,然后将该应用程序作为服务调用调用以更新权限,还是我遗漏了什么?
    猜你喜欢
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 2014-08-13
    • 2015-01-09
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    相关资源
    最近更新 更多