如何为匿名数据收集设置AWS Mobile Hub DynamoDB

时间:2017-05-16 07:27:32

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

我是亚马逊Dynamo数据库的新用户,并且在了解其运行方式时遇到了一些麻烦。我的用例是我想从我的移动应用程序中收集一些数据。每次使用应用程序时都应写入记录。

主要是,我不确定是使用Public,Protected还是Private。我不希望任何用户具有读访问权限,但他们需要写访问权才能将数据发送到我的表。私有似乎是有意义的,但是那么将主键限制为'userId',并且不会这样做,所以每个最终用户只能在DynamoDB中有一条记录?

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

您还可以在AWS Mobile Hub中创建的DynamoDB NoSQL表上以“公共”权限开始,然后编辑授权策略以从auth和unauth中删除“读取”操作(即获取,扫描,查询)用户NoSQL策略。这将为您提供可直接从Mobile App访问的DynamoDB表,但是处于只写模式
要在AWS Mobile Hub中获取授权策略,请单击左侧导航面板中的“资源”按钮,然后滚动到“AWS Identity and Access Management角色”。 ... unauth ...角色适用于未经身份验证的用户。 ... auth ...角色适用于已登录应用的用户。单击角色,单击... nosqldatabase ...策略,并将“操作”部分修改为仅包含...

      "Action": [
        "dynamodb:BatchWriteItem",
        "dynamodb:DeleteItem",
        "dynamodb:PutItem",
        "dynamodb:UpdateItem"
      ],

这些是“写”操作。

此致
安德鲁C
AWS移动开发人员体验

答案 1 :(得分:1)

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

如果您确实希望将活动推送到云中,那么我建议您实施移动应用程序使用JSON blob调用的AWS Lambda。然后,该blob将被Lambda验证并注入DynamoDb。通过这种方式,您可以获得&#34;只读&#34;保护(因为只有Lambda暴露给您的客户端),您还可以收集所需的任何JSON blob,并保护自己免受恶意攻击者的攻击。<​​/ p>