개발자들은 AWS CodeCommit을 사용하여 피처 브랜치와 풀 리퀘스트로 변경 사항을 main 브랜치에 병합합니다. 이들은 main 브랜치에 직접 푸시하는 것이 허용되지 않아야 합니다. 개발자들에게는 현재 모든 리포지토리의 main 브랜치에 직접 푸시하는 것을 허용하는 AWSCodeCommitPowerUser 관리형 정책이 부여되어 있습니다. 회사는 개발자들이 main 브랜치에 직접 푸시하는 것을 어떻게 막을 수 있을까요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: GitPush 및 PutFile 작업에 대한 명시적인 Deny를 포함하는 추가 IAM 정책을 연결하고, 특정 리포지토리로 범위를 지정하며, 대상 브랜치가 main 브랜치일 때 적용되도록 조건을 설정합니다..
이것이 정답인 이유
주어진 시나리오에서 개발자들은 AWSCodeCommitPowerUser 관리형 정책을 통해 main 브랜치에 직접 푸시할 수 있는 권한을 가지고 있습니다. 이 동작을 방지하려면 명시적 거부(Explicit Deny)를 포함하는 추가 IAM 정책을 연결해야 합니다. IAM 정책 평가 로직에 따라 명시적 거부는 모든 허용(Allow)보다 우선합니다. 따라서 GitPush 및 PutFile 작업에 대한 명시적 Deny를 포함하고, 특정 리포지토리 및 main 브랜치에 대한 조건을 지정하는 정책을 연결하면 개발자들이 main 브랜치에 직접 푸시하는 것을 효과적으로 막을 수 있습니다. 다른 옵션들은 다음과 같은 이유로 적절하지 않습니다. 기존 정책을 제거하고 AWSCodeCommitReadOnly를 연결하는 것은 너무 제한적이며, 개발자들이 다른 브랜치에도 푸시할 수 없게 만듭니다. IAM 정책을 편집하여 Deny를 추가하는 것은 가능하지만, 기존 관리형 정책을 수정하는 것보다 별도의 정책을 연결하는 것이 권장되는 모범 사례입니다. GitPush 및 PutFile을 피처 브랜치로 제한하는 다른 정책을 추가하는 것은 main 브랜치에 대한 직접 푸시를 명시적으로 거부하지 않으므로, 기존의 허용 정책이 여전히 적용될 수 있습니다.
끝없는 정답 찾기 없이 시험 합격
이 시험에 대한 모든 검증된 문제와 설명을 한곳에서 얻고, 준비 시간을 몇 시간 절약하세요. 1,000개 이상의 자격증 · 20개 이상의 언어 · 무료로 시작.
더 빠르게 시험 합격 → 카드 필요 없음