Salesforce의 조직 전체 기본값(OWD) 완벽 정리
조직 전체 기본값이란 무엇인지, 접근 수준, 내부 기본값과 외부 기본값의 차이, 그리고 다른 모든 공유 메커니즘이 OWD 기준선 위로만 접근을 열 수 있는 이유를 설명합니다.
조직 전체 기본값은 모든 Salesforce 공유 결정이 시작되는 지점입니다. 이를 제대로 설정하면 나머지 모델(역할 계층, 공유 규칙, 공유)이 견고한 토대 위에 쌓입니다. 잘못 설정하면(대개 너무 열려 있는 경우) 아무리 영리한 공유 규칙을 만들어도 바로잡을 수 없습니다. 이 가이드는 조직 전체 기본값이 무엇이며 어떻게 잘 설정하는지 설명합니다.
조직 전체 기본값이란
조직 전체 기본값(OWD)은 사용자가 소유하지 않은 레코드에 대해 갖는 기준 접근 수준을 오브젝트별로 정의합니다. 이는 가장 제한적인 설정이며, 다른 모든 것은 이 바닥 위로 접근을 열기 위해 존재합니다.
조직 전체 기본값은 바닥입니다. 역할 계층과 공유 규칙은 특정 사용자를 그 위로 끌어올리는 방법입니다. 표준 기능 중에서는 그 아래로 내릴 수 있는 것이 없습니다.
이것이 OWD가 레코드 접근 모델의 첫 번째 계층인 이유입니다.
접근 수준
각 오브젝트의 OWD는 다음 중 하나로 설정됩니다.
| 수준 | 누가 무엇을 보거나 할 수 있는가 |
|---|---|
| Private | 소유자(및 역할 계층상 그 위에 있는 사용자)만 볼 수 있음 |
| Public Read Only | 오브젝트 접근 권한이 있는 모든 사용자가 볼 수 있고, 편집은 소유자만 가능 |
| Public Read/Write | 오브젝트 접근 권한이 있는 모든 사용자가 보고 편집할 수 있음 |
| Controlled by Parent | 접근 권한이 관련된 마스터/상위 레코드를 따름 |
일부 오브젝트는 추가 변형을 제공합니다(예: 리드와 케이스의 Read/Write/Transfer).
내부 기본값과 외부 기본값
많은 오브젝트에서 내부 기본값과 외부 기본값을 별도로 설정할 수 있습니다. 외부 기본값은 Experience Cloud(커뮤니티) 및 포털 사용자를 관리하며, 내부 기본값보다 더 제한적일 수 있고 대개 그래야 합니다. 그래야 외부 사용자가 직원이 가진 더 넓은 접근 권한을 물려받지 않습니다.
모범 사례: 제한적으로 시작하고, 의도적으로 열기
황금 규칙은 다음과 같습니다.
OWD를 비즈니스가 감당할 수 있는 가장 제한적인 수준(대개 Private)으로 설정한 뒤, 역할 계층과 공유 규칙으로 접근을 열어가세요.
그 이유는 공유 모델의 방향에 있습니다. 접근은 누적되는 방식입니다. Private 기준선 위에 접근을 추가하는 것은 언제든 가능하지만, 지나치게 열려 있는 OWD가 이미 모두에게 부여한 접근을 공유 규칙으로 빼낼 수는 없습니다. Private로 시작하면 모델이 의도적이고 감사 가능하며 이해하기 쉬운 상태로 유지됩니다.
빠르게 선택하는 방법
각 오브젝트에 대해 이렇게 자문해 보세요. 이 레코드를 소유하지 않은 임의의 직원이 기본적으로 이 레코드를 볼 수 있어야 하는가?
- 아니요, 절대 안 됩니다 → Private.
- 읽을 수는 있지만 변경할 수는 없습니다 → Public Read Only.
- 누구나 자유롭게 편집할 수 있습니다 → Public Read/Write (민감한 데이터에는 드뭅니다).
서비스 오픈 후 OWD 변경하기
- OWD를 여는 것(예: Private → Public Read Only)은 위험이 낮습니다. 접근을 더 부여하기만 하기 때문입니다.
- OWD를 조이는 것(Public → Private)은 신중히 계획해야 할 변경입니다. 이는 공유 재계산을 트리거하고 사용자들이 현재 의존하고 있는 접근을 제거할 수 있습니다. 샌드박스에서 테스트하고, 배포 전에 미리 알리세요.
OWD를 가장 먼저 감사해야 하는 이유
다른 모든 메커니즘이 OWD 위에 쌓이기 때문에, 지나치게 열려 있는 OWD는 모든 사람이 볼 수 있는 범위를 조용히 부풀립니다. 그리고 누군가 “잠깐, 이걸 다 볼 수 있는 사람이 누구지?”라고 묻기 전까지는 눈에 띄지 않습니다. 접근을 검토할 때 OWD는 가장 큰 의외의 상황을 설명해 주는 기준선입니다.
AgentForceAccess는 그 기준선을 명확하게 보여줍니다. 사용자가 왜 어떤 레코드를 볼 수 있는지 물으면, 답이 특정 규칙이나 공유 때문인지 아니면 단순히 “조직 전체 기본값이 Public이기 때문”인지를 알려줍니다. 그래서 올바른 계층에서 원인을 바로잡을 수 있습니다.
자주 묻는 질문
각 OWD 접근 수준은 무엇을 의미하나요?
Private — 소유자와 역할 계층상 그 위에 있는 사용자만 레코드를 볼 수 있습니다. Public Read Only — 오브젝트 접근 권한이 있는 모든 사용자가 볼 수 있지만, 편집은 소유자만 가능합니다. Public Read/Write — 모든 사용자가 보고 편집할 수 있습니다. Controlled by Parent — 접근 권한이 관련된 마스터 레코드를 따릅니다.
왜 Private로 시작해야 하나요?
공유는 누적되는 방식이기 때문입니다. 역할 계층과 공유 규칙으로 접근을 언제든 더 넓힐 수는 있지만, 지나치게 열려 있는 OWD가 이미 부여한 접근을 그것들로 다시 회수할 수는 없습니다. Private로 시작해 의도적으로 넓혀가면 모델이 의도적이고 감사 가능한 상태로 유지됩니다.
내부 조직 전체 기본값과 외부 조직 전체 기본값은 무엇인가요?
많은 오브젝트에서 외부 사용자(Experience Cloud / 커뮤니티 및 포털 사용자)에 대해 별도의 기본값을 설정할 수 있으며, 이는 내부 기본값보다 더 제한적일 수 있습니다. 이렇게 하면 외부 사용자가 내부 사용자의 접근 권한을 그대로 물려받는 것을 방지할 수 있습니다.
서비스 오픈 후 특정 오브젝트의 접근을 낮출 수 있나요?
가능하지만, OWD를 더 엄격하게 조이면 공유 재계산이 트리거되고 사용자들이 현재 의존하고 있는 접근이 제거될 수 있습니다. 따라서 샌드박스에서 테스트하고 변경 사항을 미리 알려야 합니다. OWD를 여는 것은 위험이 낮지만, 제한하는 것은 신중하게 계획해야 할 변경입니다.
직접 내 조직에서 확인해 보세요
AgentForceAccess는 모든 Salesforce 공유 메커니즘에 걸쳐, 어떤 사용자가 왜 특정 레코드나 파일을 볼 수 있는지 쉬운 말로 설명합니다.
얼리 액세스 신청