spring - 微服务 : security and architectural issue for internal services

标签 spring spring-boot microservices

我正在构建一个 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/

相关文章:

java - Liferay - 调用远程 portlet 的 Controller

java - 带有 Date 类型的 spring-cloud-feign Client 和 @RequestParam

java - 字段 jdbcTemplate 需要类型为 'org.springframework.jdbc.core.JdbcTemplate' 的 bean,但无法找到

java - Kubernetes 服务节点端口不工作

java - Spring 启动 : Handler dispatch failed; nested exception is java. lang.NoSuchMethodError

http - "service injection"是否有软件工程概念/模式?

java - 模板中的 Spring IOC 嵌套 bean 覆盖属性值

azure - 从 Internet 访问 Service Fabric

azure - 具有状态参与者的地理映射

java - 类路径中的 logback.xml 与logging.config一起执行 环境参数 spring boot