1. AWS数据安全与访问控制全景
在开始学习任何一项 AWS 安全能力之前,先建立一张“全景地图”至关重要。AWS 的数据安全与访问控制并不是单一服务,而是一组围绕身份、权限、加密、审计与网络边界协同工作的机制。本章的目标是帮助读者理解课程整体结构、掌握几个贯穿全课程的核心概念、明确责任共担模型下“谁负责什么”,并完成实验环境的准备,为后续动手实践打好基础。
课程目标与学习路径
本课程围绕一条主线展开:谁(身份)在什么条件下(策略与上下文)可以对哪些资源(数据)执行什么操作(动作),以及如何验证与审计这些操作。围绕这条主线,课程分为四个阶段:
- 基础认知阶段:责任共担模型、IAM 核心概念、根用户与账户安全。
- 权限控制阶段:IAM 用户/组/角色、策略语法与评估逻辑、权限边界、临时凭证与 STS。
- 数据保护阶段:S3 与 EBS/RDS 的加密、KMS 密钥管理、密钥策略与授权、传输加密。
- 审计与治理阶段:CloudTrail、Config、Access Analyzer、日志保护与合规检查。
学习路径建议按“先身份、后数据、再审计”的顺序推进。原因是:几乎所有数据访问最终都要经过 IAM 授权判断,如果身份与策略模型不清晰,后续加密与审计的学习会缺乏判断依据。
核心概念速览
在 AWS 中,访问控制的判断由多个要素共同决定,理解它们之间的关系比记住单个服务名称更重要。下面这张图展示了从“请求发起”到“最终允许/拒绝”的核心判断链路,以及各要素在链路中的位置。
图中体现了几个必须牢记的原则:默认拒绝(没有显式允许即拒绝)、显式 Deny 优先(任何一条 Deny 都会覆盖 Allow)、以及多类策略叠加评估(SCP、资源策略、身份策略、权限边界、会话策略共同作用)。这些原则将在后续章节反复出现。
责任共担模型:谁负责什么
AWS 责任共担模型是理解云安全的起点。简单说:AWS 负责“云的安全”,客户负责“云中的安全”。但这条界线会随服务类型变化,需要具体分析。
| 层面 | AWS 负责 | 客户负责 |
|---|---|---|
| 物理设施 | 数据中心、机房、硬件、网络骨干 | 无 |
| 基础设施服务(如 EC2、EBS) | 虚拟化层、宿主机、存储硬件 | 操作系统补丁、安全组、IAM、数据加密、应用安全 |
| 托管服务(如 S3、RDS、DynamoDB) | 服务本身、底层补丁、可用性 | 数据分类、访问策略、加密配置、备份策略 |
| 身份与访问 | IAM 服务本身、STS、策略评估引擎 | 用户/角色设计、策略编写、密钥轮换、最小权限 |
需要特别注意的是:无论哪种服务,数据内容的分类、加密方式的选择、访问权限的授予,始终是客户的责任。这也是本课程重点所在。
实验环境准备
为了完成后续实验,建议准备一个专用的 AWS 账户或沙箱环境,并完成以下准备:
- 启用 MFA 保护根用户:根用户拥有最高权限,必须启用多因素认证,并避免日常使用。
- 创建管理员 IAM 用户或角色:不要用根用户做日常操作。建议创建一个具备 AdministratorAccess 的 IAM 用户,并同样启用 MFA。
- 开启 CloudTrail:在主要区域创建一条跟踪,记录管理事件,便于后续审计实验。
- 准备一个测试 S3 存储桶:用于加密、策略与访问分析实验。
- 创建一个 KMS 客户托管密钥:用于加密实验,观察密钥策略与授权。
- 安装并配置 AWS CLI:使用
aws configure配置访问密钥与默认区域。
下面是一段示例配置命令,用于验证 CLI 是否可用:
aws sts get-caller-identity
# 预期输出示例(示例值,非真实账户):
# {
# "UserId": "AIDAEXAMPLEUSERID",
# "Account": "123456789012",
# "Arn": "arn:aws:iam::123456789012:user/admin"
# }
贯穿全课程的三条主线
最后,用三条主线帮助你在后续章节中保持方向感:
- 身份主线:从根用户 → IAM 用户/组 → 角色 → 联邦身份,理解凭证如何获得、如何临时化。
- 权限主线:从策略语法 → 评估逻辑 → 权限边界 → SCP,理解“允许”与“拒绝”如何产生。
- 数据主线:从静态加密 → 传输加密 → 密钥管理 → 审计日志,理解数据在存储、传输、使用各阶段如何被保护。
掌握这张全景图后,后续每一章都将围绕其中某个节点深入展开。建议在学习过程中不断回到本章的链路图,确认自己当前所处的环节,以及它与上下游的关系。