Amazon SOA-C02: 보안, ID 및 규정 준수 — 학습 가이드
다음의 일부입니다: AWS SysOps Administrator Associate SOA-C02 — 학습 가이드. 검증된 답안으로 연습하기: Amazon 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
이 도메인은 안전하고 규정을 준수하는 AWS 운영의 기반이 되는 ID, 암호화, 보안 암호 및 감사 기본 요소를 다룹니다. 올바른 액세스 권한 부여(최소 권한의 원칙), 키 관리 및 암호화를 통한 데이터 보호, 지속적인 규정 준수를 위한 불변의 감사 추적 생성에 중점을 둡니다. 일상적인 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 조건(aws:SourceIp, aws:RequestedRegion)을 사용하여 권한을 행사할 수 있는 위치와 방법을 제한합니다.
자격 증명 연동의 경우, STS를 통해 임시 자격 증명을 발급하기 위해 SAML/OIDC를 사용하는 것이 좋습니다. 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 공급자를 생성하고 클레임을 역할에 매핑합니다. 웹 ID 연동은 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로 자동 교체를 활성화합니다. 키 정책을 사용하여 키를 관리할 수 있는 사람을 정의하고, 광범위한 IAM 정책 대신 임시 액세스 위임을 위해 권한 부여(grant)를 사용합니다(aws kms create-grant).
결정 기준: 감사 및 키 수명 주기 제어(교체, 삭제 대기 기간)가 필요한 경우 CMK를 사용하고, 많은 관리형 서비스에서 자동화된 편의성을 위해 AWS 관리형 키를 사용합니다. IAM 정책 + 키 정책을 강제하여 키를 보호하고, 교차 계정 사용을 위해 kms:ViaService 또는 KMS 권한 부여(grant)를 통해 사용을 제한하며, 즉시 삭제 예약을 피하고 최소 대기 기간을 사용합니다. 비정상적인 사용을 탐지하기 위해 CloudTrail 로그에서 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: 내장된 교체 기능, 보안 암호 버전 관리, 복제, 통합된 콘솔 교체 템플릿을 제공하며, 비용은 더 높지만 DB 자격 증명 및 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 경보와 결합합니다(Config 수정 조치 또는 Systems Manager Automation 문서 사용).
설계 결정: 표준 검사(S3 버킷 퍼블릭 읽기, 루트 계정 MFA)에는 Config 관리형 규칙을 사용하고, 도메인별 제어에는 사용자 지정 규칙(Lambda)을 사용합니다. Config 데이터를 집계기로 다중 리전 집계하고 AWS Organizations를 통해 다중 계정 기록을 활성화해야 합니다. CloudTrail 로그를 중앙 암호화된 S3 버킷(SSE-KMS)으로 전송하여 불변의 감사 추적을 유지하고, 비정상적인 API 활동을 위해 CloudTrail Insights를 활성화합니다.
데이터 보호, 전송 중 및 저장 데이터 암호화
암호화는 계층적으로 적용해야 합니다. 저장 데이터는 EBS, RDS, S3(SSE-S3, SSE-KMS 또는 SSE-C)에 대해 KMS 기반 암호화를 사용하고, 전송 중 데이터는 애플리케이션 트래픽에 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에 대해 자동 교체를 활성화하고, DB 자격 증명에는 Secrets Manager 교체 기능을 사용하며, CloudTrail을 통해 키 사용량을 모니터링하세요.
- 기본 S3 권한이나 ACL에 의존하는 경우: 버킷 정책을 적용하고, 퍼블릭 액세스를 차단하며, 민감한 데이터에는 SSE-KMS를 사용하세요. AWS Config 규칙으로 유효성을 검사해야 합니다.
- 키 정책과 IAM 정책을 잘못 사용하는 경우: KMS 키 정책에서 키 관리를 수행하고, 적절한 경우 권한 부여(grant)나 IAM을 통해 사용 권한을 부여하세요. Decrypt 권한을 광범위하게 부여하지 마세요.
- 중앙 집중식 로깅 및 다중 리전 집계를 잊는 경우: 교차 계정 규정 준수를 위해 CloudTrail 다중 리전 추적 및 Config 집계기를 설정하세요.
실용적인 문제: 사용 사례 시나리오
핀테크 기업인 AcmeFin은 계약업체에 임시 액세스를 제공하고 규정 준수 감사를 위한 감사 가능성을 유지하면서 프로덕션 데이터베이스와 API를 보호해야 합니다.
- 관리자, 앱, 계약업체 액세스를 위한 별도의 IAM 역할을 생성합니다. MFA를 강제하고 계약업체를 위해 SAML 기반 페더레이션에 IAM Identity Center를 사용합니다.
- 고객 관리형 CMK(aws kms create-key)로 RDS와 EBS를 암호화하고, 키 교체를 활성화하며, DB 및 감사 역할만 허용하는 엄격한 키 정책을 통해 키 사용을 제한합니다.
- 제공된 Lambda 교체 템플릿을 사용하여 자동 교체 기능이 있는 AWS Secrets Manager에 DB 자격 증명을 저장합니다.
- CloudTrail(다중 리전) 및 AWS Config 레코더를 활성화하고, 중앙 SSE-KMS 암호화 S3 버킷으로 로그를 전송하며, 퍼블릭 S3 및 암호화되지 않은 리소스에 대한 Config 규칙을 생성합니다.
- HTTPS를 위해 ACM에서 발급한 인증서와 함께 ALB를 사용하고, 적절한 경우 WAF 및 VPC 엔드포인트 뒤에 API를 배치합니다.
이 접근 방식은 역할 분리를 통해 최소 권한을 강제하고, 자격 증명 및 키 교체를 자동화하여 영향 반경(blast radius)을 줄이며, 로그 및 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.
시험 합격하기 →