如何选择保护Mulesoft API的方法?

时间:2019-01-25 12:32:53

标签: api security mulesoft

我们有一个Mulesoft Cloudhub环境,我们计划部署公共API,还配置了一个VPC,用于部署私有API。

我正在研究如何最好地保护API,并查看了以下方法:

  • 基本身份验证
  • 客户ID和机密
  • OAuth
  • LDAP
  • SAML

我的查询是什么时候应该使用每个?他们是示例用例吗?例如。 OAuth似乎比基本身份验证以及客户端ID和机密更为安全,所以为什么不一直使用OAuth并忘记其他两个呢?

谢谢

1 个答案:

答案 0 :(得分:0)

OAuth更着眼于授权,而不仅仅是身份验证。

例如,OAuth 2具有针对不同用例的许多不同流程。如3条腿的OAuth允许您使用外部身份提供程序,从而允许用户被授权访问您的资源。在某种程度上,您根本不执行任何身份验证。

在一些简单的场景中,Http basic仍然可以达到目的,可能是因为使用其他东西的成本和/或努力不值得,并且它是内部网络并且OJ已经具有某种ldap或active directory类型的东西用于其他应用程序(这里使用SSL非常重要,因为基本身份验证凭据是纯文本)

关于客户端ID和机密,尽管它与用户名/密码类似,但在语义上更重要-您信任的是客户端而不是具有凭据的人。

例如,您可以使用客户端ID来验证实际的客户端,例如移动应用程序或Web应用程序。诸如MuleSoft的API Manager之类的客户端ID实施还允许您添加诸如速率限制和基于SLA的速率限制之类的策略,以便您可以限制特定的客户端应用程序以免API过载。

您可以将其与OAuth一起使用。用于访问API的客户端ID /机密,但用于授权最终用户的OAuth。

这是一篇更详细的文章,讨论了各种常见api auth机制的利弊,以及用于您的用例的各种OAuth流之间进行选择的链接。

https://nordicapis.com/3-common-methods-api-authentication-explained/

https://auth0.com/docs/api-auth/which-oauth-flow-to-use