文档首页/ 分布式消息服务Kafka版/ 最佳实践/ DMS for Kafka安全最佳实践
更新时间:2024-08-06 GMT+08:00
分享

DMS for Kafka安全最佳实践

安全性是华为云与您的共同责任。华为云负责云服务自身的安全,提供安全的云;作为租户,您需要合理使用云服务提供的安全能力对数据进行保护,安全地使用云。详情请参见责任共担

本文提供了使用DMS for Kafka过程中的安全最佳实践,旨在为提高整体安全能力提供可操作的规范性指导。根据该指导文档您可以持续评估DMS for Kafka资源的安全状态,更好的组合使用DMS for Kafka提供的多种安全能力,提高对DMS for Kafka资源的整体安全防御能力,保护存储在DMS for Kafka内的数据不泄露、不被篡改,以及数据在传输过程中不泄露、不被篡改。

本文从以下几个维度给出建议,您可以评估DMS for Kafka的使用情况,并根据业务需要在本指导的基础上进行安全配置。

通过访问控制,保护数据安全性

  1. 建议对不同角色的IAM用户仅设置最小权限,避免权限过大导致数据泄露或被误操作。

    为了更好的进行权限隔离和管理,建议您配置独立的IAM管理员,授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组,用户组对应不同的数据访问场景,通过将用户添加到用户组并将IAM策略绑定到对应用户组,IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限,详情请参见权限管理

  2. 建议配置安全组访问控制,保护您的数据不被异常读取和操作。

    租户配置安全组的入方向、出方向规则限制,可以控制连接实例的网络范围,避免DMS for Kafka暴露给不可信第三方,详情请参见配置安全组。安全组入方向规则的“源地址”应避免设置为0.0.0.0/0。

  3. 建议将访问Kafka实例方式设置为密码访问(即开启SASL),防止未经认证的客户端误操作实例。
  4. 开启敏感操作多因子认证保护您的数据不被误删。

    DMS for Kafka支持敏感操作保护,开启后执行删除实例等敏感操作时,系统会进行身份验证,进一步对数据的高危操作进行控制,保证DMS for Kafka数据的安全性。详情请参见敏感操作

SSL链路传输加密方式访问DMS for Kafka

为了确保数据传输过程中不被窃取和破坏,建议使用SSL链路传输加密方式(即Kafka安全协议设置为“SASL_SSL”)访问DMS for Kafka。

不存储敏感数据

DMS for Kafka暂不支持数据加密,建议不要将敏感数据存入消息队列。

构建数据的恢复和容灾能力

预先构建数据的容灾和恢复能力,可以有效避免异常数据处理场景下数据误删、破坏的问题。

  1. 建议Topic配置多副本,获得异常场景数据快速恢复能力。

    Kafka实例支持配置Topic副本数量,配置多副本后Kafka实例会主动建立和维护同步复制,在实例某个broker故障的情况下,实例会自动将该节点上分区leader切换到其它可用的broker上,从而达到高可用的目的。

  2. 建议使用多个可用区构建数据容灾能力。

    Kafka集群实例支持跨可用区部署,支持跨可用区容灾。如果创建实例时选择了多个可用区,当一个可用区异常时,不影响Kafka实例持续提供服务。

审计是否存在异常数据访问

  1. 开启云审计服务,记录Kafka的所有访问操作,便于事后审查。

    云审计服务(Cloud Trace Service,CTS),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。

    您开通云审计服务并创建和配置追踪器后,CTS可记录Kafka的管理事件和数据事件用于审计。详情请参见查看Kafka审计日志

  2. 使用云监控服务对Kafka进行实时监控和告警。

    为使您更好地掌握Kafka实例状态,华为云提供了云监控服务(Cloud Eye)。您可使用该服务监控自己的Kafka实例,执行自动实时监控、告警和通知操作,帮助您实时掌握Kafka实例中所产生的请求、流量等信息。

    云监控服务不需要开通,会在您创建Kafka实例后自动启动。相关文档请参见Kafka支持的监控指标

使用最新版本SDK获得更好的操作体验和更强的安全能力

建议您升级SDK并使用最新版本,从客户侧对您的数据和Kafka使用过程提供更好的保护。最新版本SDK在各语言对应界面下载,请参见SDK概述

相关文档