
# DMS for RabbitMQ安全使用建议
安全性是华为云与您的共同责任。华为云负责云服务自身的安全，提供安全的云；作为租户，您需要合理使用云服务提供的安全能力对数据进行保护，安全地使用云。详情请参见[责任共担](https://support.huaweicloud.com/resp-pcre/index.html?product=rabbitmq)。
本文提供了使用DMS for RabbitMQ过程中的安全最佳实践，旨在为提高整体安全能力提供可操作的规范性指导。根据该指导文档您可以持续评估DMS for RabbitMQ资源的安全状态，更好的组合使用DMS for RabbitMQ提供的多种安全能力，提高对DMS for RabbitMQ资源的整体安全防御能力，保护存储在DMS for RabbitMQ内的数据不泄露、不被篡改，以及数据在传输过程中不泄露、不被篡改。
本文从以下几个维度给出建议，您可以评估DMS for RabbitMQ的使用情况，并根据业务需要在本指导的基础上进行安全配置。
- [通过访问控制，保护数据安全性]
- [SSL链路传输加密方式访问DMS for RabbitMQ]
- [不存储敏感数据]
- [构建数据的恢复和容灾能力]
- [审计是否存在异常数据访问]
- [使用最新版本SDK获得更好的操作体验和更强的安全能力]
 #### 通过访问控制，保护数据安全性
1. **建议对不同角色的IAM用户仅设置最小权限，避免权限过大导致数据泄露或被误操作。**
   为了更好的进行权限隔离和管理，建议您配置独立的IAM管理员，授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组，用户组对应不同的数据访问场景，通过将用户添加到用户组并将IAM策略绑定到对应用户组，IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限，详情请参见[权限管理](https://support.huaweicloud.com/productdesc-rabbitmq/rabbitmq-pd-190828009.html)。
   
2. **建议配置安全组访问控制，保护您的数据不被异常读取和操作。**
   租户配置安全组的入方向、出方向规则限制，可以控制连接实例的网络范围，避免DMS for RabbitMQ暴露给不可信第三方，详情请参见[配置安全组](https://support.huaweicloud.com/rabbitmq_faq/rabbitmq-faq-180604024.html)。安全组入方向规则的"源地址"应避免设置为0.0.0.0/0。
   
3. **建议将访问RabbitMQ实例方式设置为密码访问，防止未经认证的客户端误操作实例。**
   RabbitMQ 3.8.35版本默认使用密码访问，RabbitMQ AMQP-0-9-1版本需要开启ACL访问控制功能，开启ACL权限控制后，生产消息和消费消息时，需要鉴权。
   
4. **开启敏感操作多因子认证保护您的数据不被误删。**
   DMS for RabbitMQ支持敏感操作保护，开启后执行删除实例等敏感操作时，系统会进行身份验证，进一步对数据的高危操作进行控制，保证DMS for RabbitMQ数据的安全性。详情请参见[敏感操作](https://support.huaweicloud.com/usermanual-iam/iam_07_0002.html)。
   
 
 #### SSL链路传输加密方式访问DMS for RabbitMQ
为了确保数据传输过程中不被窃取和破坏，建议使用SSL链路传输加密方式访问DMS for RabbitMQ。RabbitMQ 3.8.35版本需要开启SSL功能，RabbitMQ AMQP-0-9-1版本不支持SSL功能。
 #### 不存储敏感数据
DMS for RabbitMQ暂不支持数据加密，建议不要将敏感数据存入消息队列。
 #### 构建数据的恢复和容灾能力
预先构建数据的容灾和恢复能力，可以有效避免异常数据处理场景下数据误删、破坏的问题。
1. **建议使用RabbitMQ集群实例，获得异常场景数据快速恢复能力。**
   在生产环境中建议使用RabbitMQ集群实例，在实例某个broker故障的情况下，不影响RabbitMQ实例持续提供服务。
   
2. **建议使用多个可用区构建数据容灾能力。**
   RabbitMQ集群实例支持跨可用区部署，支持跨可用区容灾。如果创建实例时选择了多个可用区，当一个可用区异常时，不影响RabbitMQ实例持续提供服务。
   
 
 #### 审计是否存在异常数据访问
1. **开启云审计服务，记录RabbitMQ的所有访问操作，便于事后审查。**
   云审计服务（Cloud Trace Service，CTS），是华为云安全解决方案中专业的日志审计服务，提供对各种云资源操作记录的收集、存储和查询功能，可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。
   您开通云审计服务并创建和配置追踪器后，CTS可记录RabbitMQ的管理事件和数据事件用于审计。详情请参见[查看RabbitMQ审计日志](https://support.huaweicloud.com/usermanual-rabbitmq/rabbitmq-ug-180418002.html)。
   
2. **使用云监控服务对RabbitMQ进行实时监控和告警。**
   为使您更好地掌握RabbitMQ实例状态，华为云提供了云监控服务（Cloud Eye）。您可使用该服务监控自己的RabbitMQ实例，执行自动实时监控、告警和通知操作，帮助您实时掌握RabbitMQ实例中所产生的请求、流量等信息。
   云监控服务不需要开通，会在您创建RabbitMQ实例后自动启动。相关文档请参见[RabbitMQ支持的监控指标](https://support.huaweicloud.com/usermanual-rabbitmq/rabbitmq-ug-180413002.html)。
   
 
 #### 使用最新版本SDK获得更好的操作体验和更强的安全能力
建议您升级SDK并使用最新版本，从客户侧对您的数据和RabbitMQ使用过程提供更好的保护。最新版本SDK在各语言对应界面下载，请参见[SDK概述](https://support.huaweicloud.com/sdkreference-rabbitmq/rabbitmq-sdk-001.html)。
