세일즈포스는 클라우드 기반의 CRM(고객 관계 관리) 플랫폼으로, 고객 데이터 뿐만 아니라 잠재 고객 목록, 세일즈 파이프라인 등 회사의 전반적인 비즈니스 프로세스와 관련된 중요한 정보를 저장하고 있습니다.
따라서 이 모든 데이터가 안전한지, 클라우드 플랫폼이기 때문에 보안에 취약하지 않을지 우려할 수 있습니다.
이번 포스팅에서는 세일즈포스가 어떻게 데이터를 보호하는지, 데이터에 접근하는 사용자들에게 어떻게 권한을 부여하는지 소개하고자 합니다.
세일즈포스는 사용자가 안전하고 효율적으로 비즈니스를 수행할 수 있도록 인증되지 않은 사용자로부터 데이터를 보호하고, 각 사용자들이 접근할 수 있는 데이터를 다양한 수준에서 설정할 수 있는 강력하고 유연한 데이터 보안 모델을 제공합니다.
데이터 보안 모델은 4개의 계층으로 나누어집니다.
조직 수준 보안
개체 수준 보안
필드 수준 보안
레코드 수준 보안
각 계층을 차례대로 살펴보겠습니다.
1. 조직 수준 보안 (Org-Level Security)
조직에 접근하는 사용자를 인증하는 여러가지 방법을 제공합니다. 비밀번호 정책을 관리할 수도 있고, 시스템에 액세스 할 수 있는 시간과 위치 등을 설정할 수도 있습니다.
비밀번호 정책
사용자의 비밀번호가 강력하고 안전한지 확인할 수 있는 여러 설정을 제공합니다.
비밀번호가 만료될 기간, 비밀번호의 최소 길이, 비밀번호에 포함되어야 하는 문자 유형 등을 설정할 수 있습니다.
로그인 시간 및 IP 제한
사용자마다 로그인할 수 있는 시간과 IP 범위를 제한할 수 있습니다.
MFA (Multi-Factor Authentication)
사용자가 로그인할 때 둘 이상의 요소를 통해 자신을 증명하도록 요구할 수 있습니다.
사용자 이름과 비밀번호, 그리고 사용자가 가지고 있는 인증 앱 또는 일시적인 확인 코드 또는 물리적 보안키를 이용하여 현재 로그인하고 있는 사용자가 자신이라는 것을 증명하도록 요구합니다.
2. 개체 수준 보안 (Object-Level Security)
리드, 기회 등과 같은 특정 개체에 대해 액세스 권한을 설정하여 해당 개체의 레코드에 대한 생성, 보기, 편집, 삭제 권한을 제어할 수 있습니다. 개체 수준 보안은 프로필과 권한 집합의 두 가지 구성을 통해 관리할 수 있습니다.
프로필 (Profile)
프로필은 각 사용자가 한 개만 가질 수 있는 것으로, 가장 기본적인 최소한의 권한을 설정할 수 있습니다.
개체 권한, 필드 권한, 페이지 레이아웃 할당, 로그인 IP 제한, 탭 설정, 앱 설정 등의 항목을 구성할 수 있습니다.
권한 집합 및 권한 집합 그룹 (Permission Sets, Permission Set Groups)
권한 집합은 프로필과 달리 한 사용자가 여러 개 가질 수 있습니다.
프로필 And의 개념으로, 어떤 권한이 추가적으로 필요한 경우 굳이 프로필을 변경하지 않고도 필요할 때 추가 권한을 유연하게 할당할 수 있습니다.
또한, 권한 집합 그룹을 이용해서 여러 개의 권한 집합을 사용자에게 쉽게 할당할 수 있습니다.
3. 필드 수준 보안 (Field-Level Security)
개체에 대한 액세스 권한은 가지면서 해당 개체의 개별 필드에 대해 액세스를 제한하는 경우에 사용합니다.
따라서, 사용자에게 전체 개체를 숨길 필요 없이 민감한 필드를 개별적으로 보호할 수 있습니다.
개체 수준 보안과 마찬가지로, 프로필과 권한 집합으로 관리할 수 있습니다.
4. 레코드 수준 보안 (Record-Level Security)
개체 및 필드 수준의 액세스 권한을 설정한 후에 구성하는 것으로, 개체의 개별 레코드에 대한 액세스를 제한할 수 있습니다.
레코드 액세스를 제어하는 방법은 4가지 입니다.
조직 전체 기본값을 이용하여 데이터를 가장 제한적인 수준으로 잠근 뒤, 필요에 따라 공유 규칙, 역할 계층, 수동 공유와 같은 다른 도구를 사용하여 추가 권한을 확장해나가는 방식입니다.
따라서 위 그림과 같이 데이터에 대한 가시성이 상위로 갈수록 증가합니다.
이 때 권한끼리의 충돌이 일어난 경우, 더 제한적인 권한을 부여하는 설정이 우선됩니다.
예를 들어, 레코드에 대한 읽기 권한은 있지만, 개체에 대한 읽기 권한이 없다면 레코드에 액세스할 수 없습니다. 마찬가지로, 개체에 대한 액세스 권한은 있지만 특정 레코드에 대한 액세스 권한이 없다면 레코드에 액세스할 수 없습니다.
조직 전체 기본값 (Org-Wide Defaults, OWD)
기본적으로 레코드의 소유자는 레코드를 생성하고 CRUD 권한을 모두 가지고 있습니다.
조직 전체 기본값(OWD)은 레코드의 소유자가 아닌 다른 사용자가 가지는 가장 기본적인 액세스 수준을 제어합니다.
역할 계층 (Role Hierarchy)
역할 계층은 더 많은 데이터를 봐야 할 필요가 있는 사용자들을 위해 데이터를 개방하는 방법으로, 계층 상에서 하위 계층 사용자가 소유하고 있는 레코드에 대한 모든 액세스 권한이 상위 계층 사용자에게 수직으로 자동으로 부여됩니다.
공유 규칙 (Sharing Rules)
공유 규칙은 같은 부서 내의 팀원들끼리 레코드를 공유하는 경우, 또는 어떤 관리자 아래에 직위가 비슷한 각기 다른 팀에 배치된 직원들 간에 레코드를 공유해야 할 때 유용하게 사용됩니다.
역할 계층이 수직적으로 권한을 부여하는 설정이었다면, 공유 규칙은 수평적으로 권한을 부여하는 설정이라고 할 수 있습니다.
수동 공유 (Manual Sharing)
사용자에게 수동으로 읽기 및 편집 권한을 할당할 수 있게 하여, 특정 레코드에 접근해야 하는 사용자에게 일시적으로 레코드를 공유해야 하는 경우에 사용합니다.
레코드 세부 정보 페이지의 공유 버튼을 통해 설정할 수 있습니다.
요약
개체 및 필드에 대한 기본 권한은 프로필과 권한 집합에 의해 결정됩니다.
레코드를 소유한 경우 해당 레코드에 대해 전체 액세스 권한이 있지만, 소유하지 않은 레코드에 대한 액세스는 가장 먼저 조직 전체 기본값(OWD)을 통해 가장 제한적인 수준으로 설정됩니다.
역할 계층을 이용해 상위 계층 사용자에게 하위 계층 사용자의 권한을 수직적으로 확장할 수 있습니다.
공유 규칙을 이용해 수평적으로 권한을 확장할 수 있습니다.
개별 레코드를 수동 공유하여 일시적으로 권한을 부여할 수도 있습니다.
지금까지 세일즈포스의 데이터 보안 모델에 대해 소개해드렸습니다.
좀 더 자세한 내용을 원하시거나, 세일즈포스에 대해 궁금한 점이 있으시다면 아래를 통해 연락주시기 바랍니다.
출처
Comments