Amazon SOA-C02: 安全、身份与合规性 — 学习指南
属于 AWS SysOps Administrator Associate SOA-C02 — 学习指南. 使用经过验证的答案练习: Amazon 考试中心, 或参加限时模拟考试: ExamRoll.io.
该领域涵盖了身份、加密、密钥和审计等基础元素,它们是安全合规的 AWS 运营的基石。其重点在于授予正确的访问权限(最小权限原则)、通过密钥管理和加密保护数据,以及为实现持续合规创建不可变的审计追踪。日常 SysOps 的职责包括设计 IAM 角色和信任边界、操作 KMS 密钥和机密信息,以及使用 AWS Config 和 CloudTrail 来检测配置漂移和策略违规。
IAM、角色、策略和联合身份
IAM 治理应从角色分离和最小权限开始:为管理、日志记录和应用程序工作负载使用不同的角色;避免将 AdministratorAccess 这样的宽泛策略附加到长期存在的主体上。创建带有信任策略的角色(控制台或 CLI:aws iam create-role –role-name AppRole –assume-role-policy-document file://trust.json),并使用 aws iam put-role-policy 或托管策略附加权限策略。使用权限边界和 IAM Conditions (aws:SourceIp, aws:RequestedRegion) 来限制在何处以及如何行使权限。
对于身份联合,优先选择 SAML/OIDC 通过 STS 颁发临时凭证。对于 SAML,在 IAM 中配置一个身份提供商,并使用 aws sts assume-role-with-saml –role-arn arn:aws:iam::123456789012:role/SAMLRole –principal-arn arn:aws:iam::123456789012:saml-provider/IdP。对于 OIDC(Cognito、Auth0 或其他提供商),创建一个 IAM OIDC 提供商并将声明 (claims) 映射到角色;Web 身份联合使用 aws sts assume-role-with-web-identity。当用户是外部用户或由中央目录服务管理身份验证时,选择联合身份角色;使用 AWS IAM Identity Center (SSO) 进行集中的企业访问和会话管理。
KMS、密钥管理和加密
KMS 是负责密钥生命周期和访问控制的核心服务。可以在 AWS 托管密钥(简单)、AWS 自有密钥和客户托管的 CMK(精细控制)之间进行选择。使用 aws kms create-key –description “CMK for prod” 创建 CMK,并使用 aws kms enable-key-rotation –key-id alias/ProdKey 启用自动轮换。使用密钥策略来定义谁可以管理密钥,并使用授权 (grants) 进行临时访问授权(aws kms create-grant),而不是使用宽泛的 IAM 策略。
决策标准:当需要审计和密钥生命周期控制(轮换、删除窗口)时,使用 CMK;为了在许多托管服务中获得自动化的便利,使用 AWS 托管密钥。通过强制执行 IAM 策略 + 密钥策略来保护密钥,通过 kms:ViaService 或 KMS 授权 (grants) 限制跨账户使用,并避免计划立即删除——使用最短的等待期。通过 CloudTrail 日志监控 KMS 的 Encrypt/Decrypt 和 GenerateDataKey 操作,以检测异常使用情况。
密钥管理和参数存储
使用 AWS Secrets Manager 进行凭证轮换和生命周期自动化,对于轮换是手动的更简单的密钥,则使用 Systems Manager Parameter Store (SecureString)。通过 aws secretsmanager create-secret –name prod/db –secret-string ‘{“username”:“app”,“password”:"…"}’ 创建密钥,并启用轮换,同时指定一个 Lambda 函数进行自动轮换。对于 Parameter Store,使用 aws ssm put-parameter –name /prod/db/password –value “…” –type SecureString –key-id alias/ProdKey。
决策要点:
- Secrets Manager:内置轮换、密钥版本、复制和集成的控制台轮换模板;成本较高,但更适用于数据库凭证和 API 密钥。
- Parameter Store SecureString:提供免费套餐用于基本密钥存储,使用 KMS CMK 进行加密,并使用 IAM 策略进行访问控制。 始终通过最小权限 IAM 策略限制对密钥的访问,并优先选择基于角色的访问(EC2/ECS/Lambda 执行角色),而不是将长期凭证嵌入代码或环境变量中。
AWS Config、审计和合规性监控
AWS Config 提供持续的资源记录、变更历史和规则评估。启用一个记录器和交付通道(控制台或 aws configservice start-configuration-recorder),并使用 aws configservice put-config-rule 创建托管规则或自定义规则。将 Config 与 CloudTrail (aws cloudtrail create-trail –name audit –s3-bucket audit-bucket) 和 CloudWatch Alarms 结合使用,以实现近乎实时的检测和修复(使用 Config 修复操作或 Systems Manager Automation 文档)。
设计决策:对标准检查(S3 存储桶 public-read、根账户 MFA)使用 Config 托管规则,对特定领域的控制使用自定义规则 (Lambda)。确保将多区域的 Config 数据聚合到一个聚合器中,并通过 AWS Organizations 启用多账户记录。通过将 CloudTrail 日志发送到集中的、加密的 S3 存储桶 (SSE-KMS) 来保留不可变的审计追踪,并启用 CloudTrail Insights 以检测异常的 API 活动。
数据保护、传输中加密和静态加密
加密应分层应用:对 EBS、RDS、S3 使用由 KMS 支持的静态加密(SSE-S3、SSE-KMS 或 SSE-C),对应用程序流量使用 TLS 进行传输中加密(使用 ACM 获取公有/私有证书,并将其附加到 ALB/NLB 侦听器:aws elbv2 create-listener –load-balancer-arn … –protocol HTTPS –port 443 –certificates CertificateArn=arn:aws:acm:…)。在需要额外控制的情况下使用客户端加密,并在加密超出 KMS 配额的大量数据时,考虑使用 GenerateDataKey 进行信封加密。
应用以下决策标准:
- 当需要审计和密钥访问控制时,对 S3 对象使用 SSE-KMS;对于基本的服务器端加密,SSE-S3 即可。
- 当需要密钥轮换和跨账户访问控制时,对 EBS 和 RDS 使用 KMS CMK。
- 始终为服务终端节点强制使用 TLS;在负载均衡器中使用 HSTS 和强密码套件。使用 VPC 终端节点和 IAM 策略来减少数据平面 API 的公网暴露。
常见陷阱与决策标准
- 过度使用根账户或存储根凭证:应创建启用 MFA 的管理员角色,并使用 AWS SSO 或 IAM 角色执行日常任务;将根凭证锁定在安全的保管库中并启用 MFA。
- 依赖长期有效的访问密钥:应定期轮换密钥,或通过 STS 和角色链(EC2/ECS/Lambda 角色)使用临时凭证来完全替代它们。
- 不轮换或不当保护 KMS 密钥和秘密:在适当情况下为 CMK 启用自动轮换,使用 Secrets Manager 为数据库凭证进行轮换,并通过 CloudTrail 监控密钥使用情况。
- 依赖默认的 S3 权限或 ACL:应强制执行存储桶策略,阻止公有访问,并对敏感数据使用 SSE-KMS;通过 AWS Config 规则进行验证。
- 混淆使用密钥策略与 IAM 策略:应在 KMS 密钥策略中管理密钥的管理权限,并在适当时通过授权(grants)或 IAM 授予使用权限;避免广泛授予 Decrypt 权限。
- 忘记集中式日志记录和多区域聚合:应设置 CloudTrail 多区域跟踪和 Config 聚合器,以实现跨账户的合规性。
实践问题:用例场景
AcmeFin 是一家金融科技公司,需要保护生产数据库和 API 的安全,同时为承包商提供临时访问权限,并为合规性审计保持可审计性。
- 为管理员、应用程序和承包商访问创建独立的 IAM 角色;强制执行 MFA,并为承包商使用 IAM Identity Center 进行基于 SAML 的联合身份验证。
- 使用客户管理的 CMK (aws kms create-key) 加密 RDS 和 EBS,启用密钥轮换,并通过严格的密钥策略限制密钥使用,仅允许数据库和审计角色使用。
- 将数据库凭证存储在 AWS Secrets Manager 中,并使用其提供的 Lambda 轮换模板实现自动轮换。
- 启用 CloudTrail(多区域)和 AWS Config 记录器,将日志发送到中央的、经 SSE-KMS 加密的 S3 存储桶,并为公有 S3 和未加密资源创建 Config 规则。
- 使用带有 ACM 颁发的证书的 ALB 以实现 HTTPS,并在适当时将 API 置于 WAF 和 VPC 端点之后。
这种方法通过角色分离强制执行最小权限原则,通过自动轮换凭证和密钥来减小爆炸半径,并集中化日志和 Config 评估,以便审计员可以验证控制措施,同时运维团队仍能保持安全的临时访问模式。
← 部署、预置与自动化 · 所有领域 · 网络与内容分发 →
练习这些题目 → · 在 ExamRoll.io 上限时练习 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通过考试 →