- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
想知道是否可以让网络应用程序将文件 (userid.input.json
) 上传到 Amazon S3,这会触发一个 lambda 函数来读取文件、进行一些处理并保存结果作为另一个 (userid.output.json
)。
但是 userid.output.json
不应立即可供 Web 应用程序访问。 Web 应用程序必须完成一次 Stripe 支付,一旦支付完成,Web 应用程序就可以访问 amazon s3 上的 (userid.output.json
) 文件。
在我问如何做之前,我想我会先问这个场景是否可以在 AWS 上促进/构建?
请注意,这是根据更多研究对问题进行的更新。看起来 Amazon Cognito 将是用于登录用户并将其用户凭证绑定(bind)到可以读取和写入 S3 存储桶的 IAM Angular 色的完美工具。
因此,一旦用户通过 Amazon Cognito 登录并拥有适当的凭据,他们的文件就可以上传到 S3 存储桶并由 lambda 进行处理。然后将结果写入同一个存储桶。
现在,我之前建议写入一个密封的存储桶,并让 Stripe webhook 触发器将结果从密封的存储桶移动到一个可访问的存储桶。但根据@Snickers3192 提供的答案中的指示,这似乎是必要的。
一旦 strip 支付完成,webapp 可以设置一个 boolean 值,用于控制对输出的访问并完成循环?
拥有隐藏存储桶的部分原因是有人可能会从浏览器中提取凭据并在不同的脚本中执行它们。我认为这是不可能的(著名的遗言 :)),但以防万一我写了 follow up question here .
换句话说,在使用 Amazon Cognito 登录后提取到客户端的凭据不能用于在应用程序上下文之外执行脚本?
根据我的后续问题,依靠 webapp 中的状态做出安全决策似乎不够好,因为有人可能会想出一种方法来获取 token 身份验证 token 并直接使用客户端操作应用程序 API除了核心应用。
所以现在我是这样想的:
1)将结果写入密封桶(Processing Lambda)
2) 让 Stripe webhook 在用户配置文件中更新用户的交易记录,指示已付款 = true (Stripe Lambda)
3) 创建另一个 lambda,该 lambda 具有对密封桶的访问权限,但仅当 paid=true
时才会返回结果。 (访问结果 Lambda)
因此,由于 Stripe 与允许更新应用程序用户配置文件并设置 paid=true
的 IAM 用户绑定(bind),因此密封桶只能由首先检查是否 的 lambda 访问paid=true
返回结果前,相信应该能保证安全。
如果有人有更简单的方法请告诉我。
最佳答案
这实际上是一个您希望将安全性置于何处的问题,这在 AWS 中有许多选项,在您的应用程序逻辑中,这可能意味着:
这些决定通常取决于您的身份存储的保存位置,以及您是否希望保留 AWS 用户 VS 的概念。您的应用程序的用户。我的偏好是将这两个池分开,因为像这样的安全逻辑保留在 webapp/lambda 中,而 AWS 安全仅处理开发人员对环境拥有的权限以及应用程序本身拥有的权限。
这意味着网络应用程序始终可以访问输入和输出存储桶,但它会在某个地方的数据库中(或使用您的支付系统 API)记录谁已经支付和谁没有支付并使用该信息来拒绝或授予用户访问权限。 IMO 这是一个更加模块化的设计,它使您能够更好地锁定您的 AWS 账户,并且对于安全所在的开发人员来说更加清晰。此外,如果您确实使用 IAM/S3,那么在本地运行和调试将会更加困难。
编辑:在您提出所有意见和其他安全问题之后,您可能还需要考虑通过电子邮件发送指向已处理文件的短期 URL 链接,以便用户既需要电子邮件访问权限,又需要知道他们的应用程序的凭据。这意味着即使您的访问 token 在浏览器级别被盗,如果没有电子邮件访问权限,黑客仍然无法获取已处理的文件。如果您想成为极端安全核心,请拥有不仅需要身份验证而且需要 MFA 的链接,这样他们就需要输入一个不断刷新的代码,因为您应该在登录时为您的 AWS 帐户设置。
我绝不是安全专家,但只要遵循最佳实践并尽职调查,您就会达到安全预期。
关于javascript - 基于条件访问亚马逊 lamda 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49643059/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 7年前关闭。 Improve this qu
我已经在我的网站上列出了我所有的亚马逊订单。 现在,我希望能够将订单标记为从我的网站发货,并且状态将在亚马逊上立即更新。 我看过亚马逊提要 api,但不清楚提要 xml 的格式。 我只想要一个用于更新
我想在不经过转换过程(我的内容 --> Epub/Html --> KindleGen/Calibre/其他工具)的情况下生成 KF8,因为我需要更多地控制 kf8 文件的生成。 guidelines
我打算为亚马逊的市场网络服务 (MWS) 开发一个客户端。我的要求是更新订单、同步订单状态、使用他们拥有的 API 获取订单详细信息。 但是,我找不到沙盒环境来测试这些场景。我了解亚马逊有一个支付沙箱
PA-API 的销售已经停止,我想知道这对我来说意味着什么。我喜欢这个 API,但我看不到有自己的网站和购物车等的可能性。 是否有来自 Amazon 的 API 可以将其用于购物车和结账? 只需生成购
我在 salesforce 领域工作,并尝试使用产品 Feed API 在亚马逊卖家账户中创建产品。但我不确定如何为属于珠宝类别的产品创建完美的 xml 提要文件。我可以使用 MWS 客户端库吗?或者
如何使用 Amazon MWS 将内嵌图像添加到注册品牌的产品描述部分还是平面文件? 谢谢! 最佳答案 如果您是注册品牌所有者,则需要使用 enhanced brand content templat
是否可以在一个 aws dynamodb 帐户中创建多个数据库?例如,一个管理大学表格的大学数据库和一个管理学校表格的学校数据库。谢谢。 最佳答案 另一个答案是正确的,但更完整的答案是 DynamoD
我有一个简单的问题,因为没有找到任何答案。实际上,我可以使用亚马逊的 API 从 ASIN 代码中获取有关产品的信息,但在这张图片的情况下,我可以获得一张不同格式的图片,大拇指、中拇指等,对吗? 在我
关于哪个 Web 服务可以上传订单的 pdf 发票? 几周以来,可以通过sellercentral 或第三方软件了解.... 但我找不到有关 mws api 的方法.. 谢谢 最佳答案 也许你应该看看
有没有办法计算通过 amazon redshift 中的 SQL 更新查询影响的最后行数? 类似于 PG_LAST_COPY_COUNT() 之类的函数,用于计算亚马逊 Redshift 中的最后一个
我决定将 MySql 或 NoSQL 用于论坛站点。我对整个 NoSQL 想法很陌生,在阅读文档时我注意到“项目”不能大于 64kb,这包括属性和值。从我理解的方式来看,我能想到的实现这一点的唯一方法
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我正在创建一个 Alexa 技能,需要检索各种内容,例如日期、文件号等。我还需要它来获取用户对其所说的“描述”并能够保留它。 例如: "Alexa, description, patent draft
我已经用“标题”和“类别”等对我的产品建立了索引。现在,在我的自动建议中,我想要诸如Amazon / Flipkart之类的东西, 例如,如果我查询“绿色”,建议使用“绿茶”,“绿色衬衫”,“男士绿色
我是英国亚马逊(以及同一帐户上的所有欧盟商城)的注册专业卖家 我有我的卖家帐户 ID、开发者 ID、开发者身份验证 token 和私钥。 在 MWS 暂存器中,我可以发出请求并获得状态 API 的成功
我有一个 Web 服务器在 Ubuntu Amazon EC2 实例上运行,端口为 3000。15.0.0.10 是这个 EC2 实例的私有(private) ip。 在我通过 ssh 进入该实例并运
我在 Amazon S3 中使用 GetSessionToken/GetFederationToken 的临时 session ,我计划拥有超过 10K 个用户,每个用户都可以上传到 S3,所以一开始
我在heroku上有一个django应用程序,它提供来自亚马逊s3存储桶的静态文件。我使用 boto 库并按照网站上的指南进行操作。我可以做什么来加快文件传输速度? 部分代码: DEFAULT_FIL
我正在尝试制作一个小Java程序。 该程序有 3 个整数的输入:S:开始的蚊子,K:每只蚊子生下的 child 的数量,N:我们“调查”的天数。 亚马逊地区的每只蚊子只能存活 1 天。第 0 天,我们
我是一名优秀的程序员,十分优秀!