Azure API 管理 - 身份验证:OAuth2 与证书
Azure API Management - Authentication: OAuth2 vs Certificate
我想听听您对实施的看法。预先感谢您的任何建议:)
**场景**
我有一组 API。它们可通过 REST 访问并受 OAuth2 保护。我还有一个需要访问它们的机器列表。
题
在机器方面,访问它们的最佳解决方案是什么?我应该实施客户端证书身份验证还是 OAuth2 是合适的解决方案?
**我的疑惑:**
- 如果是几百、几千台机器,证书
管理变得太complex/costly?
- 我应该为每台机器使用一个证书还是为多台机器使用一个证书?
- 如何巧妙地将证书部署到每台机器上?
我喜欢相互认证的想法,但与 OAuth 结构相比,恐怕维护起来太麻烦了。我打算使用 Microsoft Azure 作为云服务。
谢谢!
我想说这里的重要因素是客户身份和特权:
- 您可能有很多客户端机器
- 但是它们是否代表一个单一的身份,例如一个集群?
- 他们都享有相同的特权吗?
默认情况下,我的目标是一种解决方案,其中所有具有相同权限的客户端机器都提供相同的凭据/身份。然后,API 可以根据访问令牌中提供的客户端身份授权请求。
标准的 OAuth 解决方案是客户端凭据流程,其中每个客户端都向服务器发送一个秘密。
如果需要(并且您的授权服务器支持),您可以通过 Client Assertion Profile 使用相互 TLS 形式的客户端凭据。这通常归结为客户端发送的私钥签名,它包含在授权服务器上配置的白名单中。
我想听听您对实施的看法。预先感谢您的任何建议:)
**场景**
我有一组 API。它们可通过 REST 访问并受 OAuth2 保护。我还有一个需要访问它们的机器列表。 题 在机器方面,访问它们的最佳解决方案是什么?我应该实施客户端证书身份验证还是 OAuth2 是合适的解决方案?
**我的疑惑:**
- 如果是几百、几千台机器,证书
管理变得太complex/costly?
- 我应该为每台机器使用一个证书还是为多台机器使用一个证书?
- 如何巧妙地将证书部署到每台机器上?
我喜欢相互认证的想法,但与 OAuth 结构相比,恐怕维护起来太麻烦了。我打算使用 Microsoft Azure 作为云服务。
谢谢!
我想说这里的重要因素是客户身份和特权:
- 您可能有很多客户端机器
- 但是它们是否代表一个单一的身份,例如一个集群?
- 他们都享有相同的特权吗?
默认情况下,我的目标是一种解决方案,其中所有具有相同权限的客户端机器都提供相同的凭据/身份。然后,API 可以根据访问令牌中提供的客户端身份授权请求。
标准的 OAuth 解决方案是客户端凭据流程,其中每个客户端都向服务器发送一个秘密。
如果需要(并且您的授权服务器支持),您可以通过 Client Assertion Profile 使用相互 TLS 形式的客户端凭据。这通常归结为客户端发送的私钥签名,它包含在授权服务器上配置的白名单中。