SAP 권한 개념 및 조회전용 역할 생성__SAP Authorization Concept and View-Only Role Creation

감귤은탱귤·2024년 1월 22일
0

SAP BC - 기본 개념

목록 보기
5/14
post-thumbnail
post-custom-banner

SAP BC 수시업무 중 가장 많은 부분을 차지하는게 모니터링과 더불어 권한 관리다.

권한 관리만 전문으로 하는 BC 도 있을 만큼, 권한 관리에 대해서는 신경써야 할 부분이 많다.

여기서는 권한 개념에 대해서 간략하게 서술하고,
예시로 특정 티코드에 대한 조회전용 역할(Role) 생성에 대해서 서술한다.

권한 관리에 관한 부분은 아래 글을 참조하기 바란다.

  • 작성 예정

아래 글에서는 역할과 권한에 대해서 단어 구분이 명확하지 않은데, "권한 오브젝트"를 제외하고는 권한=역할 이라고 보면 된다.



1. 권한 개념

1-1. 단어 설명

  • 권한 오브젝트(Authorization Object) :
    권한 제어의 가장 작은 단위.
    권한 필드(Authorization Field) 에 따라 사용자의 액션이 제어된다.

    Tcode : SU21, SU22, SU24, SU20

  • 역할(Role) :
    권한 오브젝트들의 집합. (간단히 Tcode 들의 집합으로 이해해도 무방하다.)
    작게는 하나의 업무 단위, 크게는 업무 프로세스에 따라 정의하며, 특수한 목적을 가지고도 생성할 수 있다.

    Tcode : PFCG

  • 프로파일(Profile) :
    권한의 실체화 개념, 역할이 권한 오브젝트의 집합 정의였다면, 프로파일은 역할의 실체화 구현이다.
    즉, 역할이 부여되어있어도 프로파일이 없다면, 시스템 상에서 권한은 부여되지 않은것이다. (역할 부여에 큰 문제가 없다면, 프로파일은 시스템적으로 자동으로 부여된다.)

    Tcode : SU02, SU25

1-2. 권한 부여

신규 역할 부여는 보통 다음과 같은 순서로 이루어진다.

  1. (설계) 업무 단위 또는 프로세스에 따른 역할 설계
    보통 필요한 Tcode 와 목적에 따른 액션 조정

  2. (생성) 설계에 따른 역할 생성
    설계 사양에 따라 역할의 티코드 부여 및 목적에 따른 권한 오브젝트 Activity 설정
    역할 생성과 동시에 프로파일도 같이 생성해야 한다.

  3. (부여) 생성된 역할의 사용자 부여
    요구되는 사용자에게 생성된 역할 부여
    역할을 부여하고, 사용자 비교를 수행하면 시스템은 자동적으로 해당 역할을 가진 사용자에게 프로파일을 부여한다.

1-3. 조직 레벨(Organizational levels)

각 권한 오브젝트별로 공통으로 사용하는 필드가 있다.
이러한 필드에 대해서, 한번에 공통 설정하게 해주는 기능이 조직 레벨 정의다.

대표적으로 많이 사용되는 조직 레벨 값은 다음이 있으며, 이외에도 많은 값들이 있다.

  • Company Code ($BUKRS)
  • Controlling Area ($KOKRS)
  • Plant ($WERKS)
  • Sales Organization ($VKORG)

예를 들어 역할의 조직 레벨 Company Code 값을 AAA1 로 지정해두면, 해당 역할 하위 권한 오브젝트의 모든 Compnay Code 값은 AAA1 으로 자동 지정된다.

이러한 설정은 역할의 유지보수를 쉽게 해주니 반드시 조직 레벨 정의를 활용하는걸 추천한다.

Tcode SUPO 에서 역할별 조직레벨 설정을 확인할 수 있다.

1-4. 권한 관련 테이블

다수의 역할을 대상으로 특정 조건을 확인할 때, 테이블을 통해서 조회하면 편하다.

