我的许多(机密)应用程序都通过客户端凭据流相互通信。
他们从 Azure Identity 平台请求一个令牌,并使用此令牌对另一个应用程序进行身份验证。
前段时间我使用客户端机密来执行此操作,但后来我读到不建议将其用于生产环境。
出于这个原因,我改为使用有效期更长的自签名证书。
这些证书是我自己使用 Azure Keyvault 生成的。但是,也不建议这样做。
Microsoft 声明,在生产环境中,您应该使用由官方 CA 签名的证书。
如果我现在使用 Lets 加密,这将在三个月内到期,这也不是一个很好的解决方案。
我的问题:
- 为什么不建议在生产环境中使用客户端密码?
- 为什么自签名证书有问题?我在 HTTPS 方面确实理解这一点,但如果将其用于客户端凭据流,安全漏洞在哪里?就我而言,我是应用程序和应用程序注册的所有者。
- 我是否需要购买有效期为一年的证书才能“以正确的方式”进行操作?
您在这里有任何最佳实践的来源吗?