云上IT基础设施的合规管理方法
本方案旨在给企业的安全/合规/运维团队提供一种云上IT基础设施的合规管理方案。首先为企业提供结合多方经验的合规制度实践方案,让企业快速找到云上合规的关注点,给合规监管工作找到抓手从而快速开展。然后为企业提供了便捷的产品能力,可以分钟级开启合规问题摸底和清扫,及时发现、修复不合规的问题。在云上长期的经营过程中,实现自动且持续的合规管理。
方案概述

企业将业务搬迁上云之后,IT管理相比IDC将发生巨大变化。首先要管理的机器规模从几百上千台变成几万数十万台,相应的运维管理人员也会变多,规模的扩张必然会带来管理的复杂性。而为了充分利用云的弹性和便利,变更会比云下更频繁,在IDC几个月才会发生一次采购扩容汰换等,在云上几乎每时每刻都在发生,更不用说高频变更的各种细节配置。而在这种客观运维状态下,不可能像云下那样用强审批流来管控,这就导致云上的管控动作是非常容易和“草率”的在进行的。这给运维的监管工作带来巨大挑战,面对云上海量的资产和高频的管理动作很难保证每一次变更都符合基本的合规和安全要求,这让云上IT系统潜藏诸多风险,如数据泄露、业务中断、成本溢出等等。
同时,云上的数据存储、网络搭建、安全防护设计都有了新的模式,这对企业的中心审计团队、合规团队、运维团队的监管工作提出新的要求。在云环境下,企业需要实施一种新的监管方案,能做到高效、及时、自动、持续的安全合规监管。及时发现问题、响应问题,从而规避可能存在的数据泄露、业务中断、成本溢出等IT管理风险。
本方案旨在给企业的安全/合规/运维团队提供一种云上IT基础设施的合规管理方案。首先为企业提供结合多方经验的合规制度实践方案,让企业快速找到云上合规的关注点,给合规监管工作找到抓手从而快速开展。然后为企业提供了便捷的产品能力,可以分钟级开启合规问题摸底和清扫,及时发现、修复不合规的问题。在云上长期的经营过程中,实现自动且持续的合规管理。
方案优势
集中配置合规策略
企业可以在资源管理主账号中统一维护符合企业合规规范的基线,并应用到云上各个业务账号。当策略发生变更可以很方便地在一处进行修改,并立即生效。
自动修复不合规资源
通过设置修正模板分钟级快速摸底海量资源的合规现状,摸排潜在风险。及时修复并采取防范措施,及早止损。
客户场景
沿续企业原有合规要求
场景描述
企业在上云之前往往就有遵循多年的合规基线,在企业上云时需要这些基线能照搬上云,让企业在云上得到跟云下同等的可控性和安全感。
适用客户
- 上云之前就已经有一套内部的合规规范
- 企业内部有独立合规团队的客户
- 存在中心化运维、审计团队的企业客户
企业内部运维问题
场景描述
企业使用云的过程中面对海量资源和复杂的云上配置,同时也面对着诸多潜在风险。这些风险一般都是源自松散的管理或监管不力,比如账号权限混乱、无资产清单、遗漏安全配置、手误做了错误的安全配置等等。企业需要一个章法、一个抓手和一个工具来摸排问题和解决问题。否则企业会面对未知的巨大的安全隐患,而且即便在问题发生之后也很难快速解决和有效规避。
适用客户
- 存在中心化运维、审计团队的企业客户
- 使用了多个阿里云账号的企业客户
- 集团型企业,但业务运维分散到各个业务团队
客户案例
客户背景
某海外能源公司X。在上云之前在IDC已经有一套企业内部的合规基线。公司对云上合规要求高
客户诉求
客户上云后IT管理相比IDC发生巨大变化,表现为IT规模变大、管理人员多、管理逻辑复杂、变更操作频繁、审批流弱化。面对海量云上资产很难保证每一次变更都符合合规要求,且不会带来安全隐患
客户在云下已经有沉淀多年并遵循多年的安全合规基线,希望能在云上实施同等的监管能力,持续监控违规情况的发生,从而保证运维的持续合规性,规避潜在风险,如数据泄露、业务中断、成本溢出等。
实施方案