다음은 권한/역할에 관련된 테이블 리스트이다.

  • AGR_DEFINE : 역할 별 생성일, 변경일, 설명 테이블
  • AGR_PROF : 역할 별 생성된 프로파일 테이블
  • AGR_TEXTS : 역할 별 설명(Desc) 테이블
  • AGR_TCODES : 역할 별, Menu 에 등록된 티코드 리스트 테이블 (S_TCODE 에 직접 등록된 티코드는 나오지 않음)
  • AGR_USERS : 역할 별 부여된 유저 테이블
  • AGR_1251 : 역할 별 권한 오브젝트 테이블
  • AGR_1252 : 역할 별 조직 레벨 정의 테이블


2. 조회 전용 역할 생성

이제 여러 예시를 통해, 간단한 조회전용 역할을 생성하는 방법에 대해서 기록한다.

역할의 액션(생성/수정/조회) 의 조정은 Activity 로 가능하다.
또는 Tcode 별로 액션이 생성/수정/조회가 나누어진 경우도 있다. (Tcode MM01 자재 생성, MM02 자재 변경, MM03 자재 조회 같은 경우)

각 Activity 는 Tcode SU21 에서 권한 오브젝트별로 Obj. Documentation 을 통해 상세하게 확인할 수 있다.

기본적으로 Activity 01 생성, 02 수정, 03 조회

프로파일은 역할의 권한 오브젝트 수정이 있을때마다, 재생성 해줘야 한다.
개별로 생성할 수도 있고, PFCG -> Utilites -> Mass Genertaion 을 통해 일괄 재생성할 수 있다.
(이 외, PFCG - Utilites 에는 다양한 기능들이 있다.)

2-1. 케이스1 - 특정 패키지 조회 역할

설계)

ABAP Package ZMM_TEMP 의 모든 오브젝트에 대한 조회 권한 부여

생성)

역할 ZROLE_ZMM_TEMP_DISPLAY 생성 (Single Role)
-> Description 입력

-> 하단 매뉴탭 Menu
-> Add Transaction 에서 SE80(ABAP Object Navigator) 티코드 권한 추가

-> 하단 매뉴탭 Authorizations
-> Change Authorization Data
-> 권한 오브젝트 S_DEVELOP 트리 열기
-> DEVCLASS : ZMM_TEMP
-> OBJTYPE : *
-> OBJNAME : *
-> P_GROUP : *
-> ACTVT : Display(03)

만약 Change Authorization Data 로 들어갔는데, 권한 오브젝트가 보이지 않는다면, Tcode SU25 에서 Profile Generator Installation 을 수행해야 한다.

-> 메뉴탭 Generate 클릭 (Shift+F5)
-> Generate
-> 프로파일 이름과 설명 입력 후, Excute
-> 프로파일 및 역할 생성 완료

부여)

역할 ZROLE_ZMM_TEMP_DISPLAY 조회
-> 하단 메뉴탭 User
-> 역할을 부여할 SAP ID 와 유효기간 설정
-> 상단 매뉴탭 Save
-> User Comparison 확인 (노란불일 시, Comparison 실시)
-> 부여 완료

2-2. 케이스2 - PFCG 조회 역할

설계)

Tcode PFCG 조회권한 부여

생성)

역할 ZROLE_PFCG_DISPLAY 생성 (Single Role)
-> Description 입력

-> 하단 매뉴탭 Menu
-> Add Transaction 에서 PFCG(Role Maintenance) 티코드 권한 추가

-> 하단 매뉴탭 Authorizations
-> Change Authorization Data
-> 다음 권한 오브젝트를 제외한 나머지 권한 오브젝트 삭제
-> S_USER_AGR, S_USER_AUT, S_USER_GRP, S_USER_PRO, S_USER_SAS
-> 위 5개 권한 오브젝트 ACTVT Diplay(03), 그 외 필드값 * 설정

