我正在构建一个 Spring Boot 微服务,我有一些问题
我有一个账户微服务、一个支付微服务、一个产品微服务……在这些微服务中,有些请求有时需要使用邮件api、短信发送api或推送通知api。
我现在所做的是创建一个用于邮件的微服务、用于发送短信的微服务和用于推送通知的微服务。
我似乎无法解决的是如何使这些微服务仅在内部使用。例如,禁止用户直接调用邮件微服务。
在stackoverflow上创建这个问题之前,我自以为是,为什么我不会把发送短信的代码放在一个库中,同样用于发送电子邮件和推送通知并将它们添加到微服务中......以及何时需要微服务使用这些 api 之一,我添加了所需的库 .. 例如,我创建了一个推送通知库,并将其添加到每个需要执行推送通知的微服务中 ..
将这些邮件、短信和通知服务集成到我的微服务项目中,并通过禁止用户直接使用它们来尊重安全性的最佳方法是什么?
我不知道该怎么办,有人可以给我建议吗?
最佳答案
好吧,我不太清楚“禁止用户直接使用它们”是什么意思,但通常正如@kavhakaran 的回答所指出的那样,您应该采取安全措施来防止您的服务被滥用。
在该答案中,就我所见,仅关注网络相关部分。还应该有关于用户授权的第二级。这意味着您可以/应该为您想要保护的服务拥有适当的角色和授权定义。根据提供的角色,您可以授权客户端使用服务。
这通常也适用于云服务。您将获得一个 api-key 以使用一些云服务,他们将检查 api-key 是否被授权用于请求的服务等。
关于spring - 微服务 : security and architectural issue for internal services,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63081063/