Database amazon simpledb匿名阅读

Database amazon simpledb匿名阅读,database,amazon-web-services,cloud,amazon-simpledb,Database,Amazon Web Services,Cloud,Amazon Simpledb,我想使用javascript直接从客户端查询simpledb。我的应用程序读起来很重,我宁愿不通过我的应用服务器路由请求。是否可以在没有身份验证的情况下执行select请求 我可以设置一个身份验证服务器,但这相当不雅观,因为它只会对每个读取请求说“是”,并且会引入另一个瓶颈/加速障碍/故障点 其他云数据库解决方案(microsoft、google)是否具有此功能?您需要使用服务器签署所有请求。我想这就是你的意思。您仍然可以节省一些带宽 我想说,只要JavaScript客户机能够自我验证,每个人都

我想使用javascript直接从客户端查询simpledb。我的应用程序读起来很重,我宁愿不通过我的应用服务器路由请求。是否可以在没有身份验证的情况下执行select请求

我可以设置一个身份验证服务器,但这相当不雅观,因为它只会对每个读取请求说“是”,并且会引入另一个瓶颈/加速障碍/故障点


其他云数据库解决方案(microsoft、google)是否具有此功能?

您需要使用服务器签署所有请求。我想这就是你的意思。您仍然可以节省一些带宽


我想说,只要JavaScript客户机能够自我验证,每个人都可以。

需要验证服务器,您可以使用EC2进行验证。

这可以使用AWS IAM()和服务器端“”。AWS文档有一篇专为用例和GitHub编写的文章。通用技术可用于非移动和/或JavaScript客户端

注意:出售临时访问令牌仍然需要服务器组件。但是,这些请求的数量可以显著减少(最多每36小时一次)。其余的请求是从不受信任的客户机直接发送到SimpleDB,而不是中间人

通用技术
  • 匿名客户端调用您的令牌自动售货机(您的服务器)
  • 令牌自动售货机知道密钥,调用AWS生成临时令牌
    • 使用创建令牌(下面的示例)
    • 代币最长持续36小时,默认为12小时()
  • 自动售货机将令牌返回给客户端
  • 客户端使用匿名临时令牌调用simpleDB API;无法写入SimpleDB
  • 只读访问策略 来自AWS示例代码“”

    这超出了SimpleDB的范围。您可以为其他几个AWS资源设置访问策略(请参阅)

    使用静态资源替换动态客户端服务器调用的变体 虽然您无法消除服务器组件,但客户端不一定要直接与自动售货机对话:

  • 计划作业每N秒生成
    令牌
    ,其中
    N+fudge==令牌到期
  • 作业将令牌写入公共S3存储桶(或任何其他静态资源)
    • 根据
      fudge
  • 匿名客户端从静态URI读取
    token
  • 客户端使用
    令牌进行身份验证,对SimpleDB进行只读调用

  • 我想我要做的是限制公众对读取请求的访问,尽管这可能也有问题。我认为亚马逊确实有一个访问管理功能来实现这一点,但我需要做更多的阅读。
    {
      "Statement": [
        {
          "Action": ["sdb:GetAttributes", "sdb:List*", "sdb:Select*"],
          "Effect": "Allow",
          "Resource": "*"
        }
      ]
    }