设计安全的架构
Design Secure Architectures
学习目标
- 能区分使用 IAM 用户、组、角色和策略,并用 STS 实现角色切换和跨账户访问
- 能用 Organizations、SCP、Control Tower 和 IAM Identity Center 设计多账户治理
- 能用公有/私有子网、安全组、网络 ACL、NAT 网关和 VPC 终端节点设计通信路径
- 能用 KMS、ACM、Secrets Manager、S3 加密与访问控制、备份和复制满足数据保护要求
要点
- 人员使用 IAM Identity Center(或与企业身份提供商联合),应用和服务使用 IAM 角色的临时凭证。尽量少用长期访问密钥,根用户要用 MFA 保护,不用于日常操作。
- IAM 策略评估中,显式拒绝始终优先;任何地方都没有允许的操作会被隐式拒绝。SCP 和权限边界设定的是“权限上限”,本身并不授予权限。
- 访问其他账户的资源有两种方式:代入(AssumeRole)目标账户中的角色,或在 S3 存储桶策略等基于资源的策略中允许对方。
- Web 服务器放在公有子网(或只让 ALB 公开),应用和数据库放在私有子网。私有子网访问互联网用 NAT 网关;不经过互联网连接 S3 或 DynamoDB 用网关 VPC 终端节点。
- 安全组是有状态的,只有允许规则;网络 ACL 是无状态的,可以写允许和拒绝规则,用于在子网级别拒绝特定 IP。
- SQL 注入和跨站脚本用 AWS WAF,DDoS 用 AWS Shield(Standard 自动且免费,Advanced 是付费的高级防护)。威胁检测用 GuardDuty,S3 敏感数据发现用 Macie,漏洞扫描用 Inspector。
- 静态加密用 KMS(用密钥策略控制谁能使用密钥,可开启自动轮换),传输加密用 ACM 证书实现 TLS。数据库密码用 Secrets Manager 自动轮换。
- S3 数据保护:阻止公有访问、存储桶策略、版本控制、对象锁定(WORM、保留期)、复制(复制到其他区域或账户)。用 AWS Backup 集中管理备份。
工作中的应用场景
- 财务存放发票 PDF 的 S3 存储桶阻止公有访问,并用 KMS 密钥加密。用对象锁定在法定保存期内防止删除或覆盖。
- 总务用 Organizations 统一管理各子公司的 AWS 账户,用 SCP 禁止使用东京和大阪以外的区域。员工用企业身份通过 IAM Identity Center 登录。
- 销售把销售支持系统的数据库密码存入 Secrets Manager 并自动轮换。应用通过 IAM 角色获取,代码里不写密码。
考试评估项目(来自考试指南)
- 1.1 Design secure access to AWS resources.
- 1.2 Design secure workloads and applications.
- 1.3 Determine appropriate data security controls.