본문 바로가기
4. 데이터분석

Oracle Analytics Cloud (OAC) : Role Based Filter 적용하기

by Unemployed 2024. 5. 20.

OAC 에서 Role Based  Filter 설정을 통해 동일 워크북에서 사용자의 Application Role 별 필터링된 정보만 표현되도록 하는 방법을 알아보도록 하겠습니다. 

About Role based filter  

Role based filter 는 OAC(Oracle Analytics Cloud)에서 애플리케이션 역할에 대한 필터를 생성하여 작동합니다. 사전 정의된 Appliction Role 을 사용하거나 관리자에게 보다 복잡한 사용 사례에 필요할 수 있는 Custom Role 을 생성하도록 요청할 수 있습니다.

 

- 예를들어 영업 담당 임원은 관련 영업에 전체 데이터를 볼수 있도록 하고, 특정 영역에 영업팀원은 자신의 영역에 대한 영업 데이터만 조회하도록 제한 가능합니다. 

 

참조 메뉴얼 : https://docs.oracle.com/en/cloud/paas/analytics-cloud/tutorial-role-based-filters/

 

Create Role-Based Filters to Limit Data in Oracle Analytics

Learn how to create role-based filters in a dataset in Oracle Analytics. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as

docs.oracle.com

 

1. 사전작업 

 

계정 생성 및 권한 확인 

  • 아래와 같은  Application Role 및 계정 사용
  • jaexxxxxx@xxxx.com , Application Roles ( OAC Admin )                    < -- BI Service Administrator
  • danxxxxx@xxxx.net  ,  Application Roles ( Sales_VP_Americas )        <-- Direct Membership (DVContentAuthor)
  • guyxxxxx@xxxx.com ,  Application Roles ( Sales_VP_Europe )           <-- Direct Membership (DVContentAuthor)
  • coolxxxx@xxxx.com ,  Application Roles ( Sales_VVP )                       <-- Direct Membership ( Sales_VP_Americas, Sales_VP_Europe )

* Sales_VVP 는 DVContentAuthor Role 을 직접 부여하지 않았지만, Sales_VP_Americas, Sales_VP_Europe Role 의 권한을 Direct membership 으로 상속 받았기 때문에 결국에는 DVContentAuthor Role 을 갖게 됨 

* 참조 권한 

 

 

2. 데이터 셋 작업

 

2.1 OAC Admin 으로 Oracle DB 에 기본 스키마인 SH 스키마를 이용하여 데이터 셋을  생성

 

 - SH 스키마의 테이블을 중복 선택하여 우측으로 드레그 하면 아래와 같이 자동으로 Join 관계 생성됨

 - 데이터 셋 저장 ( SH_Filtered)

    2.2 OAC Admin 으로 Oracle DB 에 기본 스키마인 SH 스키마를 이용하여 데이터 셋을  생성

     

     - 우상단에 Filter 아이콘 클릭

     - 적용할 Application Filter 선택 : Sales_VP_America

     - Filter 내용 작성 : COUNTRY_NAME = 'Americas' 

    동일하게 Sales_VP_Europe 에 대해서도 추가 합니다. 

     - 적용할 Application Filter 추가 선택 : Sales_VP_Europe

     - Filter 내용 작성 : COUNTRY_REGION = ' Europe

     

    * 여기까지 작업하면 Sales_VP_Europe 및 Sales_VP_America 는 데이터를 볼 수 없습니다. 해당 데이터를 Access 하는 권한이 없기 때문입니다.(현재 작업 유저는 위 그룹소속이 아닙니다.)  따라서, 아래와 같이 해당 데이터에 해당 Role 이 Access 할 수 있는 권한 설정이 필요합니다. 

     

    위와 같이 셋팅하면, Sales_VP_Europe 및 Sales_VP_America 만 데이터에 해당 필터된 내용만을 볼 수 있습니다. 

    --> 주의 !  단순하게 위에 접근롤을 DVContents Author 로 주면, 해당 Role 을 상속받은 모든 Role 및 User 가 해당 데이터에 접근하게 됩니다. 

     

    3. 워크북 생성 및 공유 

     

    3.1. 시나리오 #1 :   OAC Admin Role 으로 워크북을 생성하고 해당 워크북 공유  

     

     - 데이터 셋의 Owner User 의 Role 에 대해서도 반드시 Filter 에 추가가 되어 있어야 해당 데이터를 볼 수 있습니다. (데이터 Access 권한 and 필터 권한 모두 필요 ) 

     - 따라서 현재 작업자의 Appliction Role 을 아래와 같이 필터로 추가합니다.

    * 필터에 1:1 을 주면, 모든 데이를 볼 수 있습니다. (해당 유저는 유럽이나 아메리카 뿐아닌, 모든 영역을 볼 수 있습니다) 

     

     

     - 이제 SH_Filtered 를 사용하여, WorkBook 을 작성 합니다. 

     - 워크북을 공유 폴더에 저장 합니다. (공유 폴더의 Access 권한이 기본적으로 상속됩니다) 

     

    * 워크북 저장시 아래와 같은 세부 옵션을 사용 할 수 있습니다. Share 와 Access 의 추가 삭제는 동기화 되어 있습니다. 

       (Ex, Access 에서 특정 Role 을 삭제하면 Share 에서도 해당 Role 은 삭제됩니다. 추가도 동일) 

     

     

     - 다른 유저로 해당 워크북에 접근 해 보겠습니다. ( Sales_VP_Europe ) 

     

    - 다른 유저로 해당 워크북에 접근 해 보겠습니다. ( Sales_VVP ) 

    - 유럽과 아메리카 지역만 나오는 것을 확인

     

    3.2. 시나리오#2  :  Sales_VP_Europe  Role  으로 워크북을 생성하고 해당 워크북을 공유 폴더로 공유 

     

     - SH_Filtered 를 사용하여, WorkBook 을 작성 합니다. 

    * 워크북 작성 시에도 필터된 데이터만 보여지게 됩니다. 

     

     

    위 설정을 참고하여, OAC 의 User 사용 현황 및 성능에 대해서 관리하고 분석 할 수 있습니다. 

     

    참조 블로그 및 동영상 

    - https://docs.oracle.com/en/cloud/paas/analytics-cloud/acubi/example-two-apply-role-based-filter-hierachy-workbook.html

    - https://www.youtube.com/watch?v=0WLtYK9RZNI

     

    위의 단순한 필터 외, 좀더 복잡한 필터 조건은 아래 블로그 참조 하시기 바랍니다. 

    - https://blogs.oracle.com/analytics/post/ensure-consumers-of-your-datasets-only-see-data-relevant-to-them-by-using-the-role-based-filters-feature-in-oracle-analytics-cloud

     

    감사합니다

     

    작성자: 장재석(coolguy81@gmail.com) / Cloud Architect
    개인 시간을 투자하여 작성된 글로서, 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다

    댓글