Postman 中防止生产中破坏性 API 调用的"best practice"是什么



我们有许多"危险"的API调用,我们有很多(>20(环境。我们的开发人员一直在环境之间切换。

我想为某些环境中的某些 API 调用创建"您确定吗?"类型的提示。

最初的想法 - 对于破坏性的 API 调用,预请求脚本将检查环境变量并提示是否为"Prod"。 但是我找不到邮递员中的"提示"功能。

除了建议我们不允许生产环境中的开发人员之外,任何人都可以想到一种方法在提交之前进行提示,或者至少降低错误地向生产环境提交破坏性调用的风险?

提前谢谢。

如果确实想通过技术解决方案解决此问题,请对危险终结点使用身份验证。并且不要将凭据交给您不信任的任何人。如果确实有问题,您可以轮换凭据。

或者,如果员工无法处理生产访问权限,则将其轮换出其职位。扬子晚报.

如果你想要一个技术解决方案来避免意外调用,我已经编写了一个简单的预请求脚本,只允许在我们的生产环境中使用GET请求(除非你传入某个标头来覆盖锁(。我的目的只是添加某种检查,以确保我们不会在某些环境中意外拨打某些电话。

我们希望避免出现团队中有人意外地针对 prod 发出 POST 或其他类型的修改请求的情况。如果您不注意在邮递员中选择的环境,则很容易发生这种情况。发生在我们最好的人🤷🏻 ♂️身上

您可以轻松修改脚本以阻止对生产环境的所有调用,如果这是您想要的:)有一个提示会很棒,但现在必须这样做。

当前的解决方案是在满足某些条件时抛出错误,以便不执行请求。

希望这对遇到相同问题的其他任何人有所帮助:

https://www.fullstackdev.cloud/posts/using-pre-request-scripts-in-postman-to-avoid-dangerous-api-calls

对于在这里绊倒的任何人,到目前为止还没有"提示"功能,它在此线程上的请求 https://github.com/postmanlabs/postman-app-support/issues/285。

因此,降低风险的最佳方法是在环境变量匹配时通过抛出错误来停止请求本身。

https://stackoverflow.com/a/47150325/12295149 的例子:

if (!environment['X']) {
throw new Error('No "X" set')
}

最新更新