设计安全的架构
您将学到什么
在本领域中,您将学习对 AWS 资源的安全访问设计 (IAM 的角色和策略、AWS Organizations 的服务控制策略、AWS IAM Identity Center)、工作负载的保护 (安全组和网络 ACL、AWS WAF、AWS Shield、Amazon GuardDuty) 以及数据的保护 (通过 AWS KMS 加密、通信加密、S3 的访问控制)。本领域占计分内容的 30%,是 4 个领域中比例最高的领域。
要点
- IAM - 人员登录使用 IAM Identity Center,应用程序使用 IAM 角色的临时凭证,而不是长期有效的访问密钥
- 最小权限 - 策略限定为必要的操作和资源的 ARN,整个组织的权限上限由服务控制策略决定
- 网络 - 安全组是以实例为单位、只有允许的规则,网络 ACL 是以子网为单位、也能写拒绝的规则
- 边界防护 - Web 攻击用 AWS WAF,DDoS 攻击用 AWS Shield,威胁检测用 Amazon GuardDuty
- 加密 - 静态数据用 AWS KMS 的密钥,通信用 TLS (AWS Certificate Manager 的证书和 aws:SecureTransport 条件)
- 私有连接 - S3 和 DynamoDB 用网关端点,其他服务和本公司的服务用 AWS PrivateLink
术语与概念
IAM 角色与临时凭证
IAM 角色是向代入它的人员或服务提供有期限凭证的机制。EC2 使用实例配置文件,Lambda 使用执行角色,其他账户则使用通过信任策略允许代入的角色。与分发访问密钥的方法相比,泄露时的损害更小,在考试中也往往是正确答案。
服务控制策略 (SCP)
SCP 决定 AWS Organizations 组织中账户可使用权限的上限。即使是账户的管理员,也无法执行被 SCP 拒绝的操作。SCP 不是授予权限的机制,因此实际操作还需要通过 IAM 策略允许。
安全组与网络 ACL
安全组是附加到实例等资源上的防火墙,只写允许的规则,返回的通信会被自动允许。可以将其他安全组指定为来源,因此适合控制层与层之间的通信。网络 ACL 附加到子网上,按编号顺序评估允许和拒绝,返回的通信也需要明确允许。
AWS KMS 密钥的种类
AWS KMS 的密钥分为由用户创建、可自行管理密钥策略和自动轮换的客户托管密钥,以及由 AWS 服务为用户创建并管理的 AWS 托管密钥。如果有自行决定可使用的人员、细致追踪使用记录等要求,就选择客户托管密钥。
AWS WAF、AWS Shield 与 Amazon GuardDuty 的区分使用
AWS WAF 在 CloudFront 或 ALB 等的前端检查 HTTP 请求,阻止 SQL 注入和大量请求。AWS Shield 防御 DDoS 攻击,Standard 自动适用且免费,Advanced 附带向专门团队咨询和使用费补偿。Amazon GuardDuty 是分析日志、发现可疑通信和操作的服务,没有阻止的作用。
VPC 端点与 AWS PrivateLink
网关端点是只能用于 S3 和 DynamoDB 的免费机制,会在路由表中添加路由。接口端点使用 AWS PrivateLink,不经过互联网,以私有 IP 地址连接到许多 AWS 服务以及其他公司 VPC 中的服务。