在Apigee BAAS实体中设置对象权限的最佳方式是什么,用户可以编辑他们创建的内容,其他人可以阅读它们?管理员可能还可以编辑所有内容。
我在这里问了一个类似的问题Securing apigee baas更多地围绕确保调用更新权限所需的应用程序ID /秘密,但我想知道是否有任何关于这种排序的最佳实践来自移动应用程序的东西。
我最初的想法仍然是服务标注(不确定上一个问题中提到的Apigee-127如何与直接向BAAS的服务标注有任何不同,因为我看起来像我只是在Node.js中编写我的apis而不是使用边缘控制台),但我不知道在保护特定用户创建的特定集合中的所有实体方面是否有更简单的方法?我想我可以添加一个我可以从应用程序角度查看的列创建,但这不会阻止某人直接点击BAAS并检索此信息,除非权限也设置在需要用户访问的实体级别令牌。
是否有可能以这样的方式保护BAAS,即只有来自Edge的来电才能达到BAAS网址?
答案 0 :(得分:0)
(免责声明:我自己没试过,但这是一个建议。)
API BaaS使用$ user时,自动将路径段设置为当前已验证用户的UUID。例如,如果您为具有UUID bd397ea1-a71c-3249-8a4c-62fd53c78ce7的用户发送了带有有效访问令牌的请求,则路径/ users / $ {user}将被解释为/ users / bd397ea1-a71c-3249- 8a4c-62fd53c78ce7,仅将权限分配给该用户实体。
通过这种方式,通过您的应用程序,您可以在从应用程序创建对象后立即为每个用户和每个对象设置权限。当然,假设您已对用户进行了身份验证。
参考:http://apigee.com/docs/api-baas/content/using-permissions