[Salesforce Data Security Model] 세일즈포스의 데이터 보안 모델


세일즈포스는 클라우드 기반의 CRM(고객 관계 관리) 플랫폼으로, 고객 데이터 뿐만 아니라 잠재 고객 목록, 세일즈 파이프라인 등 회사의 전반적인 비즈니스 프로세스와 관련된 중요한 정보를 저장하고 있습니다.

따라서 이 모든 데이터가 안전한지, 클라우드 플랫폼이기 때문에 보안에 취약하지 않을지 우려할 수 있습니다.

이번 포스팅에서는 세일즈포스가 어떻게 데이터를 보호하는지, 데이터에 접근하는 사용자들에게 어떻게 권한을 부여하는지 소개하고자 합니다.


세일즈포스는 사용자가 안전하고 효율적으로 비즈니스를 수행할 수 있도록 인증되지 않은 사용자로부터 데이터를 보호하고, 각 사용자들이 접근할 수 있는 데이터를 다양한 수준에서 설정할 수 있는 강력하고 유연한 보안 모델을 제공합니다.


세일즈포스의 데이터 보안 모델은 4개의 계층으로 나누어집니다.

  • 조직 수준 보안

  • 개체 수준 보안

  • 필드 수준 보안

  • 레코드 수준 보안

각 계층을 차례대로 살펴보겠습니다.



1. 조직 수준 보안 (Org-Level Security)

조직에 접근하는 사용자를 인증하는 여러가지 방법을 제공합니다. 비밀번호 정책을 관리할 수도 있고, 시스템에 액세스 할 수 있는 시간과 위치 등을 설정할 수도 있습니다.


  • 비밀번호 정책

사용자의 비밀번호가 강력하고 안전한지 확인할 수 있는 여러 설정을 제공합니다.

비밀번호가 만료될 기간, 비밀번호의 최소 길이, 비밀번호에 포함되어야 하는 문자 유형 등을 설정할 수 있습니다.


  • 로그인 시간 및 IP 제한

사용자마다 로그인할 수 있는 시간과 IP 범위를 제한할 수 있습니다.


  • MFA (Multi-Factor Authentication)

출처 https://www.salesforce.com/content/dam/web/en_us/www/documents/guides/mfa-quick-admin-guide.pdf

사용자가 로그인할 때 둘 이상의 요소를 통해 자신을 증명하도록 요구할 수 있습니다.

사용자 이름과 비밀번호, 그리고 사용자가 가지고 있는 인증 앱 또는 일시적인 확인 코드 또는 물리적 보안키를 이용하여 현재 로그인하고 있는 사용자가 자신이라는 것을 증명하도록 요구합니다.



2. 개체 수준 보안 (Object-Level Security)

리드, 기회 등과 같은 특정 개체에 대해 액세스 권한을 설정하여 해당 개체의 레코드에 대한 생성, 보기, 편집, 삭제 권한을 제어할 수 있습니다. 개체 수준 보안은 프로필권한 집합의 두 가지 구성을 통해 관리할 수 있습니다.


  • 프로필 (Profile)

프로필은 각 사용자가 한 개만 가질 수 있는 것으로, 가장 기본적인 최소한의 권한을 설정할 수 있습니다.

개체 권한, 필드 권한, 페이지 레이아웃 할당, 로그인 IP 제한, 탭 설정, 앱 설정 등의 항목을 구성할 수 있습니다.

프로필의 개체 권한 설정 화면
  • 권한 집합 및 권한 집합 그룹 (Permission Sets, Permission Set Groups)

권한 집합은 프로필과 달리 한 사용자가 여러 개 가질 수 있습니다.

프로필 And의 개념으로, 어떤 권한이 추가적으로 필요한 경우 굳이 프로필을 변경하지 않고도 필요할 때 추가 권한을 유연하게 할당할 수 있습니다.

또한, 권한 집합 그룹을 이용해서 여러 개의 권한 집합을 사용자에게 쉽게 할당할 수 있습니다.

권한 집합 그룹

3. 필드 수준 보안 (Field-Level Security)

개체에 대한 액세스 권한은 가지면서 해당 개체의 개별 필드에 대해 액세스를 제한하는 경우에 사용합니다.