企业中代表客观监管视角的安全/审计/合规团队一般会基于企业面对的外审和内控要求制定所需要的合规制度,然后会要求中心运维团队将该合规制度从一页纸变成系统中的合规能力,做到可扫描检测、合规结果可见、合规问题可跟进、部分红线问题可强制遵从等系统能力。最后各子业务在系统化的合规监管下进行安全可控的运维管理。
客户收益
- 借助阿里云提供的合规制度的实践经验,企业的安全/合规/运维团队快速制定云上合规制度,有章可循的开展安全合规治理的工作
- 分钟级快速摸底海量资源的合规现状,摸排潜在风险。及时修复并采取防范措施,及早止损
- 系统化的实现自动、强制且持续的合规监管体系
方案架构
合规制度的制定
本方案的核心主旨是指引您一个可行的路径和手段来实现合规管理,会详细描述如何在配置审计中设置规则、接收不合规告警、设置自动修复从而实现持续合规的系统能力。主要是介绍实施手段方案。
但在实施这些配置之前,企业需要先完成合规制度的设计。一般建议企业必须关注的基础合规领域为:账号权限合规、网络安全合规、数据安全合规和业务连续性合规。但在本方案中并不会对具体的合规制度设计做赘述,仅会列举如下的基础合规检查点供参考。后续将陆续提供每个合规领域的制度设计方案,详细解释为什么是这些合规检查的点,背后潜在的风险控制逻辑是什么,在每个领域拓展更多的检查项,以及具体每个合规规则应该如何配置。
以下列举每个领域需要关注的基础合规检查点:
- 账号权限合规
- 阿里云的Root账号和用户账号(RAM User)都应该在登录控制台时经过MFA认证
- 阿里云Root账号下不存在可用的AccessKey
- 除指定用户和角色外,不存在超级管理员权限
- 启用了强密码策略
- 除指定用户和角色外,不存在指定的高危权限
- 不存在超过90天未登录的僵尸用户
- 不存在同时具备控制台登录权限和可用AccessKey的用户
- RAM用户的AccessKey在指定时长内进行过轮换
- 开启账号操作的日志审计
- ...
- 网络安全合规
- 负载均衡开启了HTTPS监听
- 安全组设置了有限网段的准入
- 安全组未对全网段开放指定的风险端口
- CDN开启HTTPS传输加密
- 负载均衡实例为小性能保障型实例
- 计算和存储资源为专有网络类型实例
- 关系型数据库RDS实例未申请公网地址
- ...
- 数据安全合规
- 对象存储OSS Bucket为私有访问类型
- 对象存储OSS Bucket开启服务端静态存储加密
- 对象存储OSS Bucket开启同城冗余存储
- 关系型数据库RDS实例启用高安全白名单模式
- 关系型数据库RDS实例为访问白名单设置有限的IP网段
- 关系型数据库RDS实例开启TDE加密
- 开启数据访问日志审计
- ...
- 业务连续性合规
- 使用高可用的RDS实例
- 启用ECS、SLB、RDS等核心资产的释放保护开关
- 为核心计算、存储资产和数据启用快照、备份、恢复策略
- ...
架构图

