Azure 最佳架构框架 - 安全- 自治
要进行整体架构设计,要对财务、人员、时间进行资源优先级排序。这些资源的限制都会在不同程度上影响到安全态势。给运维、技术配置企业级的策略,基于内部因素(业务需求、风险、资产评估)以及外部因素(安全基线、合规标准、威胁环境)。
在定义这些策略之前,要考虑到以下几点:
- 企业的安全态势是如何进行监控、审计、报告?
- 现有的安全时间是否在施行?
- 是否有新的安全合规要求?
- 是否有专门的行业、政府的合规要求?
在策略都确定好以后,持续提升这些标准将有效加强安全。确保安全态势不会随着时间而松懈,就要很好地做到审计、合规检测。
资源划分策略
资源划分的意思是将企业的资源进行一定的隔离。
一个最基本的资源划分就是进行网络隔离。这个方法不是很推荐,因为不同的技术团队可以会域业务用例和应用程序对接不上。另外就是,这样的隔离可能会是环境更复杂,尤其是针对本地的网络。这会降低工作效率,更糟糕的情况,会造成网络防火墙的大量exceptions。尽管网络控制应该是资源划分策略的一部分,但是网络隔离应该属于统一划分的策略。
一个有效的资源划分策略将引导所有的技术团队(IT、安全、应用程序)使用网络、应用程序、身份标识、或者其他的访问控制来进行持续性地资源访问隔离。
访问策略包括:
- 基于实际业务需求和应用程序需求,最小化运维摩擦
- 给攻击者增加攻击成本
- 将敏感负载和其他资源隔离开来
- 将将高曝光的系统隔离开来
- 监控一些潜在违反资源划分的运维数据,比如账户的使用情况,未知的流量。
以下是一些统一的策略:
4. 确保技术团队和业务评估风险一致性
5. 基于零信任原则,建立现代的企业边缘,基于身份、设备、应用程序。
6. 确保对遗留应用程序进行网络控制。
参考模型
基于以下的参考模型,设计企业的资源划分模型,以下模型体现了,如何将功能、资源、团队进行划分。
划分举例
核心服务划分
这些资源将企业共享的服务专门放在一起。共享服务比如:AD DS, DNS DHCP,跑在IaaS层面的系统管理工具。
其他划分
其他划分可以基于特定的种类包含资源分组。比如说,某个特定的负载或应用程序要放在一个单独的分区。可以基于应用程序生命周期进行分区或者子分区,比如开发、测试、生产。一些资源可以会交叉,比如应用程序,可以使用虚拟网络的生命周期。
功能和团队
以下是参考模型的主要功能,将功能、职责、团队进行映射。
- 策略管理团队:监控并施行企业内外部的合规要求,给不同的role配置不同的权限。
- 核心IT运维:管所有资源,有权限创建、更改、删除比如虚机、存储这样的资源。
- 网络团队:管所有的网络资源,确保企业的网络规划和业务需求、技术需求没有冲去,这些资源包括:虚拟网络、子网、NSG,承载虚拟网络设备的虚拟机。
- 资源角色权限:对于一些核心的服务、特权管理员需要赋予应用程序权限,比如,AD\DHCP\DNS\系统管理工具不需要其他额外的Azure 资源权限。如果你的企业模型需要这些人来管自己的虚拟机、存储等等其他资源,你也可以把虚机层面的权限发给这些角色。
- 安全运维:评估风险因素、找到潜在的问题、建议企业的管理层潜在的风险。
- IT运维:赋予权限创建、更改、删除这些资源、要基于企业的结构来进行组织划分
- 核心IT团队分组可以授权IT部门(一般是infra团队)权限去变更这些资源。
- 独立的资源团队或功能团队需要有权限控制本团队的所有资源(比如人事IT部门)
- 自治的DevOps团队不需要赋予所有资源的权限,因为这些资源是由应用团队进行赋权的,如出现紧急情况,可以使用服务管理员账户。
- 服务管理员:服务管理员角色只用于紧急情况。
安全管理组 management group
管理组可以跨订阅进行资源管理,以确保跨订阅的资源一致性和效率。
在这里,会先阐述一个示例模型。
我们建议管理组的配置一定要和企业的划分策略一致。