Restriction rules vs Scoping rules vs Sharing rules: 차이와 사용 시점
공유 규칙은 접근을 열고, 제한 규칙은 줄이며, 범위 지정 규칙은 기본 보기만 설정합니다. 세 가지가 어떻게 다른지, 언제 무엇을 써야 하는지 정리했습니다.
Salesforce 공유 모델의 대부분은 접근을 여는 방법만 알고 있습니다. Restriction rules와 scoping rules는 그 점을 바꾸는 비교적 새로운 도구입니다. 하지만 이 둘은 매우 다른 일을 하며, 헷갈리기 쉽습니다. 세 가지가 서로 어떻게 연결되는지 살펴보겠습니다.
한 줄 요약
- Sharing rules — 접근을 엽니다. 원래라면 보지 못했을 레코드를 사용자에게 부여합니다.
- Restriction rules — 접근을 줄입니다. 사용자가 원래라면 볼 수 있었을 레코드를 걸러냅니다.
- Scoping rules — 보기를 집중시킵니다. 접근은 바꾸지 않으면서 기본적으로 표시되는 레코드를 바꿉니다.
이 중 둘은 보안에 영향을 주고, 하나는 그렇지 않습니다. 이 구분을 명확히 해두는 것이 핵심입니다.
Sharing rules: 접근을 연다
Sharing rules는 조직 전체 기본값(OWD) 위에 놓여, 소유권이나 기준에 따라 추가 접근을 부여합니다. 접근을 넓히기만 할 뿐, 절대 좁히지 않습니다. 이것이 계층 구조와 어떻게 비교되는지 다시 정리하고 싶다면 sharing rules vs 역할 계층을 참고하세요.
이는 레코드 접근 모델의 핵심에 있는, 더해지고 가장 관대한 쪽이 이기는(most-permissive-wins) 동작입니다.
Restriction rules: 접근을 줄인다
Restriction rules는 “Salesforce 공유는 접근을 열기만 한다”는 원칙의 예외입니다. Restriction rule은 사용자가 볼 수 있도록 허용되는 레코드를 정의하며, 공유 모델이 부여한 모든 것 위에 적용되어 결과를 사실상 필터링합니다.
조직 전체 기본값, 역할 계층, 공유 규칙이 함께 작용해 사용자에게 10,000건의 레코드를 보여주려 한다고 해도, restriction rule은 그 기준에 맞는 하위 집합으로 좁힐 수 있습니다.
예시. 지원 상담원들은 공유 규칙을 통해 Cases에 폭넓게 접근하지만, 그중 외부 계약직은 기밀이 아닌 케이스만 봐야 합니다. Case에 대한 restriction rule — 계약직 권한 집합에 대해 Confidential = false — 은 공유가 기술적으로 부여한 레코드라 하더라도, 그들이 볼 수 있는 범위에서 기밀 케이스를 제거합니다.
“어떻게 하면 접근을 회수할 수 있을까”가 질문이 될 때 꺼내야 할 도구가 바로 이것입니다.
Scoping rules: 보안이 아니라 집중
Scoping rules는 소유자, 역할, 지역 같은 조건에 따라 목록 보기, 검색, 보고서에 기본적으로 나타나는 레코드를 제어합니다. 무엇보다 중요한 점은 다음과 같습니다.
Scoping rules는 접근을 제한하지 않습니다. 사용자는 범위를 “내가 접근할 수 있는 모든 레코드”로 전환해 공유가 부여한 모든 것을 볼 수 있습니다.
이는 생산성 기능입니다. 바쁜 영업 담당자에게 강제하지 않으면서도 자신의 지역을 먼저 보여줄 수 있습니다. 사용자가 레코드를 보지 못하도록 막아야 한다면 scoping rules는 잘못된 도구입니다. 대신 restriction rules를 사용하세요.
나란히 비교
| Sharing rules | Restriction rules | Scoping rules | |
|---|---|---|---|
| 접근에 대한 영향 | 넓힘 | 줄임 | 없음 |
| 보안 통제인가? | 예 | 예 | 아니요(집중 전용) |
| 사용자가 무시 가능? | 아니요 | 아니요 | 예(범위 전환) |
| 방향 | 접근 추가 | 접근 제거 | 기본 보기 필터링 |
| 일반적 한도 | 다수 | 객체당 활성 ~2개 | 객체당 활성 ~2개 |
세 가지를 함께 쓰기
현실적인 객체라면 세 가지를 모두 사용할 수 있습니다. Private OWD, 팀에 필요한 접근을 주는 sharing rules, 계약직에게서 민감한 하위 집합을 떼어내는 restriction rule, 그리고 각 사용자가 기본적으로 자신의 지역에 도착하도록 하는 scoping rule. 각각은 한 가지 역할을 하며, 함께 작동하면 사용자가 무엇을 볼 수 있는지와 무엇을 먼저 보는지를 모두 형성합니다.
함정: 실효 접근은 합산의 결과다
접근을 열어주는 도구, 줄이는 도구, 집중시키는 도구를 겹겹이 쌓으면 “이 사용자가 실제로 무엇을 볼 수 있는가?”라는 질문에 직접 들여다보는 것만으로 답하기가 정말 어려워집니다. 공유가 부여한 것에서 제한 필터를 뺀 다음, 범위 지정은 무시해야 하기 때문입니다. 바로 이것이 AgentForceAccess가 대신 수행하는 계산입니다. 사용자가 실제로 무엇에 접근할 수 있는지 물어보면, 접근을 부여하는 공유 그리고 그것을 다시 깎아내는 restriction rules까지 고려해 평이한 언어로 답합니다.
자주 묻는 질문
한 줄로 정리하면 어떤 차이인가요?
Sharing rules는 사용자가 갖지 못했던 접근을 부여하고, restriction rules는 사용자가 가졌던 접근을 회수하며, scoping rules는 접근에는 전혀 영향을 주지 않고 목록 보기와 검색을 미리 필터링할 뿐입니다.
Restriction rule이 sharing rule이나 역할 계층을 무시(override)할 수 있나요?
네. Restriction rules는 공유 모델 위에 적용되어 사용자가 볼 수 있는 레코드를 필터링하며, 조직 전체 기본값(OWD), 역할 계층, 공유 규칙이 원래라면 노출했을 레코드까지도 걸러냅니다. Salesforce에서 접근을 실제로 줄이는 방법이 바로 이것입니다.
Scoping rules는 보안 목적으로 레코드를 숨기나요?
아니요. Scoping rules는 목록 보기, 검색, 보고서에 기본적으로 표시되는 레코드 집합만 바꿉니다. 사용자가 범위를 "내가 접근할 수 있는 모든 레코드"로 전환할 수 있으므로, 이는 보안이 아니라 집중과 생산성에 관한 기능입니다. 접근을 실제로 제한해야 한다면 restriction rules를 사용하세요.
이 규칙들에 한도가 있나요?
네. Restriction rules와 scoping rules는 각각 보통 객체당 활성 규칙 최대 2개로 제한되며, 사용자 정의 객체와 Account, Case, Contact, Event, Lead, Opportunity, Task 같은 일부 표준 객체에서 사용할 수 있습니다. 사용 중인 에디션의 현재 한도를 확인하세요.
직접 내 조직에서 확인해 보세요
AgentForceAccess는 모든 Salesforce 공유 메커니즘에 걸쳐, 어떤 사용자가 왜 특정 레코드나 파일을 볼 수 있는지 쉬운 말로 설명합니다.
얼리 액세스 신청