【问题标题】:How to set up AWS Mobile Hub DynamoDB for anonymous data gathering如何设置 AWS Mobile Hub DynamoDB 以收集匿名数据
【发布时间】:2017-05-16 07:27:31
【问题描述】:

我的用例是我想从我的移动应用程序中收集一些数据。每次使用应用程序时都应写入记录。

主要是,我不确定是使用公共、受保护还是私有。我不希望任何用户拥有读取权限,但他们需要写入权限才能将数据发送到我的表。 Private 似乎是有道理的,但是这会将主键限制为“userId”,这样是否会导致每个最终用户在 DynamoDB 中只能拥有一条记录?

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb aws-mobilehub


    【解决方案1】:

    您还可以从 AWS Mobile Hub 中创建的 DynamoDB NoSQL 表的“公共”权限开始,然后编辑授权策略以从 auth 和 unauth 中删除“读取”操作(即获取、扫描、查询)用户 NoSQL 策略。这将为您提供一个 DynamoDB 表,可从移动应用程序直接访问,但处于只写模式。

    要在 AWS Mobile Hub 中访问您的授权策略,请单击左侧导航面板中的“资源”按钮,然后滚动到“AWS 身份和访问管理角色”。 ...unauth... 角色适用于未经身份验证的用户。 ...auth... 角色适用于已登录应用的用户。单击角色,单击 ...nosqldatabase... 策略,并将“操作”部分修改为仅包含...

    “行动”: [ "dynamodb:BatchWriteItem", "dynamodb:DeleteItem", "dynamodb:PutItem", “dynamodb:更新项目” ],
    这些是“写入”操作。

    【讨论】:

      【解决方案2】:

      首先,考虑您收集数据的原因。使用移动分析平台可能会更好。由于您在 AWS 上,请查看 Amazon PinpointAWS Mobile Hub

      如果您确实想将活动推送到云中,那么我建议您实施一个 AWS Lambda,您的移动应用程序使用 JSON blob 调用该 Lambda。然后,该 blob 将由 Lambda 验证并注入到 DynamoDb 中。这样,您可以获得“只读”保护(因为只有 Lambda 会暴露给您的客户端),并且您还可以收集您需要的任何 JSON blob,并保护自己免受恶意攻击者的侵害。

      【讨论】:

      • 我实际上正在使用 Mobile Hub。 Lambda 是个好主意,我稍后再看看。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 1970-01-01
      • 2017-09-07
      • 1970-01-01
      相关资源
      最近更新 更多