由于我们要开发一些公共API供其他应用程序集成,有人建议我们应该延迟安全性的东西,直到API的方法完成,因此第三方应用程序将有一些工作!这是解决问题的好方法,还是我们应该建立安全性然后开发API本身?
编辑:
这里的问题是成本。让我们说如果你首先拥有它,我认为你不必再重新访问API来进行更改,因为安全性,特别是第三方应用程序,由另一个团队维护。 如果我们将其推迟到完成所有内容并进行集成,那么另一个团队也必须修改和更改代码。
根据您的经验,什么会降低成本?
答案 0 :(得分:3)
您应该从一开始就拥有设计完整,包括安全性。稍后更改设计将花费更多。 实施最初可能会延迟或不完整。
如果你不这样做,例如知道访问权限的粒度,当你后来发现它必须超出表访问权限或超出SIDU并且实际上工作在行级别时,你将不得不进行大量的重新设计。
放入虚拟函数并计算如何的细节以后实现真实的东西或多或少是免费的,但要做到这一点,首先需要知道什么客户的需求和计划!
答案 1 :(得分:1)
这取决于......
我尽可能在安全性,安全身份验证,ACL等方面采取行动。但是,不要只是说“让我们以后再做”而不能很好地处理决策可能带来的风险。如果您必须尽快开始实施安全问题,那么这些讨论很可能会产生可行的前进道路。
答案 2 :(得分:1)
安全性是一个CROSSCUTTING关注点,这意味着它渗透(并且应该)架构的每个层面。为什么不使用Basic Auth并与第三方应用开发者共享密钥呢?
安全必须始终是一个问题。如果您的API完美且您的安全系统存在缺陷,它将无助于延迟。