한 회사가 AWS Organizations의 조직을 가지고 있습니다. DevOps 엔지니어는 조직의 다양한 OU에 속한 여러 AWS 계정을 유지 관리해야 합니다. 계정 내의 모든 리소스(IAM 정책 및 Amazon S3 정책 포함)는 AWS CloudFormation을 통해 배포됩니다. 모든 템플릿과 코드는 AWS CodeCommit 리포지토리에서 유지 관리됩니다. 최근에 일부 개발자가 조직의 일부 계정에서 S3 버킷에 액세스하지 못했습니다. 다음 정책이 S3 버킷에 첨부되어 있습니다. DevOps 엔지니어는 이 액세스 문제를 해결하기 위해 무엇을 해야 합니까?
- A. S3 버킷 정책을 수정합니다. S3 버킷의 S3 Block Public Access 설정을 해제합니다. S3 정책에서 aws:SourceAccount 조건을 추가합니다. 문제가 있는 모든 개발자의 AWS 계정 ID를 추가합니다.
- B. IAM 권한 경계가 개발자의 S3 버킷 액세스를 거부하지 않는지 확인합니다. IAM 권한 경계를 필요하게 변경합니다. 문제가 있는 개발자 계정에서 AWS Config 기록기를 사용하여 액세스를 차단하는 변경 사항을 되돌립니다. 수정 사항을 CodeCommit 리포지토리에 커밋하고, CloudFormation을 통해 배포를 실행합니다.
- C. 개발자 OU의 IAM 리소스 수정을 중단하는 SCP를 구성합니다. S3 정책에서 aws:SourceAccount 조건을 추가합니다. 문제가 있는 모든 개발자의 AWS 계정 ID를 추가합니다. 수정 사항을 CodeCommit 리포지토리에 커밋하고, CloudFormation을 통해 배포를 실행합니다.
- D. 개발자의 S3 버킷 액세스를 차단하는 SCP가 없는지 확인합니다. 개발자 IAM 사용자의 S3 버킷 액세스를 거부하는 IAM 정책 권한 경계가 없는지 확인합니다. CodeCommit 리포지토리에서 SCP와 IAM 정책 권한 경계를 필요하게 변경하고, CloudFormation을 통해 배포를 실행합니다.✓ 정답
해설
【핵심 용어】 ▸ SCP (Service Control Policy) — 조직 수준의 권한 제한 ▸ IAM Permission Boundary — IAM 사용자/역할의 최대 권한 한계 ▸ aws:SourceAccount — S3 정책 조건(SourceAccount는 S3 버킷 정책과 무관) 【정답 포인트】 ▸ 다중 계정 환경에서 S3 액세스 차단은 일반적으로 두 가지 원인: 1) SCP가 리소스 접근 차단 2) IAM Permission Boundary가 권한 제한 ▸ 문제를 진단하려면 두 가지 모두 확인해야 합니다. ▸ 변경 사항을 CodeCommit → CloudFormation으로 관리(IaC 원칙 준수) 【오답 체크】 (A) Block Public Access 해제는 보안 위험이고, aws:SourceAccount는 S3 버킷 정책과 무관합니다. (B) Config 기록기로 되돌리는 것은 복잡하고, SCP 확인이 빠졌습니다. (C) SCP로 IAM 수정 중단은 문제 해결과 무관하고, aws:SourceAccount 추가는 효과가 없습니다. (D) SCP + Permission Boundary 확인 + CloudFormation 배포 = 완전한 진단 및 수정 【시험 포인트】 다중 계정 S3 액세스 → SCP 확인 → Permission Boundary 확인 → IaC 배포