Salesforce 공유 규칙 vs 역할 계층: 무엇이 다른가
역할 계층은 조직도를 따라 위로 접근 권한을 자동 부여하고, 공유 규칙은 기준이나 소유권에 따라 옆으로 권한을 확장합니다. 각각 언제 쓰는지 예시로 설명합니다.
역할 계층과 공유 규칙은 관리자가 가장 자주 손대는 두 가지 메커니즘이자, 가장 자주 혼동되는 두 가지이기도 합니다. 둘 다 레코드 접근을 넓히지만, 그 방향과 이유가 다릅니다. 이 차이를 제대로 이해하는 것이 깔끔한 공유 모델과 서로 얽힌 규칙의 난장판을 가르는 분기점입니다.
한 줄 차이
- 역할 계층 — 자동으로, 수직으로 권한을 부여합니다. 조직도에서 레코드 소유자보다 위에 있는 사람은 소유자의 접근 권한을 상속받습니다.
- 공유 규칙 — 의도적으로, 수평으로 권한을 부여합니다. 소유권이나 필드 기준에 따라, 계층으로는 결코 연결되지 않을 동료, 다른 팀 또는 그룹에 권한을 줍니다.
두 메커니즘 모두 조직 전체 기본값(OWD) 위에 얹히며, 접근을 열기만 할 뿐 결코 제한하지 못합니다. (전체 계층 구조는 누가 레코드를 볼 수 있는가에서 확인하세요.)
역할 계층: 접근은 위로 굴러 올라간다
객체에 대해 Grant Access Using Hierarchies가 활성화되어 있으면, 관리자는 자신보다 아래에 있는 사용자가 소유하거나 그들과 공유된 레코드에 대한 접근 권한을 자동으로 상속받습니다. 규칙도, 레코드별 설정도 필요 없습니다.
예시. Opportunity의 조직 전체 기본값이 Private이라고 합시다. 한 영업 담당자가 거래를 소유하고 있습니다. 그 담당자의 관리자, 그리고 그 관리자의 VP는 계층상 담당자보다 위에 있기 때문에 자동으로 그 거래를 볼 수 있습니다. 이것이 바로 역할 계층이 제 역할을 하는 모습입니다.
이는 관리자가 팀을 보는 가시성에는 완벽하지만, “왜 저 사람이 이걸 볼 수 있지?”라는 놀라움의 가장 흔한 원천이기도 합니다. 레코드별로 아무도 설정한 적이 없기 때문이죠.
공유 규칙: 접근은 옆으로 열린다
공유 규칙은 조직도가 갈라놓은 사용자들에게 계층을 가로질러 접근을 확장합니다. 두 가지 종류가 있습니다.
- 소유권 기반(Ownership-based) — 한 그룹(역할, 공개 그룹, 영역)이 소유한 레코드를 다른 그룹과 공유합니다.
- 기준 기반(Criteria-based) — 필드 값과 일치하는 레코드(예:
Region = EMEA)를 그룹, 역할 또는 영역과 공유합니다.
예시. EMEA와 APAC 영업이 계층의 서로 다른 가지에 있어서 어느 쪽도 상대의 거래를 보지 못한다고 합시다. 기준 기반 규칙 — Region = EMEA → APAC Leadership 그룹과 Read 공유 — 은 계층은 전혀 건드리지 않고 바로 그 가지 간 접근을 열어줍니다.
언제 무엇을 쓸 것인가
| 필요 | 사용 |
|---|---|
| 관리자가 자기 팀의 레코드를 봄 | 역할 계층 |
| 접근이 보고 라인을 따라 자동으로 흐름 | 역할 계층 |
| 두 동료 팀이 서로의 레코드를 봐야 함 | 공유 규칙 (소유권 기반) |
| 필드 기준(지역, 유형, 단계)과 일치하는 레코드 공유 | 공유 규칙 (기준 기반) |
| 공개 그룹이나 영역과 공유 | 공유 규칙 |
| 단일 레코드에 대한 일회성 접근 | 수동 공유 (둘 다 아님) |
둘은 쌓인다 — 그게 함정이다
접근 권한은 누적되고 가장 관대한 쪽이 이기기 때문에, 역할 계층과 공유 규칙은 합쳐집니다. 한 사용자가 계층을 통해 그리고 동시에 두 개의 공유 규칙을 통해 하나의 레코드에 대한 접근 권한을 얻을 수 있습니다. 어느 것도 다른 것을 덮어쓰지 않으며, 어느 하나만으로도 충분합니다.
이것이 바로 지나치게 넓은 공유가 슬금슬금 늘어나는 이유이기도 합니다. 규칙 하나하나는 단독으로 보면 합리적이지만, 사용자가 실제로 보는 것은 계층 + 규칙 + 수동 공유를 모두 합집합한 결과입니다. 그리고 그 전체 그림을 머릿속에 담고 있는 사람은 아무도 없습니다.
둘 다 제한하지 못한다 — 설계상 그렇다
접근을 줄여야 한다면 공유 규칙과 역할 계층은 도움이 되지 않습니다. 조직 전체 기본값을 조이거나 **제한 규칙(restriction rules)**을 사용하세요. 공유 규칙을 하나 더 추가하는 것은 언제나 접근을 더 열기만 할 뿐입니다.
결합된 효과를 들여다보기
어려운 부분은 각 메커니즘이 아니라 그것들의 합입니다. 사용자가 왜 어떤 레코드를 보는지 알려면 계층과 그리고 적용 가능한 모든 공유 규칙과 그리고 수동 공유를 한꺼번에 평가해야 합니다.
AgentForceAccess는 그 합집합을 대신 계산해 줍니다. 어떤 사용자가 왜 레코드를 볼 수 있는지 물어보면, 그것이 역할 계층 때문인지, 특정 공유 규칙 때문인지, 아니면 둘 다 때문인지를 — 해당 메커니즘을 명시하여 — 쉬운 말로 알려줍니다.
자주 묻는 질문
한 문장으로 핵심 차이는 무엇인가요?
역할 계층은 보고 라인을 따라 위쪽으로, 자동으로 접근을 엽니다. 반면 공유 규칙은 계층으로는 결코 연결되지 않을 사용자에게 옆으로, 의도적으로 접근을 엽니다.
둘 다 같은 레코드에 권한을 줄 수 있다면 어느 쪽이 이기나요?
상관없습니다. Salesforce 접근 권한은 누적 방식이며 가장 관대한 쪽이 적용됩니다. 역할 계층이든 공유 규칙이든 어느 한쪽이 권한을 부여하면 사용자는 그 권한을 갖습니다. 둘이 "일치"할 필요는 전혀 없습니다.
공유 규칙으로 접근 권한을 회수할 수 있나요?
아니요. 공유 규칙과 역할 계층은 조직 전체 기본값보다 접근을 확장하기만 할 수 있습니다. 접근을 줄이려면 조직 전체 기본값을 바꾸거나 제한 규칙(restriction rules)을 사용하세요. 공유 규칙으로는 안 됩니다.
역할 계층을 잘 구성했다면 공유 규칙이 여전히 필요한가요?
대개는 그렇습니다. 계층은 수직적인 관리자-보고자 접근만 표현합니다. 두 동료 팀이나 다른 가지에 있는 역할이 서로의 레코드를 봐야 하는 순간, 그것을 표현할 수 있는 것은 오직 공유 규칙뿐입니다.
직접 내 조직에서 확인해 보세요
AgentForceAccess는 모든 Salesforce 공유 메커니즘에 걸쳐, 어떤 사용자가 왜 특정 레코드나 파일을 볼 수 있는지 쉬운 말로 설명합니다.
얼리 액세스 신청