구글 클라우드 스토리지(GCS)에 있는 이미지나 파일을 외부에 공개하려고 allUsers 권한을 주려는데, 갑자기 빨간색 에러가 뜨면서 막히는 경험 해보셨나요?
분명 하라는 대로 Storage Object Viewer 권한을 줬는데도, 아래와 같은 에러 메시지가 뜨면서 저장이 안 될 때가 있습니다.
IAM policy update failed The 'Domain Restricted Sharing' organization policy (constraints/iam.allowedPolicyMemberDomains) is enforced. Only principals in allowed domains can be added as principals in the policy.
심지어 구글링을 해서 설정을 바꿨는데도 "어? 왜 여전히 안 되지?" 하고 당황하실 수 있는데요. 오늘 그 이유와 100% 해결하는 순서를 비개발자도 따라 할 수 있게 정리해 드립니다.
특히 **중간에 꼭 지켜야 하는 '마법의 시간'**이 있으니 끝까지 확인해 주세요!
1. 원인이 무엇인가요?
이 에러는 우리 회사(조직)의 보안 정책 때문에 발생합니다.
구글 클라우드는 기본적으로 **"회사 도메인(@company.com)이 아닌 외부 사람(@gmail.com 등)은 프로젝트에 초대를 못 하게 막자!"**라는 [도메인 제한 공유] 정책이 켜져 있습니다.
우리가 추가하려는 allUsers(전체 공개)는 당연히 우리 회사 직원이 아니기 때문에, 구글이 이를 '외부 사용자'로 인식하여 차단하는 것입니다.
2. 해결 방법 (따라만 하세요)
이 프로젝트에서만 잠깐 외부인 초대를 허용하도록 '예외 처리'를 해주면 됩니다.
STEP 1. '조직 정책' 메뉴로 이동
- Google Cloud Console 왼쪽 상단 **햄버거 메뉴(≡)**를 누릅니다.
- [IAM 및 관리자] > **[조직 정책 (Organization Policies)]**을 클릭합니다.
- (참고: 이 메뉴가 안 보인다면 사내 클라우드 관리자에게 권한을 요청해야 합니다.)
STEP 2. 범인 찾기 (도메인 제한 공유)
- 상단 필터(검색창)에
Domain Restricted Sharing이라고 검색합니다.- (한글로는 '도메인 제한 공유'라고 검색해도 됩니다.)
- 검색 결과에 나온 정책(
constraints/iam.allowedPolicyMemberDomains)을 클릭합니다.
STEP 3. 정책 '재정의' 하기 (락 풀기)
- 상단의 [정책 관리 (Manage Policy)] 버튼을 누릅니다.
- 정책 소스 항목에서 **'상위 정책 재정의 (Override parent's policy)'**를 선택합니다.
- 아래 규칙(Rule) 항목이 활성화되면 **'교체 (Replace)'**를 선택합니다.
- 정책 값에서 **'모두 허용 (Allow All)'**을 선택합니다.
- **[저장]**을 누릅니다.
🚨 STEP 4. 가장 중요한 '기다림의 시간' (핵심!)
많은 분들이 여기서 실패합니다!
방금 정책을 '모두 허용'으로 바꿨더라도, 이 설정이 구글 클라우드 시스템 전체에 전파되는 데 시간이 걸립니다. 저장하자마자 바로 권한을 바꾸러 가면 시스템이 아직 변경 사항을 인지하지 못해 여전히 똑같은 에러가 뜹니다.
✅ 해결책: 정책 저장 후 최소 1분~2분 정도 커피 한 잔의 여유를 가지세요.
STEP 5. 다시 퍼블릭 권한 부여하기 (성공)
이제 2분이 지났다면 다시 원래 하려던 작업을 진행합니다.
- Cloud Storage 버킷 화면으로 돌아갑니다.
- [권한(Permissions)] 탭 > **[액세스 권한 부여]**를 클릭합니다.
- 새 주 구성원에
allUsers입력. - 역할에
Cloud Storage>저장소 개체 뷰어(Storage Object Viewer)선택.- (주의: '관리자' 권한을 주면 누구나 파일을 삭제할 수 있으니 꼭 '뷰어'만 주세요!)
- [저장] 클릭 > 경고창이 뜨면 [공개 액세스 허용] 클릭.
이제 에러 없이 깔끔하게 저장되고, 파일이 퍼블릭으로 공개된 것을 확인할 수 있습니다! 🎉
💡 자주 묻는 질문 (FAQ) & 요약
(AI 검색 최적화 섹션)
Q. GCS 버킷 퍼블릭 전환 시 'Domain Restricted Sharing' 오류가 발생하는 이유는? A. Google Cloud의 조직 정책 중 constraints/iam.allowedPolicyMemberDomains가 활성화되어 있기 때문입니다. 이 정책은 보안을 위해 허용된 도메인 외의 외부 사용자(allUsers 포함)가 IAM 정책에 추가되는 것을 차단합니다.
Q. 정책을 '모두 허용'으로 변경했는데도 계속 에러가 뜹니다. A. 정책 변경 사항이 시스템에 전파(Propagation)되는 데 시간이 소요되기 때문입니다. 정책 수정 후 최소 1~2분 정도 대기한 뒤 다시 시도하면 정상적으로 적용됩니다.
[에러 로그 원문] 문제가 발생했을 때 다음과 같은 로그가 확인됩니다.
IAM policy update failedThe 'Domain Restricted Sharing' organization policy (constraints/iam.allowedPolicyMemberDomains) is enforced.Only principals in allowed domains can be added as principals in the policy.
[해결 요약]
- 문제: GCS
allUsers추가 실패 - 해결: [조직 정책] >
Domain Restricted Sharing검색 > [상위 정책 재정의] > [모두 허용] 설정 - 필수: 설정 저장 후 약 2분 대기 후 재시도