SAP 시스템에서 정기 PM 이나 유지보수 작업 등으로 인해서 사용자의 접속을 제한해야 할 때가 있다.
관리자 계정을 제외하고 모든 계정을 잠금 처리함으로써 사용자의 접속을 막을 수 있지만,
해당 방법은 잠금 이력을 관리하기가 힘들고 (기 잠금된 계정들에 대해서 따로 기록이 필요함), 사용자 계정이 많다면, 잠금/ 잠금 해제 시에 약간의 시간이 소요된다.
따라서, 보안 정책(Security Policy/ SECPOL) 를 통해서, 유지보수 작업 시 사용자의 로그인을 제한할 수 있는 방법에 대해서 서술한다.
추가로, Tcode SMAINTENANCE 를 통해서 보다 편하게 유지 관리 모드로 설정하는 방법에 대해서도 서술한다.
✅ 보안 정책을 통한 유지 관리 모드는 SAP Kernel 721, 740, 741 이상 및 SAP_BASIS 731 이상에서 적용 가능하다.
✅ Tcode SMAINTENANCE 를 사용한 유지 관리 모드는 SAP_BASIS 752 이상에서 사용 가능하다.
자세한 사항은 아래 Notes 를 참고하기 바란다.
Tcode : SECPOL
-> 상단 메뉴 Display->Change(Ctrl+F1) 클릭
-> 좌측 메뉴트리 Dialog Structure 에서 Security Policy 선택
-> 상단 메뉴 New Entries 클릭
-> <신규 보안 정책 이름>
및 설명 입력 후, 저장
-> 우측 Security Policy 에서 신규 생성한 보안 정책 선택
-> 좌측 Dialog Structure 에서 Attributes 더블 클릭
-> 상단 메뉴 New Entries 클릭
-> Attributes - Policy Attribute Name : SERVER_LOGON_PRIVILEGE
-> Attributes - Attrib. Value : 1
-> 저장
Tcode : SU10 (또는 SU01)
Tcode SU10 , 또는 SU01 을 사용해 계정 정보 Logon Data - Security Policy 에 1-1번에서 생성한 신규 보안 정책 할당
1번 2번을 통해 사전 작업은 완료되었고,
이제 프로파일 파라미터 login/server_logon_restriction 의 값 변경을 통해 사용자들의 접근을 제한할 수 있다.
파라미터 login/server_logon_restriction 는 Dynamic 파라미터이기 때문에 바로바로 값 변경이 적용된다.
파라미터 login/server_logon_restriction 에 설정할 수 있는 값은 다음과 같다.
0 : 제한 없음.
1 : 보안 정책의 속성 값(Attribute) SERVER_LOGON_PRIVILEGE 이 1인 사용자만 로그인 가능
2 : 모든 사용자 로그인 차단
✅ 아래 3, 4 값은 SAP Kernel 741 이상 및 SAP_BASIS 740 SP5 이상에서 적용 가능
3 : 보안 정책의 속성 값(Attribute) SERVER_LOGON_PRIVILEGE 이 1인 사용자만 외부에서 시스템으로 로그인 가능
4 : 모든 사용자 외부 로그인 차단
외부 로그인은 다음을 제외한 모든 로그인을 뜻한다.
- Batch/job step
- Session restore
- Switchback
- ABAP Puch Channel
- Internal RFC (Remote Function Call)
- HTTP Security Session
또한 아래와 같은 사항에 대해서도 참고하기 바란다.
파라미터 login/server_logon_restriction 를 동적으로 변경해도, 기존에 접속해 있던 사용자는 로그오프 되지 않으며, 신규 로그인만 차단된다.
SAP* 계정은 어떤 경우에도 접속이 가능하다.
Tcode SMAINTENANCE 를 사용하여 유지 관리 모드를 사용한다면 다음과 같은 이점이 있다.
Tcode : SECPOL
-> 상단 메뉴 Display->Change(Ctrl+F1) 클릭
-> 좌측 메뉴트리 Dialog Structure 에서 Security Policy 선택
-> 상단 메뉴 New Entries 클릭
-> <관리자 전용 보안 정책 이름>
및 설명 입력 후, 저장
-> 우측 Security Policy 에서 신규 생성한 보안 정책 선택
-> 좌측 Dialog Structure 에서 Attributes 더블 클릭
-> 상단 메뉴 New Entries 클릭
-> Attributes - Policy Attribute Name : SERVER_LOGON_PRIVILEGE
-> Attributes - Attrib. Value : 1
-> Attributes - Policy Attribute Name : TENANT_RUNLEVEL_LOGON_PRIVILEGE
-> Attributes - Attrib. Value : 1
-> 저장
Tcode : SU10 (또는 SU01)
Tcode SU10 , 또는 SU01 을 사용해 관리자 계정의 Logon Data - Security Policy 에 <관리자 전용 보안 정책>
할당
2-1 에서 생성한 <관리자 전용 보안 정책>
은 시스템이 유지 관리 모드에 있을때, 접속이 허용되야 하는 모든 시스템 관리자 계정에게 부여해야 한다.
앞서 설명했다시피, 유지 관리 모드를 수행하면 해당
<관리자 전용 보안 정책>
을 가진 계정 외에는 접속이 차단되며, 기접속 중인 계정은 강제 종료되기 때문이다.
Tcode : SMAINTENANCE
해당 프로그램은 크게 다음 구성으로 나누어져있다.
현재 시스템 모드를 나타내며 대표적으로 다음 상태를 가진다.
Switch to Maintenance
버튼을 클릭하면, 시스템은 유지 관리 모드로 전환되며, 다음과 같은 순서로 진행된다. (대략 10분정도 소요)
Running -> Web Dispatcher Closed -> Cool Down -> In Maintenance
Cool Down 단계에서 일반 사용자들은 작업을 종료하고 로그오프하라는 알림을 받게 되고, 해당 단계가 끝나면 일반 사용자의 세션은 자동으로 종료된다.
(로그오프 알림 후, 세션 자동 종료까지의 대기 시간 10분)
In Maintenance 단계에서는 <관리자 전용 보안 정책>
을 가진 관리자 계정만 접속이 유지되고, 신규 접속이 가능하다.
Switch to Running
버튼을 클릭하면, 시스템은 유지 관리 모드에서 일반 모드로 전환된다.
해당 전환은 즉시 수행되며, 별도의 단계없이 시스템 모드는 바로 Running 으로 바뀐다.
해당 기능은 기능적으로 크게 의미가 없다.
직관적으로 이해하면, 대략 일정에 따라 유지 관리 모드를 수행해주는 기능같지만, 실제로 해당 일정에 따라서 자동으로 유지 관리 모드 전환은 수행되지 않는다.
단순 시스템 유지 관리 작업에 대한 스케쥴 체크 정도로만 이해하면 될듯하다.
유지 관리 모드 전환에 대한 이력을 확인할 수 있다.