云安全中的共享责任模型定义了云提供商及其客户之间如何划分安全任务。 简单来说,提供商负责保护底层基础设施(如数据中心、硬件和虚拟机监控程序),而客户则负责保护他们在云*中*部署的内容,例如应用程序、数据和访问控制。 这种划分因服务模式(IaaS、PaaS、SaaS)而略有不同,但核心思想仍然是:安全是一项共同努力,而不是一方的工作。 例如,AWS、Azure 和 Google Cloud 都遵循此模型,但确切的责任会根据您使用的服务而转移。
让我们用具体的例子来分解一下。 在基础设施即服务 (IaaS) 设置中,云提供商管理物理安全、网络基础设施和虚拟化层。 然而,客户必须保护存储在虚拟机上的操作系统、应用程序和数据。 如果开发人员在 AWS EC2 上部署 VM,AWS 确保服务器硬件受到保护,但开发人员必须修补操作系统、配置防火墙并加密敏感数据。 对于平台即服务 (PaaS) 产品(如 Azure App Service),提供商会接管更多层(运行时、中间件),从而使客户可以专注于应用程序代码和数据安全。 这里常见的错误是假设提供商会处理一切——例如,如果由于配置错误的访问规则而导致 Google Cloud SQL 中的数据库可以公开访问,则这是客户的责任,而不是 Google 的。
开发人员在维护模型的自身责任方面发挥着关键作用。 云提供商提供 IAM 策略、加密服务和网络安全组等工具,但开发者需要有效地使用它们。 例如,为用户帐户启用多重身份验证,使用 AWS KMS 加密静态数据,或设置 VPC 以隔离资源都是客户的责任。 忽略这些可能会导致违规,例如配置错误的权限导致臭名昭著的 S3 存储桶泄漏。 只有当双方都尽自己的一份力量时,该模型才能发挥作用:提供商保护基础,而开发人员保护他们在其之上构建的内容。 了解这种划分是避免漏洞和确保端到端安全的关键。