加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 云计算 > 正文

云原生应用安全的技巧

发布时间:2022-08-27 12:36:35 所属栏目:云计算 来源:互联网
导读:保护云原生应用程序需要正确理解微服务向各种消费者公开的接口(边界)。需要在每个边界上应用适当的工具和机制,以实现适当的安全级别。正确保护运行应用程序的基础架构也非常重要。这包括保护容器映像、安全运行容器运行时以及正确配置和使用容器编排系统
  ​保护云原生应用程序需要正确理解微服务向各种消费者公开的接口(边界)。需要在每个边界上应用适当的工具和机制,以实现适当的安全级别。正确保护运行应用程序的基础架构也非常重要。这包括保护容器映像、安全运行容器运行时以及正确配置和使用容器编排系统 (Kubernetes)。
 
 
 
  微服务安全格局
  在前微服务时代,大多数应用程序都遵循 MVC 架构。今天,我们将这些称为单体应用程序。与此类应用程序相比,云原生应用程序是高度分布式的,如图 1 所示。
 
 
 
  图 1:单体应用与云原生应用
 
  单体应用程序通常有一个入口点。除此之外,除了数据库调用或类似的交互之外,一切都发生在一个进程中。相比之下,云原生应用程序的曝光表面要高得多。如图 1 所示,云原生应用程序通常具有多个通过网络进行通信的组件(服务)。任何给定组件的每个入口点都需要适当保护。
 
  保护应用程序边界
  让我们进一步详细说明应用程序边界并了解我们需要担心的实际边界。
 
  识别云原生应用程序中的通信边界
  典型的云原生应用程序的后端架构将包含多个业务域。每个业务领域都封装了一组微服务。以零售系统为例;订单处理和库存管理可以是两个拥有自己的微服务集合的业务领域。
 
  业务领域内的微服务将能够无边界地安全地相互通信。这在图 2 中显示为“域内东西向流量”。可以使用双向 TLS 实现该域内的安全通信。可以使用服务网格实现双向 TLS 。一种更轻量级的方法可能是传递由其中一个网关颁发的授权令牌。我们将在本文后面讨论这种方法。
 
 
 
  图 2:云原生应用架构
 
  跨业务域的微服务不应该能够自由地相互通信,除非它们被公开为 API 并明确允许通信。
 
  这在图 2 中显示为“域间东西向流量”。该业务域边界的概念在论文“基于单元的架构”中进一步解释。
 
  有一个清晰的边界将所有微服务与客户端应用程序(Web/移动应用程序)分开。这在图 2 中显示为“南北交通”。
 
  API 和 API 网关的使用来保护云原生应用程序
  接下来,让我们确定我们定义为 API 和微服务的内容。任何需要暴露在给定边界之外的微服务(或集合)都需要定义为 API。API 通常具有 OpenAPI、GraphQL、AsyncAPI 等规范。API 网关用于跨边界公开 API。API网关的主要任务如下:
 
  接受来自呼叫客户端的消息。
  确保客户端拥有正确级别的身份验证/授权。
  将消息转发到正确的目标(微服务)。
  如图 2 所示,API 网关保护南北通道以及域间东西通道的云原生应用程序。
 
  OAuth2.0 在保护云原生应用程序中的作用
  调用 API 的客户端需要先从令牌服务获取 OAuth2.0 访问令牌,然后才能与 API 对话。API 网关在允许访问目标之前验证令牌并确保它是由受信任的机构颁发的。这如图 3 所示。尽管获得对 API 的访问权很常见,但令牌的类型以及获取它们的方式会根据这些令牌的用例而有所不同。

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读