권한데이터 보안Salesforce 관리자

Salesforce의 "View All / Modify All" — 주의해야 할 우회 권한

View All과 Modify All은 Salesforce 공유 모델을 조용히 우회합니다. 무엇을 하는지, 어디서 오는지, 누구를 점검해야 하는지, 그리고 AI 에이전트에 왜 중요한지 살펴봅니다.

AgentForceAccess 2 분 분량
잠긴 레코드 아이콘 벽에 둘러싸인 밝은 마스터 키

Salesforce 공유 모델의 대부분은 레코드 접근 권한을 신중하게 부여하는 것에 관한 것입니다. View AllModify All은 그 원칙을 창밖으로 던져버립니다 — 이 권한은 공유를 완전히 무시하고 사용자가 모든 것을 보거나 변경할 수 있게 합니다. 관리자에게는 필수적이지만, 퍼져 나가면 위험합니다. 이 권한이 무엇을 하는지, 그리고 어떻게 통제할 수 있는지 살펴봅니다.

실제로 무엇을 하는가

이 권한은 공유 모델을 우회합니다 — 조직 전체 기본값, 역할 계층, 공유 규칙 등 전부 다 말입니다.

  • View All — 객체의 모든 레코드를 봅니다.
  • Modify All — 객체의 모든 레코드를 보고, 편집하고, 삭제하고, 그리고 이전(transfer)합니다.

Cases에 대해 View All을 가진 사용자는 조직 전체 기본값이 Private이고 공유 규칙이 전혀 없더라도 조직의 모든 케이스를 봅니다. 그 객체에 대해서는 공유가 그 사용자에게 적용되지 않을 뿐입니다.

이 권한이 존재하면 나머지 공유 모델은 무의미해집니다 — 이 권한이 그 위에 군림하기 때문입니다.

두 가지 범위: 객체 수준 vs 시스템 전역

권한범위효과
View All (객체)단일 객체해당 객체의 모든 레코드를 봄
Modify All (객체)단일 객체해당 객체의 모든 레코드를 완전히 제어
View All Data조직 전체(거의) 모든 객체의 모든 레코드를 봄
Modify All Data조직 전체(거의) 모든 객체의 모든 레코드를 완전히 제어

객체 수준 버전은 범위가 한정되어 있어 때로는 정당하게 쓰입니다. 시스템 전역의 View All Data / Modify All Data는 중화기와 같습니다 — 강력하며, 가장 철저하게 지켜봐야 할 대상입니다.

어디서 오는가

  • System Administrator 프로파일 — View All Data와 Modify All Data가 기본으로 포함되어 있습니다.
  • 사용자 지정 프로파일과 권한 집합 — 일회성 요구(“지원팀이 모든 케이스를 볼 수 있게만 해주자”)를 해결하려고 부여했다가 잊혀지는 경우가 잦습니다.

사용자의 권한은 프로파일과 할당된 모든 권한 집합의 합집합이기 때문에, 이 권한은 여러 권한 집합 중 어느 하나에든 숨어 있을 수 있습니다 — 바로 이 점 때문에 추적을 놓치기 쉽습니다. 이 권한은 프로파일과 권한 집합과 밀접하게 연결되어 있습니다.

접근 권한이 이상해 보일 때 가장 먼저 확인해야 하는 이유

사용자가 봐서는 안 되는 레코드를 볼 수 있을 때, 공유(Sharing) 버튼에는 아무것도 표시되지 않을 수 있습니다 — 그 접근이 애초에 공유에서 비롯된 것이 아니기 때문입니다. View All / Modify All은 공유로 나타나지 않으면서도 접근 권한을 부여합니다. 그러니 공유 규칙을 뒤지기 전에 이 권한들부터 배제하세요.

AI 에이전트에 두 배로 중요한 이유

