您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[阿里巴巴]:阿里云Well-Architected卓越架构白皮书 2023.06 - 发现报告

阿里云Well-Architected卓越架构白皮书 2023.06

2023-09-26-阿里巴巴J***
AI智能总结
查看更多
阿里云Well-Architected卓越架构白皮书 2023.06

阿里云卓越架构臼皮书盓罕盓罚~dFramework 巨l前言 01 安全合规04 回 1、安全设计原则052、安全风险识别和检测073、安全防护084、监控和分析155、响应和恢复17 稳定性19 目 1、责任共担模型202、设计原则213、设计方案22 曰成本优化 30 1、设计原则312、云上成本管理32 国卓越运营 44 1、卓越运营设计原则452、设计阶段463、构建阶段494、运营阶段55 团高效性能 56 1、架构设计572、性能测试623、性能监控644、性能优化66 臣结束语 69 _ 一.前言INTRODUCTION 相比千传统IDC环境,云计算的基础设施和服务在不断快速迭代和演进,对云用户而言,在上云、用云、管云过程中持续维持良好的云上架构变得极具挑战。对云上应用来说,稳定、安全、性能、成本是架构设计中最通用领域的抽象,也是组织层面最需要关注的几个维度。基千多年服务各行各业客户的经验总结,我们将阿里云上的架构设计最佳实践总结为一系列的方法论和设计原则,形成阿里云卓越架构框架(AlibabaCloudWell-ArchitectedFrame-work),以帮助云用户构建良好直至卓越的云上架构。 阿里云卓越架构包含以下五个架构最佳实践支柱: ♦安全合规 识别企业内部、外部的安全要求和监管诉求,在云环境中针对网络安全、身份安全、主机安全、数据安全等全方位地进行规划和实施,同时持续对威胁进行检测和快速响应。 ♦稳定性 无论在何种环境都无法避免单个组件故障的发生。稳定性的目标就是要尽量降低单个组件故障对业务带来的整体影晌。该支柱侧重千如何让业务系统利用现代云平台的基础设施达到高可用,做到面向失败设计,具备—定容灾性的能力。同时把控应用系统的变更流程、部署架构、配置规范等,制定企业应用治理规范,设定应用层面的治理标准。 ♦成本优化 通过技术手段了解云资源的成本分布,帮助企业平衡业务目标与云上成本,通过充分高效使用云服务来构建业务应用,尽可能提升云环境和业务需求之间的契合度,通过持续优化来避免资源浪费,减少不必要的云上开支并提升运营效率。 ♦卓越运营 侧重千应用研发态、运行态相关工具与系统的构建和使用,同时也需要考虑组织内如何对应用、工作负载、资源、事件等进行响应,定义日常操作流程,指引企业构建自己的运营模型。 ♦高效性能 根据性能监控指标自动触发弹性伸缩能力,通过云平台的资源储备应对流量高峰,建立完备的可观测性体系协助定位性能瓶颈。通过性能测试手段建立性能基线,验证架构设计目标并持续优化。 基千这五大支柱,卓越架构提供相应的设计原则和最佳实践,以及可落地的方案。同时,卓越架构还提供了免费的架构评估工具和度量模型,来评估当前架构设计与期望值的差距,并提供相应的改进指引和方案。在设计和实施过程中,阿里云提供了专家服务和认证的合作伙伴,协助架构的演进。 阿里云卓越架构框架面向的是首席技术官(CTO)、架构师、运维、安全、研发等角色。通过了解卓越架构中定义的最佳实践和解决方案,组织中的这些职能角色能够不断的将应用架构和卓越架构中的最佳实践进行比较,并不断进行架构的迭代和改进,从而降低风险、控制成本、提升效率,为业务的高速发展提供坚实的基础。 _ 二安全合规SECURITY 安全管理的目的是风险管理,识别企业内部、外部的安全要求和监管诉求,在云环境中针对网络安全、身份安全、主机安全、数据安全等全方位地进行规划和实施,同时持续对威胁进行检测和快速晌应。 云安全的责任模型是共担的责任模型,基千云的客户应用,云供应商要保障云平台自身安全并提供相应的安全能力和产品给云上的客户。客户则负责基千云供应商提供的服务或原子化能力构建保障应用系统或业务的安全体系。 勹勹安全设计原则 安全需要设计和规划,应在构建基千云或本地数据中心的的同时,建设安全系统和相关控制措施,建立配套安全管理流程和机制,建立安全意识管理体系等。将技术控制措施、管理流程、人员组织配套融入云基础设施的构建、业务开发,应用上线和日常运营当中。 整体建议如下 ·评估当前企业战略目标和云业务一致性。·通过咨询和风险评估工具的方式评估当前云计算环境下风险的类别,发生的可能性和影响。·评估架构风险,管理风险以及合规风险。·参考方法论建设安全体系,包括参考框架,技术控制措施和运营机制。·建立安全运营体系持续识别风险,推动安全框架的更新迭代和技术控制措施的优化。 通用的安全设计原则有 数据安全保护原则 最小化原则 安全最小化原则是最基本的原则之—,对外提供的服务越少,安全风险越小。其中包含网络最小化原则、身份最小化原则、权限最小化原则。 企业应结合实际应用和业务特性,有意识的建立数据分类分级制度和体系,通过相关技术控制手段对权限、访问途径进行管理,并保护数据在存储和传输过程中的安全。 合规性原则 审计可追溯原则 尽可能确保所有来自用户端的访问请求留有审计记录,以便于在发生网络攻击事件时,能够通过云资源操作日志、云资源访问日志以及变更日志还原攻击事件,追溯攻击过程,帮助企业判断和定位攻击事件的等级、影晌和损失。 企业基千阿里云基础设施构建的业务系统和对外提供的服务,应充分考虑当地的法律法规要求。在安全架构设计过程中,应充分分析和理解法规要求,并标记能够满足法规要求的相关技术控制措施,和管理控制措施。 勹2安全风险识别和检测 安全风险识别和检测包含以下4个维度,通过梳理企业客户上云面临的整体风险,才能有针对性的对安全架构进行建议、检测和建设。 基础架构的风险识别和检测 云上基础架构包含了网络架构和身份体系,要评估和识别当前网络的架构设计方法,是否符合安全最小化原则和纵深防御原则。 云平台配置风险识别和检测 企业使用云产品创建的配置文件是否符合安全原则,需要进行识别和自动化检测,可基千云安全最佳实践和行业合规要求建立符合企业自身的“云安全基线”也被称之为“Baseline",通过标准识别和检测上云风险。 资产脆弱性的风险识别和检测 云上的资产可分为工作负载(ECS、容器、Serverless)、基础网元(EIP、NAT、SLB等)、应用(Paas服务、域名、镜像等),面对资产的脆弱性(包含资产基线和资产漏洞)应该进行事前的风险识别和检测,并进行维护。 合规风险的识别 合规包含了外部合规和内部合规。外部合规指的是面向监管的合规,内部合规指的是面向内部审计、管理的合规。 `安全防护 3.1账号规划 云账号是最基本的资源管理单元,它是云资源的计量、计费及资源归属的基本主体。云账号不仅是资源的容器,也是资源安全隔离的边界。一个云账号对应了云上的一个租户,租户不能访问相互之间未授权的系统资源。借助该特性,建议为不同应用的不同环境创建单独的云账号,用千区分需要完全隔离的IT环境或系统。在发生安全间题时,能够有效缩小爆炸半径,降低故障影晌面。 因此建议在上云初期,就参考阿里云云采用框架CAF(Cloud AdoptionFramework)进行体系化的上云规划,搭建Landing Zone环境。无论是初次上云还是已经上云的客户,都可以通过阿里云云治理中心(CloudGovernanceCenter)快速搭建符合阿里云最佳实践的多账号上云环境。 3.2身份和访问控制 在整体的云上安全架构设计中,身份和访问控制是云计算环境下非常重要的安全措施,良好的身份和权限的设计,能够确保只有授权的身份才能够在指定的条件下访间对应的云资源。它涉及到识别用户和身份(身份验证),确定该身份可以访间哪些资源(授权),以及审计相应身份的访间和操作记录(监控和审计)。 ♦身份管理 身份是指在云环境中执行操作的实体。云上主要有两种身份类型:人员身份和程序身份。人员身份通常代表组织中的个人,比如企业中的安全管理员、运维管理员、应用开发者。通常通过阿里云的控制台、CLI、特定场景下的客户端等方式对云上的资源进行操作。 人员身份的管理有以下最佳实践: 在阿里云官网注册阿里云账号后,即可通过用户名和密码的方式登录到阿里云控制台,登录成功后,即获得了Root身份。该身份具有该账号下所有的权限,一旦账号密码泄漏,风险极高。应该尽可能的使用阿里云访问控制RAM(ResourceAccessManagement)身份进行云上资源的访问。 避免使用Root身份 实现人员身份的统一认证 通过集中化的身份提供商(IdentityProvider,简称ldP)来进行人员身份的统一认证,能够简化人员身份的管理,确保组织内在云上、云下的人员身份的—致性。阿里云支持基于SAML2.0协议的单点登录(SingleSignOn,简称550)。在阿里云上,我们建议通过云550或RAM 550的方式跟组织内的ldP进行集成,实现人员身份的统—认证。 建立更安全的登录机制 对于人员身份来说,保护好登录凭证(如用户名和密码)能够有效降低身份泄漏风险。可以从以下几种方式提升登录方式的安全性:提升密码强度、避免混用凭证、定期轮转密码、设置多因素验证。 程序身份则代表应用程序或服务,往往是通过阿里云的OpenAPI来访问云上的资源和数据。程序身份的管理有以下最佳实践: 云账号AccessKey等同千阿里云账号的Root权限,—旦泄漏风险极大。对于程序访间的场景,请使用RAM用户的AccessKey来进行阿里云API的调用。 不使用云账号AccessKey 多种身份共用AccessKey,容易导致权限扩大,同时,—处泄漏会导致所有应用都受到影响,风险敞口扩大。因此,不同应用、不同环境都需要避免共用AccessKey。 避免共用AccessKey AccessKey创建和使用时间越长,泄漏的风险越高。通过定期替换旧Access Key的方式实现轮转。在阿里云上,可以通过阿里云密钥管理服务KMS(KeyMan-agementService)的凭据管家功能,实现自动化的定期AccessKey轮转。 定期轮转AccessKey 使用临时凭据代替固定凭据 通过给RAM用户或云账号的Root身份创建AccessKey供程序调用,都属于固定凭据类型。在阿里云上,我们建议尽可能通过角色扮演的方式获取临时凭据STSToken,代替固定AccessKey的使用,降低因固定凭据存在周期长导致的泄漏风险。 ♦权限管理 云上的权限管理是为了控制某个身份在什么条件下对哪些资源能够执行哪些操作。云上的权限管理的核心原则就是权限最小化,只给身份授予必要的权限,确保权限最小够用。基千该原则,针对不同的身份类型,在阿里云上有以下最佳实践可以参考。 人员身份的权限管理有以下最佳实践: 针对人员所属职能(如管理员、运维、安全等)进行权限划分,并进行权限的抽象,简化授权过程,降低管理成本。在对职能权限进行抽象后,可以通过将人员身份加入到指定职能用户组的方式进行组织,提升授权效率。 基千人员职能进行授权 在云上,建议通过阿里云账号或资源组两种方式,区分不同业务应用的资源。在资源合理分类的基础上,按照人员所管理的业务应用对应的资源范围进行授权,能够简化授权逻辑,提高权限策略复用率,进而在权限最小化和管理效率中取得平衡。 按资源范围授权 针对程序身份,建议进行精细化授权。除一些特定业务场景外,应用程序所需要访问的阿里云资源,对应进行的操作是可以预期的,尽可能的通过自定义权限策略来定义该程序身份所需要的最小权限。 另外,对千两种身份的权限管理,建议: 定期审查权限 关注特权身份和闲置权限,确保每个身份的权限持续满足最小够用原则。 设置权限边界 多账号场景下,通过管控策略,限制成员账号内的RAM身份权限范围,禁用一些高危操作降低身份泄漏风险。 3.2基础设施安全 ♦网络安全保护 网络安全防护中最重要的原则就是零信任。无论是云上和云下,还是VPC与VPC之间,以及VPC内部的流量,都需要设计系统化的安全防护方案。相关的设