따라서, 사용자에게 전체 개체를 숨길 필요 없이 민감한 필드를 개별적으로 보호할 수 있습니다.


개체 수준 보안과 마찬가지로, 프로필권한 집합으로 관리할 수 있습니다.


권한 집합의 필드 수준 보안

4. 레코드 수준 보안 (Record-Level Security)

개체 및 필드 수준의 액세스 권한을 설정한 후에 구성하는 것으로, 개체의 개별 레코드에 대한 액세스를 제한할 수 있습니다.


레코드 액세스를 제어하는 방법은 4가지 입니다.


출처https://trailhead.salesforce.com/ko/content/learn/modules/data_security/data_security_records

조직 전체 기본값을 이용하여 데이터를 가장 제한적인 수준으로 잠근 뒤, 필요에 따라 공유 규칙, 역할 계층, 수동 공유와 같은 다른 도구를 사용하여 추가 권한을 확장해나가는 방식입니다.

따라서 위 그림과 같이 데이터에 대한 가시성이 상위로 갈수록 증가합니다.


이 때 권한끼리의 충돌이 일어난 경우, 더 제한적인 권한을 부여하는 설정이 우선됩니다.

예를 들어, 레코드에 대한 읽기 권한은 있지만, 개체에 대한 읽기 권한이 없다면 레코드에 액세스할 수 없습니다. 마찬가지로, 개체에 대한 액세스 권한은 있지만 특정 레코드에 대한 액세스 권한이 없다면 레코드에 액세스할 수 없습니다.


  • 조직 전체 기본값 (Org-Wide Defaults, OWD)

기본적으로 레코드의 소유자는 레코드를 생성하고 CRUD 권한을 모두 가지고 있습니다.

조직 전체 기본값(OWD)은 레코드의 소유자가 아닌 다른 사용자가 가지는 가장 기본적인 액세스 수준을 제어합니다.

  • 역할 계층 (Role Hierarchy)

역할 계층은 더 많은 데이터를 봐야 할 필요가 있는 사용자들을 위해 데이터를 개방하는 방법으로, 계층 상에서 하위 계층 사용자가 소유하고 있는 레코드에 대한 모든 액세스 권한이 상위 계층 사용자에게 수직으로 자동으로 부여됩니다.

  • 공유 규칙 (Sharing Rules)

공유 규칙은 같은 부서 내의 팀원들끼리 레코드를 공유하는 경우, 또는 어떤 관리자 아래에 직위가 비슷한 각기 다른 팀에 배치된 직원들 간에 레코드를 공유해야 할 때 유용하게 사용됩니다.

역할 계층이 수직적으로 권한을 부여하는 설정이었다면, 공유 규칙은 수평적으로 권한을 부여하는 설정이라고 할 수 있습니다.


  • 수동 공유 (Manual Sharing)

사용자에게 수동으로 읽기 및 편집 권한을 할당할 수 있게 하여, 특정 레코드에 접근해야 하는 사용자에게 일시적으로 레코드를 공유해야 하는 경우에 사용합니다.

레코드 세부 정보 페이지의 공유 버튼을 통해 설정할 수 있습니다.



요약

  • 개체 및 필드에 대한 기본 권한은 프로필권한 집합에 의해 결정됩니다.

  • 레코드를 소유한 경우 해당 레코드에 대해 전체 액세스 권한이 있지만, 소유하지 않은 레코드에 대한 액세스는 가장 먼저 조직 전체 기본값(OWD)을 통해 가장 제한적인 수준으로 설정됩니다.

  • 역할 계층을 이용해 상위 계층 사용자에게 하위 계층 사용자의 권한을 수직적으로 확장할 수 있습니다.

  • 공유 규칙을 이용해 수평적으로 권한을 확장할 수 있습니다.

  • 개별 레코드를 수동 공유하여 일시적으로 권한을 부여할 수도 있습니다.



지금까지 세일즈포스의 데이터 보안 모델에 대해 소개해드렸습니다.

좀 더 자세한 내용을 원하시거나, 세일즈포스에 대해 궁금한 점이 있으시다면 아래를 통해 연락주시기 바랍니다.


출처

Salesforce Developers, "Salesforce Data Security Model — Explained Visually"

Salesforce Trailhead, "Data Security"

Salesforce Security Guide

댓글 0개