AI 에이전트는 자신이 실행되는 사용자의 권한을 상속받습니다. 그 ID가 View All Data를 가지고 있으면, 에이전트는 요청 시 조직의 모든 레코드를 읽을 수 있어 — 여러분이 구성한 모든 공유 규칙을 우회합니다. 에이전트의 ID가 이러한 권한에서 자유로운지 확인하는 것은 배포 전 접근 권한 감사의 핵심 단계입니다.

통제하에 두기

  • 객체 수준의 View All/Modify All과 시스템 전역의 View All Data/Modify All Data에 대해 모든 프로파일과 권한 집합을 목록화하세요.
  • 직접 부여받았든 권한 집합을 통해 받았든, 각 권한을 보유한 사용자를 나열하세요.
  • 최소 권한 원칙을 적용하세요 — 접근이 진정으로 조직 전체에 걸칠 필요가 없는 곳이라면, 광범위한 View All을 범위가 한정된 공유 규칙으로 대체하세요.
  • 변경 후 다시 점검하세요 — 새로운 권한 집합이 우회 권한을 조용히 다시 끌어들일 수 있습니다.

우회 권한을 자동으로 드러내기

어려운 점은 이 권한들이 여러분이 공유를 찾는 곳에는 나타나지 않는다는 것입니다 — 이들은 여러 권한 집합 중 어디에든 있는 별개의 스위치로, 다른 모든 것을 조용히 무력화합니다. AgentForceAccess는 이를 자동으로 반영합니다. 어떤 사용자(또는 에이전트의 사용자)가 왜 레코드를 볼 수 있는지 설명할 때, “이 사용자는 View All Data를 가지고 있습니다 — 공유가 적용되지 않습니다”라는 사실을 여느 공유 규칙과 똑같이 명료하게 드러내므로, 우회 권한이 더 이상 놓치는 대상이 되지 않습니다.

자주 묻는 질문

View All과 Modify All은 정확히 무엇을 하나요?

이 권한은 공유 모델을 무시하고 객체의 모든 레코드에 접근 권한을 부여합니다. View All은 모든 레코드를 보는 것을 의미하고, Modify All은 모든 레코드를 보고, 편집하고, 삭제하고, 이전(transfer)하는 것을 의미합니다. 객체 수준 버전은 하나의 객체에만 적용되고, 시스템 전역의 "View All Data"와 "Modify All Data"는 (거의) 모든 객체에 한꺼번에 적용됩니다.

기본적으로 누가 이 권한을 가지고 있나요?

System Administrator 프로파일에는 View All Data와 Modify All Data가 포함되어 있습니다. 그 외에도 이 권한은 사용자 지정 프로파일과 권한 집합에 나타나며 — 일회성 접근 요구를 해결하려고 추가했다가 끝내 제거하지 않은 경우가 많습니다. 관리자뿐 아니라 모든 프로파일과 권한 집합을 감사하세요.

이 권한이 AI 에이전트에 왜 위험한가요?

에이전트는 자신이 실행되는 사용자의 권한을 상속받습니다. 그 사용자가 View All Data를 가지고 있으면 에이전트는 요청 시 조직의 모든 레코드를 읽을 수 있어, 여러분이 공들여 구성한 모든 공유 설정을 우회합니다. 에이전트를 배포하기 전에 그 ID가 이러한 권한을 가지고 있지 않은지 확인하세요.

View All / Modify All을 누가 가지고 있는지 어떻게 찾나요?

각 프로파일과 권한 집합에서 객체 수준의 View All/Modify All과 시스템 전역의 View All Data/Modify All Data를 확인한 다음, 거기에 할당된 사용자를 나열하세요. 권한이 사용자가 보유한 여러 권한 집합 중 어느 것에서든 올 수 있기 때문에 수작업으로는 매우 번거롭습니다.

직접 내 조직에서 확인해 보세요

AgentForceAccess는 모든 Salesforce 공유 메커니즘에 걸쳐, 어떤 사용자가 왜 특정 레코드나 파일을 볼 수 있는지 쉬운 말로 설명합니다.

얼리 액세스 신청