Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 从web应用程序查询dynamoDB的理想方式是什么?_Amazon Web Services_Amazon Dynamodb_Amazon Iam - Fatal编程技术网

Amazon web services 从web应用程序查询dynamoDB的理想方式是什么?

Amazon web services 从web应用程序查询dynamoDB的理想方式是什么?,amazon-web-services,amazon-dynamodb,amazon-iam,Amazon Web Services,Amazon Dynamodb,Amazon Iam,我正在尝试从我的web应用程序查询DynamoDB 在使用IAM并创建第三方角色并让用户通过Facebook或Google登录我的web应用程序后,我成功地做到了这一点,我的应用程序获得了一个令牌并创建了AWS凭据 现在,我希望我的网站的任何用户都能够查询我的dynamoDB表中的一个,它应该是一个公共表,我尝试使用角色来进行查询-模仿前面的方法-但我总是会遇到一个错误“配置中缺少凭据” 如何避免这种情况?有没有一种方法可以在不使用第三方令牌的情况下创建AWS凭据并将其附加到IAM角色,或者我必

我正在尝试从我的web应用程序查询DynamoDB

在使用IAM并创建第三方角色并让用户通过Facebook或Google登录我的web应用程序后,我成功地做到了这一点,我的应用程序获得了一个令牌并创建了AWS凭据

现在,我希望我的网站的任何用户都能够查询我的dynamoDB表中的一个,它应该是一个公共表,我尝试使用角色来进行查询-模仿前面的方法-但我总是会遇到一个错误“配置中缺少凭据”


如何避免这种情况?有没有一种方法可以在不使用第三方令牌的情况下创建AWS凭据并将其附加到IAM角色,或者我必须使用密钥创建IAM用户,或者有没有其他更好的方法可以做到这一点?

听起来Amazon Cognito就是您需要的。如果您正在寻找一个示例web应用程序,那么最近的一篇博文是在一个示例应用程序上发布的,该应用程序使用AmazonCognito对访问DynamoDB表的用户进行身份验证

具体来说,您可能会发现“应用程序通过AmazonCognito对用户进行身份验证”一节很有用


希望这有帮助!祝你好运

不确定为什么要使用IAM角色。您的web应用程序服务器是否有固定IP,设置在
安全组中,并且只允许该IP访问DynamoDB。我正在尝试学习AWS,我没有太多的经验。我只是在本地运行这个网站。你能进一步解释一下你的想法吗?据我所知,DynamoDB没有“公共”表。此外,如果您直接从web应用程序查询DynamoDB,则用户将可以访问您作为网站一部分提供的任何凭据。在我创建了一个IAM用户,该用户对我的DynamoDB具有只读权限,并且在我的web应用程序中具有硬代码关联的accessKey和sercreteAccessKey,我成功地做到了这一点。通过阅读AWS IAM,我了解到用户是一个用户或一个实体,例如:我或你,并且关系是一对一的,但我可以假设用户是指web_用户,在这种情况下,这将是一对多的关系,或者使用我的网站的任何人都将使用这些相同的凭据,如果我这样假设,会产生任何问题吗?这是否与任何IAM最佳实践相矛盾?在您描述的情况下,这将是web_用户场景。您需要小心向您的web应用程序用户公开哪些权限和凭据。IAM用户的权限应该非常有限,因为恶意用户可以获取这些凭据并滥用您授予他们的任何权限。有一些可以用来进一步限制访问。