Q3. AWS Organizations와 S3 버킷 정책을 활용한 효과적인 다중 계정 액세스 제어
AWS 자격증을 준비하는 여러분, 안녕하세요. 오늘은 AWS Organizations를 사용하여 여러 AWS 계정을 관리하는 기업 환경에서 S3 버킷에 대한 액세스를 효과적으로 제어하는 방법에 대해 알아보겠습니다. 이는 AWS Certified Solutions Architect - Associate 자격증 시험에서 자주 다루는 중요한 주제입니다.
문제 상황
Q3:
회사는 AWS Organizations를 사용하여 여러 부서의 여러 AWS 계정을 관리합니다. 관리 계정에는 프로젝트 보고서가 포함된 Amazon S3 버킷이 있습니다. 회사는 이 S3 버킷에 대한 액세스를 AWS Organizations의 조직 내 계정 사용자로만 제한하려고 합니다. 최소한의 운영 오버헤드로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?
A company uses AWS Organizations to manage multiple AWS accounts for several departments. The management account has an Amazon S3 bucket that contains project reports. The company wants to restrict access to this S3 bucket to only users of accounts within the AWS Organizations organization. Which solution will meet these requirements with the LEAST operational overhead?
선택지
A. 조직 ID에 대한 참조와 함께 aws:PrincipalOrgID 전역 조건 키를 S3 버킷 정책에 추가합니다.
Add the aws:PrincipalOrgID global condition key to the S3 bucket policy with a reference to the organization ID.
B. 각 부서에 대한 조직 단위(OU)를 만듭니다. aws:PrincipalOrgPaths 전역 조건 키를 S3 버킷 정책에 추가합니다.
Create an organizational unit (OU) for each department. Add the aws:PrincipalOrgPaths global condition key to the S3 bucket policy.
C. AWS CloudTrail을 사용하여 CreateAccount, InviteAccountToOrganization, LeaveOrganization 및 RemoveAccountFromOrganization 이벤트를 모니터링합니다. 그에 따라 S3 버킷 정책을 업데이트합니다.
Use AWS CloudTrail to monitor CreateAccount, InviteAccountToOrganization, LeaveOrganization, and RemoveAccountFromOrganization events. Update the S3 bucket policy accordingly.
D. S3 버킷에 액세스해야 하는 각 사용자에 태그를 지정합니다. aws:PrincipalTag 전역 조건 키를 S3 버킷 정책에 추가합니다.
Tag each user who needs to access the S3 bucket. Add the aws:PrincipalTag global condition key to the S3 bucket policy.
정답 및 해설
정답: A
설명:
A 옵션이 정답입니다. aws:PrincipalOrgID 전역 조건 키를 S3 버킷 정책에 추가하는 것이 가장 효과적이고 운영 오버헤드가 적은 솔루션입니다. 이 방법을 사용하면 조직 내의 모든 계정에 속한 IAM 보안 주체(사용자 및 역할)만 S3 버킷에 액세스할 수 있도록 제한할 수 있습니다.
aws:PrincipalOrgID 조건 키는 요청을 수행하는 보안 주체가 지정된 AWS Organizations ID에 속하는지 확인합니다. 이를 통해 조직의 모든 AWS 계정에 대한 계정 ID를 일일이 나열할 필요 없이 간단하게 액세스를 제어할 수 있습니다.
예를 들어, 다음과 같은 S3 버킷 정책을 사용할 수 있습니다:
{
"Version": "2012-10-17",
"Statement": {
"Sid": "AllowPutObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::your-bucket-name/*",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": ["o-exampleorgid"]
}
}
}
}
이 정책은 지정된 조직 ID("o-exampleorgid")에 속한 모든 계정의 사용자가 버킷에 객체를 추가할 수 있도록 허용합니다.
다른 옵션들의 문제점:
B: aws:PrincipalOrgPaths는 다중 값 조건 키로, 사용이 더 복잡하고 각 부서별 OU 생성이 필요하여 운영 오버헤드가 증가합니다.
C: CloudTrail을 사용하여 이벤트를 모니터링하고 수동으로 정책을 업데이트하는 것은 복잡하고 오류가 발생하기 쉬운 프로세스입니다.
D: 각 사용자에게 태그를 지정하는 것은 많은 관리 작업을 필요로 하며, 사용자 수가 많을 경우 유지 관리가 어려워집니다.
결론
결론적으로, aws:PrincipalOrgID 전역 조건 키를 사용하는 것이 가장 효율적이고 확장 가능한 솔루션입니다. 이 방법은 최소한의 운영 오버헤드로 조직 내 모든 계정의 사용자에 대한 액세스를 쉽게 제어할 수 있게 해줍니다. AWS Certified Solutions Architect로서, 이러한 효율적인 액세스 제어 방법을 이해하고 적용하는 것이 중요합니다.
댓글
댓글 쓰기