关键流程
- 启用配置审计服务。
- 在配置审计服务中根据此前制定的合规制度启用相应的规则。
- 在配置审计服务中设置将不合规结果以日志形式推送到SLS。
- 在SLS中设置对不合规结果的告警,以短信/邮件方式接收。
- 为强合规要求的规则设置修复模板,以确保强制持续的合规。
产品费用及名词
产品费用
| 产品名称 | 产品说明 | 产品费用 | 
| 配置审计 | 配置审计(CloudConfig)是阿里云上的配置管理和IT治理服务。将您分散在各地域的资源整合为全局资源列表,您可以便捷地搜索全局资源。同时帮助您记录云上IT资源的配置变更历史,允许您将全量资源配置和配置历史文件持续收集到指定的存储空间。同时持续自动地评估云上资源配置的合规性,实现云上IT合规治理。 | 配置审计公测期间所有阿里云有效账号均可免费使用。但具体涉及到其他服务,详情计费参考链接 | 
| 日志服务 | 日志服务(SLS)是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升您在研发、运维、运营、安全等场景的数字化能力。在该方案中配置审计会把合规扫描后发现的不合规问题以日志方式推送给日志服务,在日志服务中可以进一步消费和分发这些不合规结果信息。 | 收费,详情参见产品计费。 | 
| 运维编排服务 | 运维编排服务(简称OOS)是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,也可提供重要运维场景的审批、通知等功能。在该方案中部分配置审计中的合规规则支持关联一个OOS的编排模板,相当于合规规则的不合规结果会触发OOS模板的自动执行,自动修复发现的不合规问题。 | 您可以免费使用OOS,但需要为您创建的执行内所涉及的云资源进行付费。阿里云资源计费方式,遵循各产品的计费规则。 | 
名词解释
| 名称 | 说明 | 
| 企业管理主账号 | 在企业拥有多个阿里云账号时,特指拥有管理其他账号资源权限的管理员账号。用于管理多账号,统一配置多账号身份权限,统一查看各云账号账单,统一配置审计规则并下发到各成员账号。 | 
安全性
本解决方案旨在提升企业客户云上合规安全。需要在企业管理主账号中分配操作用户配置审计的管理权限。权限点:
| 权限策略名称 | 权限策略说明 | 
| AliyunConfigFullAccess | 管理配置审计(Config)的权限 | 
当您开通配置审计服务时,需要给当前账号授权,使配置审计可以通过调用云服务的OpenAPI接口查询您账号下的资源信息。只有获取到资源配置数据,才能形成资源列表,进而对资源进行配置审计。
注意事项
- 配置审计目前正在努力覆盖阿里云的云产品和事件,但目前支持的产品和事件类型有限。
- 支持 33款阿里云产品的资源配置数据。请持续关注支持的产品列表
- 通常情况下,资源配置信息更新会在10分钟内完成,少数情况最长会在T+2完成数据同步。
- 配置审计目前为免费产品,但不排除未来企业需要为存储在配置审计中的资源快照付费。
- 配置审计目前限制每个阿里云账号下最多只能创建200条合规规则,您需要根据您的实际合规诉求选择需启用的规则
- 配置审计目前仅支持为规则设置官方提供的OOS修正模板,仅有少部分规则支持。后续将开放自定义修正的设置,可以为规则指定一个关联的FC函数,执行修正动作。
实施步骤
实施准备
- 确保已在「企业管理账号」中开通配置审计产品。
- 确保已将云上各业务账号统一放到「企业管理账号」中管理。
操作步骤
在配置审计服务中根据合规制度选择性创建规则/合规包
启用合规包
- 登录配置审计控制台。
- 在左侧导航栏,单击合规包。
- 在合规包页面,单击右上角的启用合规包。
- 在基本信息页面,设置合规包名称和风险等级,单击下一步。
- 在选择规则页面,从合规包模板、规则列表或托管规则中选择规则,单击下一步。
- 在规则设置页面,设置规则的名称、风险等级、描述和参数,单击完成。
新建规则
- 登录配置审计控制台。
- 在左侧导航栏,单击规则。
- 在规则页面,单击新建规则。
- 在新建规则页面,根据规则名称、标签、检测逻辑或风险等级筛选出目标托管规则。
- 单击应用规则。
- 在基本属性页面,设置规则名称、风险等级和备注,单击下一步。托管规则的名称、风险等级和触发机制均为系统默认。您可以根据所需修改规则名称和风险等级。
- 在评估资源范围页面,资源类型保持默认,单击下一步。
- 在参数设置页面,单击下一步。如果目标托管规则有规则入参,则需要设置其期望值。
- 在修正设置页面,单击下一步。对于支持修正设置的托管规则,您可以选中修正设置前面的复选框,根据控制台提示,设置修正方式、修正类型和修正参数。具体操作,请参见设置自动修正或设置手动修正。
- 在预览并保存页面,确认规则设置,单击提交。
- 查看规则新建结果。
- 单击查看规则详情,您可以查看当前规则的规则详情、检测结果和修正详情。
- 单击返回规则列表,您可以在规则列表中查看新建的规则,其运行状态为应用中。
在配置审计服务中设置将不合规结果以日志形式推送到SLS
- 登录配置审计控制台。
- 在左侧导航栏,选择投递服务 > 投递到日志服务SLS。
- 在投递到日志服务SLS页面,打开设置日志服务SLS开关。
- 设置资源投递数据的相关参数。资源投递数据的相关参数如下表所示。
| 参数 | 描述 | 
| 选择接收内容 | 选择日志服务SLS接收的资源投递内容。取值: 
 | 
