我在Angular JS / Typescript中使用了aws-amplify和aws-sdk。 我可以作为经过身份验证的用户成功访问我的AWS DynamoDB。
我也在尝试为Dynamo中的某个表添加访客用户访问权限,但我很难理解如何在没有任何凭据的情况下获得对DynamoDB的引用。
我的代码目前看来是这样的
getDocumentClient() {
return Auth.currentCredentials()
.then(credentials => new AWS.DynamoDB.DocumentClient({ credentials: credentials }))
.catch(err => logger.debug('error getting document client', err));
如何以未经身份验证的访客用户身份访问DynamoDB?
干杯
利
答案 0 :(得分:1)
以下是S3的示例 - 我已经展示了这一点,因为我知道您可以作为未经身份验证的用户从AWS SDK请求S3。我假设这也适用于DynamoDB,但尚未对其进行测试。
CONDITION : without directly using the designation of Peter in the WHERE CLAUSE.
更具战略性的方法是支持未经身份验证/来宾身份的Amazon Cognito Identity Pools。 Cognito会出现身份和AWS凭证,您可以配置IAM角色,允许对未经身份验证的身份类型进行DynamoDB读取访问。
答案 1 :(得分:0)
我认为您可以参考以下博客文章中提到的内容。
https://aws.amazon.com/blogs/compute/using-amazon-api-gateway-as-a-proxy-for-dynamodb/
基本思想是使用API网关作为DynamoDB API的代理。通过执行角色将访问DynamoDB的权限授予API网关,并且将API Gateway配置为向公众开放。这样做的流程如下:
Web Browser <----- HTTPS -----> API Gateway <----- AWS Service Proxy integration -----> DynamoDB