-> 메뉴탭 Generate 클릭 (Shift+F5)
-> Generate
-> 프로파일 이름과 설명 입력 후, Excute
-> 프로파일 및 역할 생성 완료

부여)

역할 ZROLE_PFCG_DISPLAY 조회
-> 하단 메뉴탭 User
-> 역할을 부여할 SAP ID 와 유효기간 설정
-> 상단 매뉴탭 Save
-> User Comparison 확인 (노란불일 시, Comparison 실시)
-> 부여 완료

2-3. 케이스3 - 특정 테이블 조회 역할

설계)

특정 테이블 조회권한 부여 (예시 : SFLIGHT 테이블)

SFLIGHT 테이블은 SAP 교육용 스탠다드 테이블이다.

생성)

역할 ZROLE_TABLE_DISPLAY 생성 (Single Role)
-> Description 입력

-> 하단 매뉴탭 Menu
-> Add Transaction 에서 SE16 티코드 권한 추가

-> 하단 매뉴탭 Authorizations
-> Change Authorization Data
-> 권한 오브젝트 S_TABU_DIS 삭제
-> 권한 오브젝트 S_TABU_NAM 트리 열기
-> ACTVT : Display(03)
-> TABLE : SFLIGHT

위 예시의 응용으로 CBO 모든 테이블 조회권한 은 TABLE 값에 Z* 를 입력하면 된다.

-> 메뉴탭 Generate 클릭 (Shift+F5)
-> Generate
-> 프로파일 이름과 설명 입력 후, Excute
-> 프로파일 및 역할 생성 완료

부여)

역할 ZROLE_TABLE_DISPLAY 조회
-> 하단 메뉴탭 User
-> 역할을 부여할 SAP ID 와 유효기간 설정
-> 상단 매뉴탭 Save
-> User Comparison 확인 (노란불일 시, Comparison 실시)
-> 부여 완료

2-4. 케이스4 - 번호 범위(Number Range) 조회/수정 역할

설계)

모든 번호 범위 오브젝트에 대해서 조회/수정권한 부여
(여기서는 단순수정과 함께 번호값 초기화, 오브젝트 유지보수 등등의 권한도 추가)

생성)

역할 ZROLE_NUMBER_CHANGE 생성 (Single Role)
-> Description 입력

-> 하단 매뉴탭 Menu
-> Add Transaction 에서 SNRO 티코드 권한 추가

Tcode SNUMSNRO 는 동일하므로, SNUM 을 넣어도 상관없다.

-> 하단 매뉴탭 Authorizations
-> Change Authorization Data

-> 권한 오브젝트 S_ABPLNGVS 트리 열기
-> ABP_LNG_VS : *
-> ACTVT : *

-> 권한 오브젝트 S_DEVELOP 트리 열기
-> DEVCLASS : *
-> OBJTYPE : NROB
-> OBJNAME : *
-> P_GROUP : *
-> ACTVT : Change(02), Display(03)

-> 권한 오브젝트 S_NUMBER 트리 열기
-> NROBJ : *
-> ACTVT : Change(02), Display(03), Change number range status(11), Initialize number levels(13), Maintain number range object(17)

위 예시의 응용으로 특정 번호범위 오브젝트의 조회/수정권한 은 NROBJ 값에 <특정 번호범위 오브젝트> 를 입력하면 된다.

-> 메뉴탭 Generate 클릭 (Shift+F5)
-> Generate
-> 프로파일 이름과 설명 입력 후, Excute
-> 프로파일 및 역할 생성 완료

부여)

역할 ZROLE_NUMBER_CHANGE 조회
-> 하단 메뉴탭 User
-> 역할을 부여할 SAP ID 와 유효기간 설정
-> 상단 매뉴탭 Save
-> User Comparison 확인 (노란불일 시, Comparison 실시)
-> 부여 완료

profile
SAP BC (2019 ~ )
post-custom-banner

0개의 댓글