| 日志项目地域 | 日志项目所在地域。 | 
| 日志项目名称 | 日志服务SLS中日志项目的名称。同一账号同一地域下,日志项目名称不能重复。 
 | 
| 日志库名称 | 日志服务SLS中日志库的名称。同一账号同一地域下,日志库名称不能重复。 
 | 
| 超大文件接收地址 | 配置审计向日志服务SLS投递的超大文件接收地址。 
 | 
说明 超大文件接收地址中的地域和账号根据接收内容和接收地址区域设置的参数自动生成,您只需选择目标存储空间。
在SLS中设置对不合规结果的告警
资源不合规事件示例
普通账号120886317861****中对象存储OSS的北京地域的存储空间test_bucket的不合规事件投递到日志服务SLS,内容示例如下:
accountId:120886317861****
annotation:{"configuration":"public-read","desiredValue":"read","operator":"NotStringContains","property":"$.AccessControlList.Grant"}
compliancePackId:null
complianceType:NON_COMPLIANT
configAggregatorId:null
configRuleInvokedTimestamp:1630481784685
dataType:NonCompliantNotification
evaluationResultIdentifier:{"orderingTimestamp":1630481784685,"evaluationResultQualifier":{"resourceId":"test_bucket","configRuleName":"OSS存储空间ACL禁止公共读","configRuleId":"cr-2d736457e0d90044****","captureTime":1630481784685,"resourceName":"test_bucket","configRuleArn":"acs:config::120886317861****:rule/cr-2d736457e0d90044****","regionId":"cn-beijing","resourceOwnerId":120886317861****,"resourceType":"ACS::OSS::Bucket"}}
eventName:NonCompliant
eventType:ResourceCompliance
invokingEventMessageType:Manual
notificationCreationTime:1630481787932
requestId:62e70b45-1171-4648-8db0-233d18f6adb5
resultRecordedTimestamp:1630481784781
resultToken:null
riskLevel:Critical参数说明
资源不合规事件投递到日志服务SLS的主要参数说明如下表所示。
| 参数 | 说明 | 
| accountId | 资源归属的账号ID。配置审计支持如下账号类型: 
 | 
| annotation | 资源不合规描述信息。 | 
| compliancePackId | 合规包ID。当规则不属于任何合规包时,该参数为null。 | 
| complianceType | 合规类型。取值为NON_COMPLIANT(不合规)。 | 
| configAggregators | 账号组信息,包括创建账号组的企业管理账号ID和账号组ID。根据资源归属账号类型不同,该参数显示如下: 
 | 
| configRuleInvokedTimestamp | 调用规则评估资源时的时间戳。关于时间戳的转换方法,请参见Unix时间戳 。 | 
| dataType | 日志服务SLS的接收内容。取值: 
 | 
| evaluationResultIdentifier | 资源合规评估的详细信息。 | 
| eventName | 事件名称。取值为NonCompliant(资源不合规事件)。 | 
| eventType | 事件类型。取值: 
 | 
| invokingEventMessageType | 规则的触发机制。取值: 
 | 
| notificationCreationTime | 创建通知的时间戳。关于时间戳的转换方法,请参见Unix时间戳 。 | 
| resultRecordedTimestamp | 资源评估结果的时间戳。关于时间戳的转换方法,请参见Unix时间戳 。 | 
| riskLevel | 规则风险等级。取值: 
 | 
