2013.04.08

CRM 보안은 왜 항상 프로젝트 역할에 그치는 걸까

David Taber | CIO

대부분의 기업 애플리케이션에서 보안 모델은 사용자와 그룹을 단순화시킬 수 있다. 그런데 유독 CRM만큼은 복잡하다. 이 이유에 대해 필자가 정리해 보았다.

기업용 소프트웨어 애플리케이션 중 가장 정치적인 것이 무엇이냐 묻는다면, 대부분의 이들이 고객관계관리(CRM) 시스템을 꼽을 것이다. 그 이유는 우선 CRM을 사용하는 영업이나 마케팅의 영역이 지니는 정치적 특성 때문일 것이고, 또 한편으로는 시스템 내 데이터가 단일 CRM 테이블로서 커리어를 창출할 수도, 또 망가트릴 수도 있다는 점 역시 이유가 될 것이다. 누가, 무엇을, 언제 보는지의 문제는 모든 기업들에서 핵심적인 이슈로 자리 잡고 있다.

각 CRM 시스템들은 서로 조금씩 다른 보안 모델을 갖추고 있지만, 일반적 원칙은 어느 정도 공통적으로 적용될 수 있다. 본 기사는 세일즈포스닷컴(Salesforce.com)의 접근 제어 및 권한 모델을 중심으로 작성됐다. 이는 그 복잡성으로 인해 종종 오해를 야기하곤 하는데, 이러한 측면은 이들 핵심 이슈를 설명할 좋은 사례로 만들어 준다.

핵심 권한: 배제 원칙을 기본으로 예외들을 추가하라
세일즈포스 시큐리티(Salesforce security)는 다층적 레이어를 통해 1차적 배제에 부가적 예외 사항을 추가하는 구조로 구성돼 있다. 소형 시스템들에서는 대부분의 필터링이 꺼지게 된다. 그러나 이는 잘못된 결과로 이어질 수도 있는 방식이기에, 대형 기관들은 모든 필터링 매커니즘을 사용해 데이터 품질 및 컴플라이언스 문제를 관리할 역량을 확보해야 한다.

1차 배제 필터는 사용자 층위를 기준으로 삼으며 대상(테이블) 레벨에 적용된다. 이는 특정 사용자 프로파일이 대상을 열람할 수 있는지, 또 어떤 운영이 허용 되는지를 판단하는 역할을 한다. 작성, 해독, 업데이트, 삭제 이외에 ‘기록 소유주 변경’, ‘대상 기록 열람 허용', ‘특정 분류 실행' 권한 역시 이에 부여된다.

두 번째 단계는 컬럼(column) 수준의 필터링이다. 이는 ‘숨김’, ‘판독 전용', ‘판독/기록' 세 단계의 접근권을 구성한다. 프로파일은 또한 시스템 전반에 대한 권한(보고 데이터 추출 등)을 정의하는 역할도 하지만, 대부분은 대상이 뚜렷하지 않기에 큰 중요성을 지니지는 않는다.

CRM 내부에 여러 애플리케이션들을 설치하고 다수의 커스터머 필드(customer field)를 구성한 상태라면 각 프로파일에 1,000개 이상의 속성을 배치할 수 있을 것이다. 그러나 벌써부터 우려하기엔 이르다. 이는 곧 더욱 복잡해질 것이다.
 

표현 반복을 피하려면 역할 문제를 정리하라
다음의 배제 필터링 레이어는 기관내 사용자들의 역할에 의해 처리된다. 역할 계층 구조는 단일 불 속성(Boolean algebra)을 시행한다. 개별 기록 열람이 기록 소유권에 기반해 허용되는가? 이 경우 당신은 동료나 상사 소유의 기록을 열람할 수 없게 된다. 기록 열람이 불가능하다는 것은 이것이 말 그대로 당신에게, 그리고 당신의 사용자 신원 하부에서 실행되는 코드에게 보이지 않음을 의미한다.

당신이 한 번도 사용한 적이 없는 시스템에서 어떤 역할을 실행할 경우, 모든 유형의 기록들이 더 이상 그 곳에 존재하지 않음을 확인하게 될 것이다. 왜일까? 시스템이 기록 소유권을 집행하게 되고 당신의 기록 중 많은 부분이 활동 하지 않거나 기업을 떠난, 혹은 역할이 없거나 변경된 사용자에게로 넘어가기 때문이다.

 