SLS具体配置监控告警,查看链接
为强合规要求的规则设置修复模板
- 登录配置审计控制台。
- 在左侧导航栏,单击规则。
- 在规则页面,单击新建规则。
- 在新建规则页面,根据托管规则名称筛选出目标托管规则。
- 单击应用规则。
- 在基本属性页面,设置规则名称和风险等级,单击下一步。托管规则的名称、风险等级和触发机制均为系统默认。您可以根据所需修改规则名称和风险等级。
- 在评估资源范围页面,资源类型保持默认,单击下一步。
- 在参数设置页面,输入标签Key和Value的期望值,单击下一步。如果您需要检测多组标签,则可以依次填写Key和Value的期望值,最多支持检测6组标签。多组标签之间是与的关系,只有当目标资源同时绑定您设置的标签时,规则对资源的评估结果为合规。如果您需要实现或的关系,则请多次使用该托管规则新建多条规则。例如,您需要账号下所有资源均绑定标签“Project=A”,可以使用托管规则存在所有指定标签检测资源,当配置审计检测到资源未绑定该标签时,该规则对资源的评估结果为不合规。
- 在修正设置页面,单击修正设置对应的复选框,选择自动执行和逻辑编排,根据所需补充标签Key和Value的参数值,单击下一步。说明 标签Key和Value的参数值,即为修正设置的目标值。
- 在预览并保存页面,确认规则设置,单击提交。
- 查看修正结果。当通过该条规则检测的资源被评估为不合规时,配置审计触发修正模板运行,自动将资源配置修改为您设置的目标值。
- 在左侧导航栏,单击规则。
- 在规则页面,单击目标规则对应操作列的详情或规则名称/规则ID链接。
- 在目标规则的详情页面,单击修正详情页签。
- 在修正详情页签,您可以查看修正执行结果。
故障排除
为什么配置发生不合规的变更未被检测到?
如果规则的触发机制设置为配置变更,其触发原理如下:
当处于窗口期头和尾的两个资源配置快照呈现出不同时,配置审计首先对比出详细的差异,再针对这个对比结果进行审计。如果资源配置的变更和修复恰好处于窗口期,则配置审计无法感知变更,就无法触发对应的规则。
为什么设置的规则未被评估?
- 如果规则的触发机制为周期执行,则需要到固定的时间点才会评估。
- 如果规则的触发机制为配置变更,则您绑定规则后,被关联的资源需要发生配置变更才会触发规则。
您可以在规则详情页面,手动触发规则的重新审计,快速获得最新评估结果。
方案卸载
停用规则
当您暂时无需使用某条规则时,可以对其执行停用操作。您可以在规则列表中停用新建的规则和合规包中的规则。
前提条件
请您确保规则的运行状态为应用中。
普通账号
普通账号可以停用当前账号中的规则。
- 登录配置审计控制台。
- 在左侧导航栏,单击规则。
- 停用规则。
- 单个停用
- 在规则页面,单击目标规则对应操作列的 图标,选择停用规则。 图标,选择停用规则。
- 在确定停用规则?对话框,单击确定。
- 批量停用
- 在规则页面,选中目标规则对应复选框,单击 图标。 图标。
- 在批量停用对话框,单击确定。
- 查看规则状态。在规则页面,您可以通过筛选功能查看已停用的规则。规则停用后,不再执行,且显示停用前的合规评估结果。
企业管理账号
企业管理账号可以停用当前账号和所有账号组内成员账号中的规则。
- 登录配置审计控制台。
- 在左侧导航栏,单击规则。
- 在规则页面,单击目标账号组页签。
- 停用规则。
- 单个停用
- 在目标账号组页签,单击目标规则对应操作列的 图标,选择停用规则。 图标,选择停用规则。
- 在确定停用规则?对话框,单击确定。
- 批量停用
- 在目标账号组页签,选中目标规则对应复选框,单击 图标。 图标。
- 在批量停用对话框,单击确定。
- 查看规则状态。在目标账号组页签,您可以通过筛选功能查看已停用的规则。
删除合规包
当您无需通过某个合规包检查资源时,可以删除该合规包。删除合规包后,以合规包名称为前缀的规则将自动被删除,原有的检查结果和报告也将被删除。
普通账号
- 登录配置审计控制台。
- 在左侧导航栏,单击合规包。
- 在合规包页面,单击目标合规包名称对应操作列的删除。
- 在删除对话框,单击确定。
企业管理账号
- 登录配置审计控制台。
- 在左侧导航栏,单击合规包。
- 在合规包页面,单击目标账号组页签。
- 在目标账号组页签,单击目标合规包名称对应操作列的删除。
- 在删除对话框,单击确定。
存量迁移方案
对于存量账号可以直接将账号添加到企业管理账号中,就会应用由资源管理主账号下发的合规策略。
 
 