2013.04.08

CRM 보안은 왜 항상 프로젝트 역할에 그치는 걸까

David Taber | CIO

대부분의 기업 애플리케이션에서 보안 모델은 사용자와 그룹을 단순화시킬 수 있다. 그런데 유독 CRM만큼은 복잡하다. 이 이유에 대해 필자가 정리해 보았다.

기업용 소프트웨어 애플리케이션 중 가장 정치적인 것이 무엇이냐 묻는다면, 대부분의 이들이 고객관계관리(CRM) 시스템을 꼽을 것이다. 그 이유는 우선 CRM을 사용하는 영업이나 마케팅의 영역이 지니는 정치적 특성 때문일 것이고, 또 한편으로는 시스템 내 데이터가 단일 CRM 테이블로서 커리어를 창출할 수도, 또 망가트릴 수도 있다는 점 역시 이유가 될 것이다. 누가, 무엇을, 언제 보는지의 문제는 모든 기업들에서 핵심적인 이슈로 자리 잡고 있다.

각 CRM 시스템들은 서로 조금씩 다른 보안 모델을 갖추고 있지만, 일반적 원칙은 어느 정도 공통적으로 적용될 수 있다. 본 기사는 세일즈포스닷컴(Salesforce.com)의 접근 제어 및 권한 모델을 중심으로 작성됐다. 이는 그 복잡성으로 인해 종종 오해를 야기하곤 하는데, 이러한 측면은 이들 핵심 이슈를 설명할 좋은 사례로 만들어 준다.

핵심 권한: 배제 원칙을 기본으로 예외들을 추가하라
세일즈포스 시큐리티(Salesforce security)는 다층적 레이어를 통해 1차적 배제에 부가적 예외 사항을 추가하는 구조로 구성돼 있다. 소형 시스템들에서는 대부분의 필터링이 꺼지게 된다. 그러나 이는 잘못된 결과로 이어질 수도 있는 방식이기에, 대형 기관들은 모든 필터링 매커니즘을 사용해 데이터 품질 및 컴플라이언스 문제를 관리할 역량을 확보해야 한다.

1차 배제 필터는 사용자 층위를 기준으로 삼으며 대상(테이블) 레벨에 적용된다. 이는 특정 사용자 프로파일이 대상을 열람할 수 있는지, 또 어떤 운영이 허용 되는지를 판단하는 역할을 한다. 작성, 해독, 업데이트, 삭제 이외에 ‘기록 소유주 변경’, ‘대상 기록 열람 허용', ‘특정 분류 실행' 권한 역시 이에 부여된다.

두 번째 단계는 컬럼(column) 수준의 필터링이다. 이는 ‘숨김’, ‘판독 전용', ‘판독/기록' 세 단계의 접근권을 구성한다. 프로파일은 또한 시스템 전반에 대한 권한(보고 데이터 추출 등)을 정의하는 역할도 하지만, 대부분은 대상이 뚜렷하지 않기에 큰 중요성을 지니지는 않는다.

CRM 내부에 여러 애플리케이션들을 설치하고 다수의 커스터머 필드(customer field)를 구성한 상태라면 각 프로파일에 1,000개 이상의 속성을 배치할 수 있을 것이다. 그러나 벌써부터 우려하기엔 이르다. 이는 곧 더욱 복잡해질 것이다.
 

표현 반복을 피하려면 역할 문제를 정리하라
다음의 배제 필터링 레이어는 기관내 사용자들의 역할에 의해 처리된다. 역할 계층 구조는 단일 불 속성(Boolean algebra)을 시행한다. 개별 기록 열람이 기록 소유권에 기반해 허용되는가? 이 경우 당신은 동료나 상사 소유의 기록을 열람할 수 없게 된다. 기록 열람이 불가능하다는 것은 이것이 말 그대로 당신에게, 그리고 당신의 사용자 신원 하부에서 실행되는 코드에게 보이지 않음을 의미한다.

당신이 한 번도 사용한 적이 없는 시스템에서 어떤 역할을 실행할 경우, 모든 유형의 기록들이 더 이상 그 곳에 존재하지 않음을 확인하게 될 것이다. 왜일까? 시스템이 기록 소유권을 집행하게 되고 당신의 기록 중 많은 부분이 활동 하지 않거나 기업을 떠난, 혹은 역할이 없거나 변경된 사용자에게로 넘어가기 때문이다.

 


X