SingleID는 한번의 인증으로 허가된 사용자만이 정보 자산에 손쉽게 접근할 수 있도록 할 뿐 아니라 정책 기반의 권한 관리와 실시간으로 인증 이상 행위 탐지를 통해 계정 보안을 강화하고, 다양한 이력 관리를 통해 계정관리 및 접근 체계를 제공합니다.
SingleID 제공 매뉴얼 목록
SingleID은 아래 표와 같이 다양한 매뉴얼을 제공합니다.
구분
설명
User Portal
- SingleID User Portal은 SingleID 서비스의 사용자 인터페이스로, 회사 애플리케이션에 접근 및 SSO, 접근 권한 요청 등 다양한 보안 기능을 제공합니다. - 자세한 내용은 User Portal을 참고하세요.
Admin Portal
- SingleID Admin Portal은 서비스를 사용하는 조직의 모든 인증 서비스 및 계정 관리 서비스, 보안 정책 수립과 설정은 Admin Portal을 통해 모든 설정 및 관리 기능을 제공합니다. - 자세한 내용은 Admin Portal을 참고하세요.
MFA Portal
- SingleID는 기존 애플리케이션들이 사용하고 있는 인증시스템을 유지하면서 보안 강화를 위해 추가적으로 시스템 연동을 통해 사용자에게 다양한 추가적인 2차 인증을 요구할 수 있습니다. 또한 SingleID는 인증 시 선호하는 인증 방식을 미리 등록하고 관리 할 수 있도록 MFA Portal을 제공하고 있습니다. - 자세한 내용은 MFA Portal을 참고하세요.
CAM Portal
- CAM(Cloud Access Management) Portal은 클라우드 콘솔 및 자원 접근 관리를 위한 서비스로 사용자가 쉽고 간편하게 클라우드 콘솔과 자원에 접근할 수 있는 기능을 제공합니다. 사용자는 사내망에 위치한 PC에서 복합 인증(MFA)을 통해 포털에 접속할 수 있습니다. 비밀번호가 아닌 일회용 토큰을 발행하여 클라우드 콘솔과 자원에 접근할 수 있도록 하며, 모든 접근, 작업 이력 및 비정상적인 동작을 모니터링 할 수 있습니다. - 자세한 내용은 CAM Portal을 참고하세요.
SingleID Authenticator
- SingleID Authenticator는 웹사이트의 사용자의 본인확인 및 복합 인증을 모바일폰을 이용하여 간편하고 안전하게 인증할 수 있는 SingleID 전용 인증 도구입니다. - 자세한 내용은 SingleID Authenticator을 참고하세요.
SingleID Open API Guides
- SingleID를 사용하기 위한 애플리케이션, Idp, 인증 등 다양한 API를 제공합니다. - 자세한 내용은 Open API Guides를 참고하세요.
표. SingleID 매뉴얼 목록
참고
SingleID 상품 구성에 따라 사용자에게 제공되는 기능 및 구성이 상이할 수 있습니다.
1 - User Portal
개요
SingleID는 한번의 인증으로 허가된 사용자만이 정보 자산에 손쉽게 접근할 수 있도록 할 뿐 아니라 정책 기반의 권한 관리와 실시간으로 인증 이상행위탐지를 통해 계정 보안을 강화하고, 다양한 이력 관리를 통해 계정관리 및 접근 체계를 제공합니다.
제공 기능
통합 인증 및 계정 관리
다양한 인증 연계 프로토콜 지원(SAML, OIDC 등)
앱 사용 신청 및 승인을 위한 셀프 서비스 기능 제공
Salesforce, Workday 등의 계정 동기화 및 계정 내 역할(그룹) 동기화/관리
등록 필요로 표시되는 인증 방식은 등록이 필요합니다. 등록 필요를 클릭하여 바로 등록하시거나, 인증 도구 등록하기를 확인하세요.
안내
Passwordless 로그인하기는 로그인 정책 설정에서 설정 유무에 따라 제공하지 않을 수 있습니다. 관리자에게 문의하세요.
선호하는 인증 방식 설정하기
SingleID 사용자는 SingleID에서 제공하는 User Portal에 로그인하여 본인이 선호하는 1차 인증과 2차 인증 방식 설정을 제공합니다.
사용자가 선호하는 방식을 설정하게 되면, 로그인 및 인증 시 본인 확인 방법 선택 화면이 생략되어 바로 1차, 2차 인증 방식으로 인증을 할 수 있습니다.
선호하는 인증 방식을 설정을 원하시면, 다음 절차를 따르세요.
User Portal > 개인 프로파일 > 인증 설정을 클릭하세요.
인증 설정 화면이 나타납니다.
각 인증 방식 앞에 ☆ 1st, ☆ 2nd를 원하시는 인증 방식에 맞게 클릭하세요.
1st, 2nd는 각각 1개씩만 선택이 가능합니다. **★**로 변하면 선택이 완료됩니다.
설정이 완료되면, 다음 로그인 시 해당 방식으로 설정되어 편리한 로그인을 제공합니다.
참고
1차 인증, 2차 인증에 선호하는 인증 방식을 사용자가 설정하였더라도 관리자가 로그인 정책 설정을 통해서 특정 인증 방식으로 제한될 수 있습니다.
인증 방식 등록하기
모든 인증 방식는 사용자가 설정할 수 있습니다. 사용자가 인증 방식를 등록하는 것을 인롤먼트(Enrollment)라고 합니다. 최초로 사용자 계정이 생성되면 사용자 정보 중 이메일 정보를 이용하여 자동으로 이메일 OTP만 등록(Enrollment)됩니다. 다른 인증 방식은 사용자가 필요에 따라 직접 등록(Enrollment)해서 사용하면 됩니다.
인증 방식 등록(Enrollment)은 2가지 방식이 있습니다.
인증 설정에서 등록하기: 사용자 포털 > 프로파일 > 인증 설정에서 하단 + 새로 추가 버튼을 클릭하여 등록합니다.
본인 확인 방법 선택 화면에서 등록하기: 로그인 시 1차 인증, 2차 인증 시 본인 확인 방법 선택 화면에서 회색 체크 마크(V) 가 된 인증 방식을 선택하여 등록합니다.
참고
인증 방식 등록(Enrollement) 대한 상세 내용은 인증 도구 등록하기를 참고하세요.
최초 로그인
비밀번호 재설정
사용자가 최초로 로그인을 할 경우, 비밀번호 재설정 한 이후 로그인할 수 있습니다.
비밀번호 재설정을 하시려면, 다음의 절차를 따르세요.
로그인 화면 > 계정 ID 입력란에 ID를 입력하고, 다음 버튼을 클릭하세요.
다음 버튼 하단의 비밀번호 재설정을 클릭하세요.
개인정보 수집/이용 동의
SingleID를 최초 혹은 일정 기간 중 로그인 시 개인정보 수집/이용 동의가 필요합니다. 동의 절차에 따라 필수, 선택 항목을 선택하여 동의하세요.
필수 항목은 꼭 선택하셔야 로그인 할 수 있습니다.
비밀번호 인증
비밀번호는 SingleID 기본 인증 도구로 가장 기본적인 인증 방식입니다.
비밀번호 입력하기
사용자 ID를 이용하여 로그인은 다음의 절차를 따르세요.
로그인 화면 > 계정 ID 입력란에 ID를 입력하고, 다음 버튼을 클릭하세요.
비밀번호 입력란에 비밀번호를 입력하시고, 다음 버튼을 클릭하여 로그인하세요.
참고
비밀번호 입력창에 눈모양 아이콘을 클릭하시면, 입력하신 비밀번호를 확인할 수 있습니다.
주의
입력한 비밀번호를 잘 못 입력하는 경우
만약, 입력한 비밀번호가 잘 못 입력되었을 경우에는 ID 또는 비밀번호가 정확하지 않습니다.(1/3) 라는 메시지와 함께 재입력이 필요합니다. 재시도 가능 횟수는 관리자가 비밀번호 정책에서 설정한 횟수만큼 가능합니다.
비밀번호를 연속해서 잘못 입력하여 잠금 처리된 경우
비밀번호를 잘못 입력하여 잠금 상태가 된 경우, 2가지 방식으로 잠금을 해제 가능합니다.
1~5분 후에 자동으로 잠금 해제: 자동으로 잠금 해제 설정 시에는 1~5분 간 계정이 잠금 상태가 됩니다. 해당 시간 후에 로그인이 가능합니다.
비밀번호 재설정으로 잠금 해제: 관리자가 비밀번호 정책 설정에서 비밀번호 재설정으로 설정 시에는 비밀번호 재설정을 요구합니다. 비밀번호 재설정 후 로그인이 가능합니다. ID 찾기에서 상세 내용을 확인 할 수 있습니다.
이메일 OTP 인증
인증하기
이메일 OTP로 인증하시려면, 사용자가 등록한 이메일로 OTP가 전송됩니다.
이메일 OTP로 인증하시려면, 다음의 절차를 따르세요.
본인 확인 선택 방법에서 이메일을 클릭하세요.
등록된 이메일로 OTP 코드가 전송됩니다. 관리자가 설정한 시간(보통 3~5분) 안에 OTP를 입력하세요.
OTP를 입력하신 후 확인 버튼을 클릭하면, 인증이 완료됩니다.
참고
코드 재전송: 입력 유효 시간을 초과하시시면, 코드 재전송 버튼을 클릭하세요. 이메일로 OTP 코드를 재전송합니다.
‘다른 방식으로 인증하고 싶으신가요?’: 현재 인증을 이용할 수 없을 경우 다른 인증 방식으로 변경합니다.
‘이메일을 변경했다면 등록해주세요.’: 관리자 설정에 따라 다른 이메일을 등록(Enrollment)하여 인증할 수 있습니다. 등록하기는 이메일 인증 도구 등록하기에서 상세 내용을 확인할 수 있습니다.
안내
코드를 잘못 입력했을 경우
사용자가 OTP 코드를 잘못 입력하면 관리자가 지정한 횟수만큼 다시 입력할 수 있습니다.
사용자 입력 한도를 초과하여 잠겼을 경우
관리자가 정한 횟수보다 더 많이 OTP 코드를 잘못 입력했을 경우, 화면이 관리자가 설정한 시간 만큼 입력이 제한 됩니다. 해당 시간만큼 기다린 후 입력이 가능합니다. 새로 고침하여 입력 제한 시간 이후 다시 시도하세요.
SMS OTP 인증
인증하기
SMS OTP로 인증하시려면, 사용자가 등록한 모바일로 SMS OTP가 전송됩니다.
이메일 OTP로 인증하시려면, 다음의 절차를 따르세요.
본인 확인 선택 방법에서 이메일을 클릭하세요.
등록된 모바일폰으로 OTP 코드가 전송됩니다. 관리자가 설정한 시간(보통 3~5분) 안에 OTP를 입력하세요.
입력하신 후 확인 버튼을 클릭하면, 인증이 완료됩니다.
참고
코드 재전송: 입력 유효 시간을 초과하시시면, 코드 재전송 버튼을 클릭하세요. 모바일폰으로 OTP 코드를 재전송합니다.
‘다른 방식으로 인증하고 싶으신가요?’: 현재 인증을 이용할 수 없을 경우 다른 인증 방식으로 변경합니다.
‘모바일 폰을 변경했다면, 등록해주세요.’: 링크를 클릭하면 새로운 모바일로 인롤먼트하는 화면으로 이동합니다. 등록하기는 SMS 인증 도구 등록하기에서 상세 내용을 확인할 수 있습니다.
안내
코드를 잘못 입력했을 경우
사용자가 OTP 코드를 잘못 입력하면 관리자가 지정한 횟수만큼 다시 입력할 수 있습니다.
사용자 입력 한도를 초과하여 잠겼을 경우
관리자가 정한 횟수보다 더 많이 OTP 코드를 잘못 입력했을 경우, 화면이 관리자가 설정한 시간 만큼 입력이 제한 됩니다. 해당 시간만큼 기다린 후 입력이 가능합니다. 새로 고침하여 입력 제한 시간 이후 다시 시도하세요.
SingleID 서비스는 window 기반의 Passkey를 통한 간편인증 및 복합인증을 제공합니다.
인증 방식
간편인증: 로그인 페이지 하단 Sign in with Passkey를 통해 ID/Password 필요 없이 간편하게 로그인을 제공합니다.
복합인증: 2차 복합인증 시 ID/Password 필요 없이 간편하게 로그인을 제공합니다.
인증 종류
Mobile Passkey: QR 코드를 스캔하여, 안드로이드 및 IOS 모바일을 이용하여 로그인
보안키: Window 보안키를 이용하여 로그인
PIN: Window PIN코드를 이용한 로그인
참고
Passkey 지원 환경
1.운영체제(노트북 또는 데스크탑)
Windows 11, macOS Ventura, ChromeOS 109 이상
모바일폰: iOS 16 또는 Android 9 이상
하드웨어 보안키: FIDO2 프로토콜을 지원하는 하드웨어 보안 키
2.브라우즈 버전
Chrome 109 이상
Safari 16 이상
Edge 109
3.기기 설정
블루투스 활성화
화면 잠금용 비밀번호 설정
PIN 코드 등록
지문 또는 얼굴 인식 허용
참고
Passkey는 사전에 Windows Hello 설정을 완료해야 합니다. 상세 정보는 참조 링크를 확인하세요.
관리자 인증
인증하기
SingleID 서비스에서는 관리자가 사용자를 대신하여 본인인증을 위임하여 인증을 제공합니다.
관리자 인증을 하시려면, 다음의 절차를 따르세요.
본인 확인 선택 방법에서 화면의 하단에 본인 인증을 할 수 없는 경우, 관리자에게 인증을 요청할 수 있습니다. 여기를 클릭하세요. 를 클릭하세요.
관리자 선택 화면에서 위임할 관리자를 선택하시고 요청버튼을 클릭하세요.
요청 버튼을 클릭후 선택한 관리자에게 승인을 요청하시면, 인증이 완료됩니다.
안내
하단에 본인인증을 할 수 없는 경우, 관리자에게 인증을 요청할 수 있습니다. 여기를 클릭하세요 문구가 없을 경우
관리자가 관리자 인증 위임 기능을 정책에 의해 비활성화하였습니다. 관리자에게 문의하세요.
1.3 - 인증도구 등록하기
인증 도구 등록하기
모든 인증 도구는 사용자 스스로 등록하여 사용하는 것이 원칙입니다. 사용자가 인증 도구를 등록하는 것을 인롤먼트(Enrollment)라고 합니다. 최초로 사용자가 생성되면 사용자 정보 중 이메일 정보를 이용하여 자동으로 Email OTP만 등록됩니다. 나머지 정보는 사용자가 필요에 따라 직접 등록해서 사용하면 됩니다.
등록할 수 있는 방법은 3가지가 있습니다.
로그인 화면 > ID/Passwrod 입력 > 본인 인증 방식 선택 화면에서 등록하기
본인 인증 방식 선택 화면에서 등록 필요 (V 마크)로 표시된 인증 도구를 클릭하시면, 등록할 수 있습니다.
User Portal(로그인 후) > Profile > 인증설정 > + 새로추가 버튼을 클릭하여 등록하기
모든 인증 화면 하단에 있는 등록 메시지 링크를 통해 등록하기
아래 화면은 SMS 인증 화면 예시입니다. 하단에 모바일폰을 변경했다면, 등록해주세요. 메시지를 클릭하여 등록할 수 있습니다.
모든 인증 코드 입력 하단에 메시지를 통해 변경할 수 있습니다(메시지 형식: ~ 등록해주세요.)
인증 코드 입력 화면 예시
그림. 인증 화면
이메일 인증 도구 등록하기
이메일 등록는 다음의 3단계로 구성되어 있습니다.
확인 단계: 이메일 인증도구를 등록하기 전 본인 확인 단계입니다.
등록 단계: 새로운 이메일를 등록하고 번호가 유효한지 검사하는 단계입니다.
완료 단계: 등록이 정상적으로 되었음을 최종 확인하는 단계입니다.
확인 단계
인증 도구를 하기 전에 본인 인증을 하는 단계입니다. 본인 인증 절차를 보시려면 로그인 및 인증하기를 참고하세요.
주의
확인 단계에 어떤 인증 방식을 사용할 것인지는 관리자가 설정한 인증 도구로만 인증할 수 있습니다.
등록 단계
사용자가 등록하길 원하는 이메일 주소를 등록하고, 이메일 주소의 유효성을 체크하는 단계입니다.
사용자는 다음과 같은 절차로 진행하시면 됩니다.
확인 단계에서 본인 인증을 완료하면 자동으로 등록 단계로 이동합니다.
등록하고 싶은 이메일 주소를 입력하세요.
인증 코드 보내기 버튼을 클릭하세요.
입력한 이메일 주소로 전송된 OTP 코드를 확인하시고, OTP 코드를 화면에 입력하세요.
인증코드가 정확히 입력되면 완료 단계로 이동합니다.
안내
회사 정책에 따라 보안상 회사 메일 주소가 아닌 신규 이메일 주소는 등록되지 않을 수 있습니다.
완료 단계
등록 완료 화면이 나타나게 되며, 다음 로그인 시 이메일 인증 도구로 1차, 2차 인증을 할 수 있습니다.
SMS 인증 도구 등록하기
SMS 등록는 다음의 3단계로 구성되어 있습니다.
확인 단계: SMS 인증 도구를 등록하기 전 본인 확인 단계입니다.
등록 단계: 새로운 모바일폰 번호를 등록하고 번호가 유효한지 검사하는 단계입니다.
완료 단계: 등록이 정상적으로 되었음을 최종 확인하는 단계입니다.
확인 단계
인증 도구를 하기 전에 본인 인증을 하는 단계입니다. 본인 인증 절차를 보시려면 로그인 및 인증하기를 참고하세요.
확인 단계에 어떤 인증 방식을 사용할 것인지는 관리자가 설정한 인증 도구로만 인증할 수 있습니다.
등록 단계
사용자가 등록하길 원하는 모바일 폰 번호를 등록하고, 모바일 폰 번호의 유효성을 체크하는 단계입니다.
사용자는 다음과 같은 절차로 진행하시면 됩니다.
확인 단계에서 본인 인증을 완료하면 자동으로 등록 단계로 이동합니다.
국가 코드를 선택하고, 등록하고 싶은 모바일 폰 번호를 입력하세요.
인증 코드 보내기 버튼을 클릭하세요.
입력한 모바일 폰 번호로 전송된 OTP 코드를 확인하시고, OTP 코드를 화면에 입력하세요.
인증코드가 정확히 입력되면 완료 단계로 이동합니다.
완료 단계
등록 완료 화면이 나타나게 되며, 다음 로그인 시 SMS 인증 도구로 1차, 2차 인증을 할 수 있습니다.
만약, 해당 정보를 가진 ID가 없다면 ‘ID를 찾을 수 없습니다.’ 메시지가 나타납니다. 다시 찾으시려면 ‘ID 찾기로 돌아가기’ 버튼을 클릭하세요.
비밀번호 재설정
비밀번호 재설정 하기
사용자가 본인의 비밀번호를 재설정하려면, 로그인 화면 하단의 비밀번호 재설정을 클릭하세요.
본인인증을 수행
비밀번호를 설정하기 위해서 사용자는 먼저 본인 인증을 진행해야 합니다. 비밀번호 재설정 버튼을 클릭하면 관리자가 설정한 정책에 따른 본인 인증 수단 선택 화면이 나옵니다. 인증에 대한 상세 내용은 로그인 및 인증하기를 참고하세요.
비밀번호 재설정
사용자 본인 인증을 완료하면 사용자는 본인의 새로운 비밀번호를 설정 할 수 있는 화면으로 이동합니다. 비밀번호는 관리자가 정책으로 설정한 패스워드 패턴 및 복잡도에 맞추어 설정해야 합니다. 사용자가 비밀번호를 입력할 때 조건에 충족하면 초록색, 그렇지 못한 경우는 빨간색으로 표시됩니다. 모든 항목이 초록색이 되도록 비밀번호를 설정하세요.
비밀번호 재설정은 다음과 같이 수행 하세요.
새로운 비밀번호를 입력하세요.
만약, 새롭게 입력한 비밀번호가 관리자가 설정한 복잡성 및 패턴을 하나라도 만족하지 못했을 경우 좀 더 복잡하게 비밀번호를 생성하세요.
사용자 입력 오류 방지를 위해, 입력한 비밀번호와 동일한 비밀번호을 한번 더 입력하세요.
비밀번호 변경 버튼을 클릭하세요.
비밀번호 설정이 완료되면 비밀번호로 로그인 버튼을 클릭하면 로그인 화면으로 돌아갑니다.
비밀번호 설정이 완료되면 비밀번호로 로그인 버튼을 클릭하면 로그인 화면으로 돌아갑니다.
1.6 - 개인정보처리방침, 이용약관, 서비스 데스크
모든 화면의 왼쪽 하단에 개인정보처리방침 및 이용약관 링크가 있어서 언제든지 사용자는 조회 할 수 있도록 구성되어 있습니다.
개인정보처리방침
모든 화면의 왼쪽 하단에 개인정보처리방침 링크를 두어서 언제든지 사용자는 SingleID 서비스에 대한 개인정보처리방침을 확인 할 수 있습니다.
개인정보처리방침을 확인 하려면 다음의 절차를 따르세요.
화면 왼쪽 하단의 개인정보처리방침을 클릭하세요. 최신 버전의 개인정보처리방침을 조회할 수 있습니다.
지난 버전을 확인하고 싶을 때는, 상단의 원하는 버전을 선택하셔서 조회할 수 있습니다.
이용약관
모든 화면의 왼쪽 하단에 이용약관 링크를 두어서 언제든지 사용자는 SingleID 서비스에 대한 이용약관을 확인 할 수 있습니다.
이용약관을 확인 하려면 다음의 절차를 따르세요.
화면 왼쪽 하단의 이용약관을 클릭하세요. 최신 버전의 이용약관을 조회할 수 있습니다.
지난 버전을 확인하고 싶을 때는, 상단의 원하는 버전을 선택하셔서 조회할 수 있습니다.
서비스 데스크 정보
사용자는 SingleID에 대한 문의사항이 발생하면 화면 하단의 Service Desk 전화번호와 대표 이메일 계정을 사용하여 문의 하실 수 있습니다.
1.7 - PC SSO Agent
SingleID PC SSO Agent는 Window Desktop 환경에서 통합 SSO 인증 서비스를 제공합니다.
SingleID PC SSO Agent는 아래와 같은 기능을 제공됩니다.
인터넷 브라우저 간 통합 SSO 및 로그인/로그아웃
PC 디바이스 인증
필수 보안 소프트웨어 설치 유무 확인 기능(SingleID 관리자 설정)
안내
SingleID PC SSO Agent는 관리자의 설정에 따라 사용되지 않을 수 있습니다.(Agentless 동작)
참고
PC SSO Agent 권장 설치 환경
Windows Desktop 10 and 11 (x86 and x64 CPU Only)
Web Browser: Microsoft Edge 88.x 이상, Chrome 87.x 이상
.NET Framework 4.0 이상
Disk Capacity 100MB 이상
PC SSO Agent 설치 여부 체크
만약 관리자가 정책적으로 PC SSO Agent를 사용하도록 설정하였다면, SingleID는 자동으로 사용자의 PC에 SingleID용 SSO Agent가 설치 되어 있는지 다음과 같이 체크합니다.
사용자가 SingleID 로그인을 하고 나서 자동으로 PC SSO Agent가 설치 되어 있는지 확인합니다.
먄약, 사용자의 PC에 PC SSO Agent가 설치 되어 있다면 자동으로 다음 화면으로 넘어가고 그렇지 않다면 자동으로 설치 유도 화면으로 이동합니다.
자동으로 설치 유도 화면이 나타나지 않으면 다음 버튼을 클릭하여 PC SSO Agent를 설치합니다.
설치용 SSO Agent 다운로드 링크 사용하기
PC SSO Agent 설치 유도 화면 ‘다운로드’ 버튼을 클릭하여 Agent 프로그램을 PC에 다운로드 받아 설치하세요.
SingleID PC SSO Agent 설치하기
SingleID Agent.exe 파일을 PC에 다운 받아 정상적으로 설치하면 아래와 같이 PC의 오른쪽 하단 Tray에 ‘ID’라는 Tray가 생성됩니다.
PC SSO Agent가 정상적으로 설치되어 SSO 인증이 될 경우 마우스 오른쪽 클릭을 한 후 “상태 보기” 를 클릭하면 정상적으로 구동이 되는 것을 확인할 수 있습니다.
안내
만약, 설치가 원활히 되지 않을 경우 기존 설치된 앱 목록 중 SingleIdAgent라는 앱을 제거 후 다시 설치하세요.
재인증 시도
PC SSO Agent를 설치하고 나서 로그인을 처음부터 다시 하거나, 아래 화면의 하단의 재인증 버튼을 클릭하여 Agent를 활용한 인증을 다시 시도 할 수 있습니다.
안내
SingleID PC SSO Agent는 로그아웃 시 크롬 및 엣지 브라우저를 통합적으로 로그아웃 처리합니다.
1.8 - 나의 앱
최근 사용 앱
사용자가 User Portal에 로그인하면, 가장 먼저 나의 앱 메뉴를 볼 수 있습니다.
좌측 메뉴 바는 좌측 하단의 화살표(→) 아이콘을 클릭하여 펼치거나 접을 수 있습니다.
나의 앱 메뉴를 클릭하면, 기본적으로 제공 되며 수정이 불가능한 3가지 하위 메뉴가 나오게 됩니다.
최근 사용 앱
북마크
기본 앱
이 중, 최근 사용 앱을 클릭하면 사용자가 최근 사용 하였던 앱이 표시됩니다. 최근 사용 앱은 최대 12개까지 보여집니다.
북마크
나의 앱 메뉴에서 북마크 메뉴를 클릭하면 사용자가 북마크한 앱이 보여 집니다. 자주 사용하는 앱을 북마크하여 편리하게 사용 할 수 있습니다.
앱 카드의 우측 하단의 북마크 버튼을 클릭하여 북마크를 추가할 수 있으며, 다시 클릭하면 북마크를 제거 할 수 있습니다. 북마크는 최대 12개까지 가능합니다.
북마크 추가/삭제하기
추가할 앱의 오른쪽 하단 북마크 표시를 클릭하시면 북마크에 추가됩니다. 다시 한번 더 클릭시 북마크가 삭제됩니다.
기본 앱
기본 앱 메뉴에는 로그인 한 사용자가 사용 가능한 모든 앱이 노출됩니다. 사용자가 앱을 클릭하면 SSO로 인증이 되며 새로운 브라우저에서 앱이 실행 됩니다. 만약 비활성화된 앱을 클릭하게 되면, 비활성화 상태임을 알려주는 팝업 창이 나오게 됩니다.
카테고리 추가
사용자는 카테고리 추가 버튼을 클릭하여 사용자가 원하는 카테고리 이름으로 카테고리를 만들어서 앱을 관리 할 수 있습니다.
카테고리 추가 버튼을 클릭 한 후, 카테고리명을 입력하고 체크 버튼을 클릭하세요.
카테고리 추가 후에, 사용자는 해당 카테고리 우측에 위치한 더 보기 버튼을 클릭하여 카테고리를 이동, 변경, 삭제 할 수 있습니다.
카테고리에 앱이 포함되어 있는 상태에서 카테고리를 삭제 하는 경우, 남아있는 앱은 기본 앱 카테고리로 이동합니다.
1.9 - 앱 카탈로그
앱 카탈로그 사용하기
앱 카탈로그 메뉴를 클릭하면, 기본적으로 승인 대기중인 앱 목록이 보여집니다.
앱 카탈로그는 세 가지 상태의 앱 목록으로 확인 할 수 있습니다
미사용: 사용 요청이 가능한 상태
승인 대기중: 사용 요청이 완료되어 승인 대기 중인 상태
사용중: 사용 요청이 승인되어 사용 중인 상태
미사용 상태의 앱 중에서 요청 버튼이 없는 경우, 회사 정책에 의해 사용자가 셀프로 요청 할 수 없는 경우입니다. 사용하시려면 관리자에게 문의하세요.
앱 사용 요청하기
미사용 중인 앱 중에서 사용 요청을 하려면, 사용자는 요청 버튼을 클릭하고 앱 사용 목적을 입력한 후에 요청 버튼을 클릭하면 됩니다.
앱 사용 승인 프로세스는 관리자의 설정에 의해 차이가 있을 수 있습니다.
기본적으로는 관리자에 의해 설정된 승인자 목록이 보여지고, 승인자가 복수로 존재하는 경우, 가장 먼저 승인 또는 거부 처리를 하는 결과에 따라 정해집니다.
앱 사용 요청이 완료되면 두 개의 메뉴에서 요청 현황을 확인 할 수 있습니다.
앱 카탈로그 > 승인 대기중상태 에서 상태를 확인 할 수 있습니다.
앱 사용 승인 > 나의 요청에서 상세 내용을 확인 할 수 있습니다.
나의 요청 목록에서 앱을 클릭하여 상세 내용을 확인 할 수 있으며, 사용 승인 대기 중인 상태에서는 사용 요청 취소 버튼을 통해 요청 취소를 할 수 있습니다.
1.10 - 알림
알림
알림 메뉴를 클릭하면 알림 목록을 확인 할 수 있습니다. 알림은 두 가지 종류가 있습니다.
긴급: 테넌트 관리자가 긴급하게 공지하여 사용자의 로그인과 상관없이 로그인 전에 사용자가 확인 할 수 있는 긴급 알림(시스템 장애 등)
일반: 긴급 알림이 아닌 모든 알림으로써 사용자가 로그인 한 후에 알림 메뉴에서 확인 할 수 있는 알림
알림 메뉴를 클릭하면 기본적으로 모두 상태의 알림이 설정되어 있어 긴급과 일반 알림 모두가 보여집니다.
읽지 않은 알림이 있다면, 알림 메뉴 옆에 숫자로 표시가 되며, 목록에서 빨간색 점으로 표시되기 때문에 읽지 안은 알림을 쉽게 인지 할 수 있습니다.
해당 알림을 클릭하면 상세 내용을 확인 할 수 있습니다.
이름
설명
유형
공지의 유형입니다. 긴급과 일반으로 구분합니다.
제목
공지 제목입니다.
시작 일시
공지 게시의 시작 일시입니다.
종료 일시
공지 게시의 종료 일시입니다.
표. 알림 목록
승인 요청
승인 요청 메뉴를 클릭하면 사용자들의 모든 승인 요청에 대해서 관리자가 조회 및 승인 취소할 수 있습니다.
승인 요청은 승인 요청 목록과 승인 요청 대기열 탭으로 구성되어 있습니다.
승인 요청 목록
승인 요청의 상태는 가지 종류가 있습니다. 상단의 결재 요청, 승인, 반려, 상신취소 버튼을 통해서 손쉽게 필터링하여 조회할 수 있습니다. 상세 검색을 원하시면 오른쪽 상단의 검색바에 상세 검색을 사용하여 검색할 수 있습니다.
결재 요청: 모든 결재 요청 상태를 보여줍니다.
승인: 모든 승인 완료 상태를 보여줍니다.
반려: 결재가 반려된 승인 요청 건을 보여줍니다.
상신취소: 결재가 상신 취소된 승인 요청건을 보여줍니다.
승인 요청 목록 항목에 대한 설명은 아래와 같습니다.
이름
설명
승인시스템
결재 승인 정책에 따른 승인 시스템을 나타냅니다. 어떠한 승인 시스템을 통해 요청되었는지 확인이 가능합니다. 정책 > 승인 정책을 참고하세요.
제목
공지 제목입니다.
시작 일시
공지 게시의 시작 일시입니다.
종료 일시
공지 게시의 종료 일시입니다.
표. 알림 목록
1.11 - 승인 요청
승인 요청하기
앱 사용 승인 메뉴는 두 가지의 기능을 제공합니다.
나의 요청 탭: 내가 사용 요청한 앱 목록이 표시됩니다.
승인 목록 탭: 나에게 요청한 앱 사용 요청 목록이 표시됩니다.
앱 사용 요청하기
미사용 중인 앱 중에서 사용 요청을 하려면, 사용자는 요청 버튼을 클릭하고 앱 사용 목적을 입력한 후에 요청 버튼을 클릭하면 됩니다. 앱 사용 승인 프로세스는 회사별로 차이가 있을 수 있습니다.
기본적으로는 테넌트 관리자에 의해 설정된 승인자 목록이 보여지고, 승인자가 복수로 존재하는 경우, 가장 먼저 승인 또는 거부 처리를 하는 결과에 따라 정해 집니다.
앱 사용 요청이 완료되면 두 개의 메뉴에서 요청 현황을 확인 할 수 있습니다.
앱 카탈로그 > 승인 대기중 상태 에서 상태를 확인 할 수 있습니다.
승인 요청 > 나의 요청 에서 상세 내용을 확인하고 추가적인 작업을 할 수 있습니다.
나의 요청
나의 요청 목록에서 앱을 클릭하여 상세 내용을 확인 할 수 있으며, 사용 승인 대기 중인 상태에서는 사용 요청 취소 버튼을 통해 요청 취소를 할 수 있습니다.
사용 승인이 완료되면 나의 요청 목록의 상태 항목이 승인으로 변경되게 됩니다.
목록에서 승인된 앱을 클릭하면 사용 승인된 상세 내용을 확인 할 수 있습니다.
승인 목록
앱 사용 승인자의 역할이라면 승인 목록 탭을 클릭해 주세요.
만약 사용자에게 앱 사용에 대한 승인이 요청 된 상태라면 목록의 상태 항목에서 승인 대기중으로 표기가 되어 있는 것을 볼 수 있습니다.
승인 요청된 세부 내용을 확인 하려면 해당 목록을 클릭하세요.
세부 내용을 확인 하신 후 승인자 의견을 남긴 후에 승인 버튼을 클릭하면 요청자가 해당 앱을 사용 할 수 있도록 승인하게 됩니다.
승인 목록 탭에서 상태 항목이 승인으로 변경 된 것을 확인 할 수 있습니다.
목록에서 앱을 클릭하시면, 승인자로서 사용자 본인이 승인한 이력의 상세 내용도 확인 할 수 있습니다.
승인 목록
앱 사용 승인자의 역할이라면 승인 목록 탭을 클릭해 주세요.
만약 사용자에게 앱 사용에 대한 승인이 요청 된 상태라면 목록의 상태 항목에서 승인 대기중으로 표기가 되어 있는 것을 볼 수 있습니다.
승인 요청된 세부 내용을 확인 하려면 해당 목록을 클릭하세요.
세부 내용을 확인 하신 후 승인자 의견을 남긴 후에 승인 버튼을 클릭하면 요청자가 해당 앱을 사용 할 수 있도록 승인하게 됩니다.
승인 목록 탭에서 상태 항목이 승인으로 변경 된 것을 확인 할 수 있습니다.
목록에서 앱을 클릭하시면, 승인자로서 사용자 본인이 승인한 이력의 상세 내용도 확인 할 수 있습니다.
1.12 - 개인 프로필
개인정보 설정하기
사용자의 환경 설정을 위한 메뉴입니다.
개인정보 설정하시려면 다음 절차를 따르세요.
화면 우측 상단 개인 프로필 > 개인정보 설정을 클릭하세요.
사진, 이름, 이메일, 전화번호, 언어, 시간대를 확인 할 수 있습니다.
사진: 사진 > 사진 변경을 클릭하여 표시하고 싶은 아이콘 이미지를 업로드하세요.
언어: 한국어 또는 영어로 원하시는 언어로 선택하세요.
언어시간대: 현재 위치하고 계시는 시간대를 선택하세요. 도시 검색 버튼을 클릭하시면, 도시 검색 팝업창이 나타납니다. 원하시는 도시를 영어로 검색하시고 선택하세요.
화면 하단 저장 버튼을 클릭하여, 저장할 수 있습니다.
참고
개인정보 화면 왼쪽 하단의 탈퇴 버튼을 클릭하시면, 현재 사용자 계정을 탈퇴할 수 있습니다.
탈퇴하시면 사용자의 계정은 삭제되므로, 정말 삭제시만 탈퇴하시기 바랍니다.
SingleID ADM(Anomaly Detection Management) 기능을 이용하시는 경우 탐지 항목에 Normal 또는 Detected가 표시됩니다. 해당 항목은 인증 이상행위가 감지된 로그인 이력입니다.
로그아웃 하기
화면의 우측 상단에 위치한 사진 아이콘을 클릭하여 로그아웃을 클릭하세요.
로그아웃 버튼을 클릭하면 SingleID를 통해 방문한 모든 애플리케이션에서 일괄 로그아웃이 되며, PC SSO Agent를 통해 통합 로그아웃이 설정되어 있다면 연관된 브라우저에서도 로그아웃이 진행됩니다.
2 - Admin Portal
SingleID는 사내 On-Premise 및 클라우드 환경에서 여러 업무 시스템들을 접속하는데 필요한 SSO(Single Sign-On) 인증 서비스 및 계정 관리(Identity Management) 서비스를 제공합니다.
SingleID 서비스를 사용하는 조직의 모든 인증 서비스 및 계정 관리 서비스, 보안 정책 수립과 설정은 Admin Portal을 통해 관리됩니다.
Admin Portal에 접속하여 시스템을 설정하고 관리할 수 있는 사용자는 관리자라고 부르며 Admin Portal의 관리 기능들을 통해 제한 없이 조직의 업무 시스템들을 연계하고, 각 업무 시스템에 접근하기 위한 보안 정책을 정의할 수 있습니다.
Admin Portal이 제공하는 관리 기능은 다음과 같습니다.
기능
설명
알림 관리
사용자 포탈을 통해 조직의 사용자들에게 공지할 게시물을 등록하고 게시 기간 등을 관리할 수 있습니다. 시스템 사용과 관련한 긴급한 내용이라면 로그인하지 않은 사용자들도 확인할 수 있도록 로그인 화면에 내용을 게시할 수 있습니다.
애플리케이션 연동 관리
조직의 사내 업무 시스템이나 클라우드 환경의 업무 시스템을 연계합니다. SAML, OIDC 등과 같은 표준 프로토콜을 이용하여 인증 연계를 하거나 SCIM 프로토콜을 이용하여 계정, 그룹과 같은 정보를 SingleID로 가져오거나 SingleID를 통해 내보내도록 구성할 수 있습니다.
Identity Provider 연동 관리
이미 조직 내 통합 인증 환경이 구성되어 있다면 해당 시스템을 Identity Provider로 등록하여 SingleID를 통해 재인증을 하지 않아도 SingleID가 연계한 애플리케이션을 사용할 수 있도록 구성할 수 있습니다. SAML, OIDC와 같은 표준 인증 프로토콜을 사용하는 모든 Identity Provider들과의 인증 연계 구성이 가능합니다.
Authenticator 관리
사용자의 본인 확인 또는 복합인증을 구성할 수 있도록 Authenticator를 추가하고 관리할 수 있습니다. PC SSO Agent와 같은 데스크탑 Authenticator를 추가한다면 멀티 브라우저 SSO을 사용할 수 있습니다.
MFA Service Provider 연동 관리
이미 구성된 조직 내 인증 시스템을 사용하면서 업무 시스템 접근 시 보안수준을 높이고자 한다면 MFA Consumer Provider로 업무시스템을 연계하여 복합인증 기능만 시스템에 추가할 수 있습니다. MFA Consumer Provider로 시스템을 연계하면 SingleID에 추가된 Authenticator들을 이용하여 2차 인증을 하도록 인증 환경을 구성할 수 있습니다.
사용자 관리
조직에 등록된 모든 사용자를 조회하고 수정할 수 있으며 사용자를 삭제하거나 새로운 사용자를 직접 등록할 수 있습니다. 또한 사용자의 그룹 멤버십을 변경하거나 사용자가 애플리케이션을 사용할 수 있도록 사용 권한을 할당할 수도 있습니다.
그룹 관리
조직에 등록된 모든 그룹을 조회하고 수정할 수 있으며 그룹을 삭제하거나 새로운 그룹을 등록할 수 있습니다. 또한 그룹의 멤버십 규칙을 변경하거나 그룹 멤버가 애플리케이션을 사용할 수 있도록 사용 권한을 할당할 수도 있습니다
로그인 정책 관리
사용자가 SingleID를 이용해 로그인할 때 어떤 인증 수단을 이용하여 인증할 수 있는지 상세한 정책을 설정하고 필요한 경우 특정 환경에서 인증하는 사용자들을 위한 조건 별 인증 정책을 만들고 관리할 수 있습니다.
인증 정책 관리
조직의 보안 정책에 따라 인증과 관련한 세부 설정을 다음의 네가지 분류로 나누어 설정할 수 있습니다. 세션 정책, Authenticator 정책, MFA Service Provider 정책, 비밀번호 정책
이상행위 탐지 정책 관리
SingleID는 사용자의 인증 전후에 대한 행위정보를 실시간 수집 분석하여 인증 이상행위 여부를 판별, 비정상적인 인증 범주에 있다고 식별되는 경우 사용자 본인에게 즉시 위험을 알리는 기능을 제공합니다. 테넌트 관리자는 이상행위 탐지를 위한 정책들의 상세 설정을 관리하고 정책별 사용 유무를 정할 수 있습니다.
약관 및 조건 관리
기본 제공 템플릿을 이용하여 조직의 필요에 맞는 개인정보 보호 방침이나 이용 약관, 이용 조건 등을 등록하여 사용자들에게 고지하고 동의를 구하도록 합니다.
SMS 설정
SingleID는 본인 확인 및 인증을 위해 SMS를 통해 OTP를 발급합니다. SMS 설정에서는 SingleID가 발송하는 SMS를 구성하고 설정할 수 있습니다.
표. Admin Portal 제공 기능
SingleID를 처음 사용한다면 다음과 같은 순서로 기능을 구성하여 기본적인 환경을 구성할 수 있습니다.
SAML 메타데이터 파일 업로드 기능 제공합니다.(ID 제공자 엔드포인트 및 인증서 식별)
선택
표. SSO 정보
참고
Single Sign-On 설정
Validation On Request와 Encryption 중 하나를 선택하면, 인증서를 등록해야 합니다. (Plain Text로 Export 받은 인증서 값을 등록)
Attribute to map during SSO 정보는 추가를 클릭하여 SingleID에서 제공하는 속성 정보를 선택할 수 있습니다. 선택된 속성 중 사용자 식별을 위한 고유 값을 필수로 선택하여야 합니다.
SingleID의 Attribute 정보를 연결되는 대상 애플리케이션에 전달하기 위해 SingleID 속성 이름을 애플리케이션에 매핑될 속성 이름으로 맞추어서 전달할 수 있습니다. 이렇게 인증을 하면서 통신하는 정보를 클레임(Claim) 정보라고 하며, 전달받은 정보를 활용하여 SP에서는 권한을 설정하거나 운영 및 관리를 위한 속성정보로 활용하게 됩니다.
Provisioning
Provisioning 메뉴는 계정 관리 기능으로 사용자 정보를 애플리케이션으로 배포하여 동기화 할 수 있습니다. SingleID에서는 SCIM과 REST 등 글로벌 표준 API 규격의 방식을 제공합니다.
Provisioning 정보입력 화면에서 계정정보 배포를 위한 설정 정보를 입력합니다.
구분
설명
필수 여부
Provisioning Configuration
계정 정보 동기화를 사용하시려면, On 버튼을 클릭해주세요. Off를 선택하면 계정 동기화를 SKIP 할 수 있습니다.
필수
Base Address
SCIM API를 지원하는 대상 시스템의 Endpoint를 정의하는 Base Address(URL)를 입력합니다.
필수
Accept
SCIM REQUEST에 사용되는 HTTP Accept Header 값 인 Accept (예: application/json) 정보를 입력합니다.
필수
Content Type
SCIM REQUEST에 사용되는 HTTP Content Type header 값인 Content Type(예: application/json)을 입력합니다.
필수
User Name
대상 REST 서비스에 인증시 사용되는 User Name을 등록합니다.
필수
Password
대상 REST 서비스에 인증시 사용되는 Password를 설정합니다.
필수
Bearer Token
API를 호출할 때 사용되는 Bearer Token을 등록합니다(authorizaton용).
선택
Client ID
Client ID를 등록합니다. Client ID는 인증 서버에서 등록된 Client에게 발급하는 ID이며, Clien ID 자체는 리소스 오너에 공개되는 정보이기 때문에 Client 인증시 Clident ID 만으로 사용하면 안 됩니다.
선택
Client Secret
Client Secret 정보를 등록합니다. Client Secret은 인증 서버에 의해 생성되는 비밀 정보로써 인증 서버에게만 알려진 고유한 값 입니다.
선택
Access Token Node ID
Access Token Node ID를 등록합니다. Access Token Node ID는 JSON Object Node의 Field ID로써, 대상 Access Token REST 서비스로부터 리턴받게되며 Token 값을 포함합니다. Access Token은 리소스에 접근을 허가(authorize)하는 목적에 사용됩니다. 리소스 서버는 Client로부터 Access Token 만 수용하도록 하는 것이 중요합니다.
선택
Access Token Base Address
대상 REST 서비스의 Base Address로써 Access Token을 받기 위해 필요한 Access Token Base Address(URL)를 등록합니다.
선택
Access Token Content Type
대상 Access Token REST 서비스의 HTTP Content Type header 값인 Access Token Content Type(예: application/x-www-form-urlencoded)을 등록합니다.
필수
Provisioning
Provisioning 대상을 사용자와 그룹 중 기본 하나를 선택하며, 필요한 경우 사용자와 그룹 모두 선택하여 설정할 수 있습니다.
선택
Inbound Provisioning Schedule
On을 클릭하여 Intbound Provisioning Schedule을 통해서 주기적(시간, 일자, 월, 년)으로 등록할 수 있습니다
선택
Outbound Provisioning Schedule
On을 클릭하여 Outbound Provisioning Schedule을 등록할 수 있습니다. Off을 클릭하면 실시간으로 배포할 수 있습니다.
선택
표. Provisioning 정보입력
참고
Provisioning Configuration 을 “Off"로 선택하면, Provisioning 단계와 프로파일 단계는 생략되고 애플리케이션 등록은 인증 서비스만 사용하도록 설정되어 완료됩니다.
프로파일
프로파일 정보입력 화면에서 배포를 위한 사용자/그룹의 설정 정보를 입력합니다.
구분
설명
필수 여부
프로파일 이름
프로파일 이름을 입력합니다.
필수
설명
프로파일에 대한 설명을 등록합니다.
선택
속성
추가을 클릭하여 속성 정보를 선택하여 입력합니다.
선택
표. 프로파일 정보입력
안내
프로파일 매핑
Provisioning 대상을 선택한 탭 메뉴로 사용자, 그룹을 클릭하여 속성을 추가 합니다.
프로파일 매핑을 클릭해서 SCIM 스키마 정보를 기준으로 대상 애플리케이션에서 필요한 정보를 맞추어 연결합니다.
Provisioning을 실행 할 때 실시간으로 컨버전 할 수 있는 실행 스크립트(JEXL 표준 스크립트 기반으로 컨버팅 스크립트) 작성를 구성할 수있는 기능을 제공합니다.
단, 입력한 대로 받아서 실행하는 구조로 밸리데이션 체크 기능은 없습니다.
모든 항목을 입력 후 완료 버튼을 클릭하면 기본적인 애플리케이션 설정이 완료됩니다.
새로운 애플리케이션 등록을 완료하면, 애플리케이션 목록에 등록되고 정책, 할당 이라는 신규 탭이 추가 생성됩니다.
정책
애플리케이션 정책 설정을 위한 로그인 정책과 접근제어 정보를 설정할 수 있습니다.
구분
설명
필수 여부
로그인 정책
애플리케이션에 로그인 할 때 적용되는 로그인 정책을 설정합니다. 설정하려면 설정할 로그인 정책에서 애플리케이션을 할당해주세요.
선택
접근 제어
사용자가 앱 사용을 접근을 제어하는 설정입니다. 활성화 시 애플리케이션에 접근 허용 요청 여부 및 승인 유무에 대해서 설정할 수 있습니다.
선택
표. 정책 설정
할당
애플리케이션 사용자를 할당하기 위한 정보를 사용자와 그룹 기준으로 등록합니다. 등록한 애플리케이션에 접근할 수 있는 사용자와 그룹을 설정하여 접근 권한을 할당하는 메뉴입니다.
사용자를 할당하시려면, 다음의 절차를 따르세요.
애플리케이션 클릭하면, 해당 애플리케이션 상세 페이지로 이동합니다.
할당 탭을 클릭하시고 사용자 탭 > 할당 버튼을 클릭하세요.
사용자 할당 팝업창이 나타나면 할당하려는 사용자를 선택하고, 할당 버튼을 클릭하세요.
할당 탭에 선택하신 사용자가 목록에 나타납니다.
주의
동일하게 그룹 탭에서 할당 버튼을 통해 사전에 정의된 그룹을 할당이 가능합니다. 동일한 방법으로 그룹을 할당하세요.
그룹 설정
애플리케이션에 접근할 수 있는 그룹을 설정할 때 특정 그룹을 정의하여 구분할 수 있는 정보 포함하도록 설정합니다.
그룹을 구분할 수 있는 멤버 규칙으로 접근권한을 관리할 수 있도록 사전에 규칙과 그룹을 정의하여야 합니다.
참고
애플리케이션 상태
활성화(Active): User Portal에 애플리케이션을 노출시키며, Sign-On 서비스, 프로비저닝, 정책 등을 설정하여 사용자가 애플리케이션에 접근하여 사용할 수 있는 상태입니다.
비활성화(Inactive): User Portal에 애플리케이션을 노출시키지 않으며, 애플리케이션을 삭제할 수 있는 상태입니다.
삭제: 등록한 애플리케이션을 삭제를 할 때에는 주의가 필요합니다. 이에 팝업창을 띄워서 애플리케이션 정보와 상태를 한 번 더 확인할 수 있도록 합니다.
Pre-Built App Integration
Pre-Built App Integration 메뉴는 사용하고자 하는 SaaS 애플리케이션을 쉽고 빠르게 바로 연결하여 사용할 수 있도록 연결 정보, 이름, 아이콘을 비롯한 필요한 설정을 미리 준비하여 편리하게 사용하도록 제공되는 메뉴입니다.
Pre-Built App Integration을 통해 애플리케이션을 연동하려면, 아래의 메뉴 경로를 확인하세요.
애플리케이션을 직관적으로 식별할 수 있는 로고를 등록합니다. 파일 업로드 방식과 URL 링크 방식이 있습니다.
선택
화면표시
선택 시 User Protal에서 사용자에게 보여집니다.
선택
Access URL
애플리케이션의 Access URL을 입력합니다. 접속할 애플리케이션 Access은 로그인 페이지를 입력하세요.
필수
자동 로그아웃
선택 시 세션 정책에 의해 로그 아웃 시 재 확인 없이 자동 로그아웃 처리 됩니다.
선택
자동 리다이렉션
선택 시 로그아웃 완료 페이지를 표시하지 않고 Service Provider로 이동합니다.
선택
로그아웃 후 URL
사용자가 로그아웃 할 경우 이동할 URL 주소를 입력하세요. 미입력 시 Access URL 주소로 설정됩니다.
선택
표. 일반
SSO
SSO 정보 입력 화면에서 Single Sign On 설정 정보를 입력합니다.
구분
설명
필수 여부
Issuer
SP (Service Provider)의 고유한 식별 값이자 Response Issuer에 의해 확인되는 값인 Issuer를 입력합니다.
필수
Single Sign-On URL
시스템에 로그인될 때 필요한 Full URL인 Single Sign-On URL을 입력합니다.
필수
로그아웃 URL
SLO (Single Logout) Return을 위한 URL 값인 Logout URL을 입력합니다.
선택
로그아웃 방식
SLO (Single Logout) Return을 위한 로그아웃 방식은 아래와 같이 3가지 방식으로 제공합니다.
Back-Channel Logout: 사용자가 상호작용 없이 애플리케이션에서 안전하게 로그아웃합니다.
Front-Channel Logout(HTTP Redirect Binding): 사용자와 상호 작용하여 애플리케이션에서 브라우저 기반의 로그아웃(HTTP Redirect Binding) 방식으로 안전하게 로그아웃합니다.
Front-Chennel Logout(HTTP POST Binding): 사용자와 상호 작용하여 애플리케이션에서 브라우저 기반의 로그아웃(HTTP POST Binding) 방식으로 안전하게 로그아웃합니다.
필수
Response Signing
Return된 SAML Response를 인증 프로세스 이후에 서명 하려면 Response Signing을 사용합니다.
선택
Validation On-Request
Signature Validation을 사용하려면 체크합니다.
선택
Encryption
Encryption 적용 여부를 선택합니다.
선택
Application Certificate
Validation On Request와 Encryption 중 하나를 선택하면, “인증서”를 등록해야 합니다. PEM(Privacy-Enhanced Mail) 형식에 맞게 유효한 값을 입력해주세요.
필수
Attribute to map during SSO
SSO 연결에 필요한 속성 정보를 선택하여 사용자 식별을 위한 고유 값을 설정합니다. ※ Subject Attribute를 선택해야 ‘다음’ 버튼이 활성화됩니다.
필수
‘메타데이터 파일 가져오기’ 버튼
SAML 메타데이터 파일에는 SAML 2.0 프로토콜 메시지 교환에 사용할 수 있는 다양한 SAML 인증 기관에 대한 정보가 포함되어 있습니다. 이 메타데이터는 SAML 2.0 메시지 교환을 보호하기 위해 ID 제공자 엔드포인트 및 인증서를 식별합니다. 메타데이터 파일 가져오기를 클릭하면, 파일을 업로드 할 수 있습니다.
선택
표. SSO 정보
안내
Single Sign-On 설정
Validation On Request와 Encryption 중 하나를 선택하면, 인증서를 등록해야 합니다. (Plain Text로 Export 받은 인증서 값을 등록)
Attribute to map during SSO 정보는 추가를 클릭하여 SingleID에서 제공하는 속성 정보를 선택할 수 있습니다. 선택된 속성 중 사용자 식별을 위한 고유 값을 필수로 선택하여야 합니다.
SingleID의 Attribute 정보를 연결되는 대상 애플리케이션에 전달하기 위해 SingleID 속성 이름을 애플리케이션에 매핑될 속성 이름으로 맞추어서 전달할 수 있습니다. 이렇게 인증을 하면서 통신하는 정보를 클레임(Claim) 정보라고 하며, 전달받은 정보를 활용하여 SP에서는 권한을 설정하거나 운영 및 관리를 위한 속성정보로 활용하게 됩니다.
Provisioning
Provisioning 메뉴는 계정 관리 기능으로 사용자 정보를 애플리케이션으로 배포하여 동기화 할 수 있습니다. SingleID에서는 SCIM과 REST 등 글로벌 표준 API 규격의 방식을 제공합니다.
Provisioning 정보 입력 화면에서 계정 정보 배포를 위한 설정 정보를 입력합니다.
구분
설명
필수 여부
Provisioning Configuration
계정 정보 동기화를 사용하려면 ‘On’ 버튼을 클릭하세요. ‘Off’를 선택하면 계정 동기화를 SKIP할 수 있습니다.
필수
Base Address
SCIM API를 지원하는 대상 시스템의 Endpoint를 정의하는 Base Address(URL)를 입력합니다.
필수
Accept
SCIM REQUEST에 사용되는 HTTP Accept Header 값인 Accept(예: application/json) 정보를 입력합니다.
필수
Content Type
SCIM REQUEST에 사용되는 HTTP Content Type header 값인 Content Type(예: application/json)을 입력합니다.
필수
User Name
대상 REST 서비스에 인증 시 사용되는 User Name을 등록합니다.
필수
Password
대상 REST 서비스에 인증 시 사용되는 Password를 설정합니다.
필수
Bearer Token
API를 호출할 때 사용되는 Bearer Token을 등록합니다(authorization용).
선택
Client ID
Client ID를 등록합니다. Client ID는 인증 서버에서 등록된 Client에게 발급하는 ID이며, Client ID 자체는 리소스 오너에 공개되는 정보이기 때문에 Client 인증 시 Client ID 만으로 사용하면 안 됩니다.
선택
Client Secret
Client Secret 정보를 등록합니다. Client Secret은 인증 서버에 의해 생성되는 비밀 정보로써 인증 서버에게만 알려진 고유한 값입니다.
선택
Access Token Node ID
Access Token Node ID를 등록합니다. Access Token Node ID는 JSON Object Node의 Field ID로써, 대상 Access Token REST 서비스로부터 리턴받게 되며 Token 값을 포함합니다. Access Token은 리소스에 접근을 허가(authorize)하는 목적에 사용됩니다. 리소스 서버는 Client로부터 Access Token 만 수용하도록 하는 것이 중요합니다.
선택
Access Token Base Address
대상 REST 서비스의 Base Address로써 Access Token을 받기 위해 필요한 Access Token Base Address(URL)를 등록합니다.
선택
Access Token Content Type
대상 Access Token REST 서비스의 HTTP Content Type header 값인 Access Token Content Type(예: application/x-www-form-urlencoded)을 등록합니다.
필수
Provisioning
Provisioning 대상을 사용자와 그룹 중 기본 하나를 선택하며, 필요한 경우 사용자와 그룹 모두 선택하여 설정할 수 있습니다.
선택
Inbound Provisioning Schedule
On을 클릭하여 Intbound Provisioning Schedule을 통해서 주기적(시간, 일자, 월, 년)으로 등록할 수 있습니다.
선택
Outbound Provisioning Schedule
On을 클릭하여 Outbound Provisioning Schedule을 등록할 수 있습니다. Off을 클릭하면 실시간으로 배포할 수 있습니다.
선택
표. Provisioning 정보
참고
Provisioning Configuration 을 “Off"로 선택하면, Provisioning 단계와 프로파일 단계는 생략되고 애플리케이션 등록은 인증 서비스만 사용하도록 설정되어 완료됩니다.
프로 파일
프로파일 정보입력 화면에서 배포를 위한 사용자/그룹의 설정 정보를 입력합니다.
구분
설명
필수 여부
프로파일 이름
프로파일 이름을 입력합니다.
필수
설명
프로파일에 대한 설명을 등록합니다.
필수
속성
추가를 클릭하여 속성 정보를 선택하여 입력합니다.
필수
표. 프로파일
안내
프로파일 매핑
Provisioning 대상을 선택한 탭 메뉴로 사용자, 그룹을 클릭하여 속성을 추가 합니다.
프로파일 매핑을 클릭해서 SCIM 스키마 정보를 기준으로 대상 애플리케이션에서 필요한 정보를 맞추어 연결합니다.
Provisioning을 실행 할 때 실시간으로 컨버전 할 수 있는 실행 스크립트(JEXL 표준 스크립트 기반으로 컨버팅 스크립트 작성)를 구성할 수있는 기능을 제공합니다.
단, 입력한 대로 받아서 실행하는 구조로 밸리데이션 체크 기능은 없습니다.
모든 항목을 입력 후 완료 버튼을 클릭하면 기본적인 애플리케이션 설정이 완료됩니다.
새로운 애플리케이션 등록을 완료하면, 애플리케이션 목록에 등록되고 정책, 할당 이라는 신규 탭이 추가 생성됩니다.
정책
애플리케이션 정책 설정을 위한 로그인 정책과 접근제어 정보를 설정할 수 있습니다.
구분
설명
필수 여부
로그인 정책
애플리케이션에 로그인 할 때 적용되는 로그인 정책을 설정합니다. 설정하려면 설정할 ‘로그인 정책’에서 애플리케이션을 할당해주세요.
선택
접근 제어
사용자가 앱 사용을 접근을 제어하는 설정입니다. 활성화 시 애플리케이션에 접근 허용 요청 여부 및 승인 유무에 대해서 설정할 수 있습니다.
선택
표. 정책
할당 설정
애플리케이션 사용자를 할당하기 위한 정보를 사용자와 그룹 기준으로 등록합니다. 등록한 애플리케이션에 접근할 수 있는 사용자와 그룹을 설정하여 접근 권한을 할당하는 메뉴입니다.
사용자를 할당하시려면, 다음의 절차를 따르세요.
애플리케이션 클릭하면, 해당 애플리케이션 상세 페이지로 이동합니다.
할당 탭을 클릭하시고 사용자 탭 > 할당 버튼을 클릭하세요.
사용자 할당 팝업창이 나타나면 할당하려는 사용자를 선택하고, 할당 버튼을 클릭하세요.
할당 탭에 선택하신 사용자가 목록에 나타납니다.
주의
동일하게 그룹 탭에서 할당 버튼을 통해 사전에 정의된 그룹을 할당이 가능합니다. 동일한 방법으로 그룹을 할당하세요.
그룹 설정
애플리케이션에 접근할 수 있는 그룹을 설정할 때 특정 그룹을 정의하여 구분할 수 있는 정보 포함하도록 설정합니다.
그룹을 구분할 수 있는 멤버 규칙으로 접근권한을 관리할 수 있도록 사전에 규칙과 그룹을 정의하여야 합니다.
참고
애플리케이션 상태
활성화(Active): User Portal에 애플리케이션을 노출시키며, Sign-On 서비스, 프로비저닝, 정책 등을 설정하여 사용자가 애플리케이션에 접근하여 사용할 수 있는 상태입니다.
비활성화(Inactive): User Portal에 애플리케이션을 노출시키지 않으며, 애플리케이션을 삭제할 수 있는 상태입니다.
삭제: 등록한 애플리케이션을 삭제를 할 때에는 주의가 필요합니다. 이에 팝업창을 띄워서 애플리케이션 정보와 상태를 한 번 더 확인할 수 있도록 합니다.
IdP Sign-In Key 설정
ID를 넘겨주는 Key 값을 받아서 SCP SingleID에서 로그인을 처리하는 방법은 다음 두가지가 있습니다.
표준 SAML Keyword로 식별자 ID값을 받는 방법
커스텀한 식별자 ID를 만들어서 받는 방법
위 방법 중 하나로 받은 이름을 User ID와 매핑할 수도 있고, CN 값과도 매핑할 수 있습니다. 이와 같이 인증정보를 어떤 값과 매핑하여 로그인을 처리할지를 설정하는 기능입니다.
JIT 프로비저닝
Identity Provider의 JIT 프로비저닝 기능 탭이 추가 되었습니다. 이 기능은 사용자의 변경 사항이 발생시 계정을 실시간으로 동기화 기능입니다. 계정을 실시간 동기화 시 항목을 설정할 수 있습니다.
구분
설명
필수 여부
JIT 프로비저닝
JIT 프로비저닝은 Just-In Provisioning 약자로 사용자가 시스템에 처음 로그인할 때 신속하게 사용자 계정을 생성하는 데 사용되는 ID 및 액세스 관리 기능입니다.
On, OFF로 해당 기능을 설정할 수 있습니다.
필수
IdP 사용자에 맵핑된 SingleID 사용자가 없는 경우
사용자가 처음 접속 할 경우 Action을 관리합니다.
회원가입 페이지로 이동: 신규로 계정 생성합니다. ID 중복 방지를 위해 로그인한 ID에 별도의 ID 접미사를 설정합니다.
사용자 초대 없이 새로운 SingleID 사용자를 자동 생성: 자동적으로 ID를 생성합니다.
사용자 등록 웹사이트로 이동: 별도의 사용자 가입 페이지가 존재할 경우 별도 사용자 등록 페이지로 이동합니다.
필수
IdP 사용자에 맵핑된 SingleID 사용자가 있는 경우
사용자가 있을 경우 사용자 정보를 업데이트합니다.
필수
표. JIT 프로비저닝
모든 항목을 입력 후 완료 버튼을 클릭하면 기본적인 애플리케이션 설정이 완료됩니다.
Identity Provider 수정
Identity Provider을 목록 화면에서 Identity Provider을 클릭하면 설정을 수정할 수 있습니다.
Identity Provider을 수정하시려면, 다음의 절차를 따르세요.
Admin Portal > 연동 >Identity Provider 선택 > 수정 버튼 클릭하세요.
일반, SSO, 프로비저닝, 정책, 할당 탭을 클릭하여 수정할 항목 수정하세요.
저장 버튼을 클릭하세요.
안내
애플리케이션을 비활성화 하시려면, 애플리케이션을 선택 후 비활성화 버튼을 클릭하세요.
Identity Provider 삭제
Identity Provider 목록 화면에서 Identity Provider를 선택 후 비활성화 한 후 목록 화면으로 돌아와 삼점 모양에서 삭제할 수 있습니다. 다시 등록하시려면 추가 버튼을 클릭하여 등록하세요.
Authenticator
SCP SingleID에서 제공되는 Authenticator를 연동하여 설정합니다. 기본적으로 패스워드와 Email은 활성 상태로 기본 설정이 되어 있습니다.
추가적으로 설정 및 제공하는 Authenticator는 다음과 같습니다.
Knox Messenger: Knox Messenger로 OTP 발송 가능합니다.
PC SSO Agent: SingleID: Agentless로 SSO를 제공하지만 SSO Agent를 사용하여 멀티 브라우저 SSO 기능,
SingleID Authenticator: SingleID 전용 인증 모바일 앱으로 생체(지문, 안면), PIN, mOTP, TOTP를 지원합니다.
SMS: 모바일 SMS로 OTP를 발송가능합니다.
Active Directory: AD 계정으로 인증을 수행합니다.
Passkey: Mobile Passkey, 보안 키, Window 생체/PIN 코드로 간편하게 로그인이 가능한 간편 인증 수단입니다.
Authenticator 목록
지원 가능한 6가지 유형의 모든 Authenticator 지원하고 있습니다.
Authenticator를 확인하시려면 다음 경로에서 확인 바랍니다.
Admin Portal > 연동 >Authenticator
Authenticator 추가
Authenticator 목록 화면에서 등록을 클릭하면 다음 화면으로 이동하여 Authenticator를 추가할 수 있는 화면으로 전환됩니다.
Authenticator를 추가하시려면, 다음의 절차를 따르세요.
Admin Portal > 연동 > Authentictor > 추가 버튼 클릭하세요.
각 인증 수단을 선택 > 다음 버튼 클릭하세요.
인증 설정에 필요한 정보를 입력하세요.
저장 버튼을 클릭하세요.
안내
일반적인 IdP 서비스가 제공할 수 있는 최적화된 업무 환경을 포함한 다양한 (9가지) 유형의 Authenticators가 모두 제공되고 있고, 이미 등록/설정되어 있기에 새로운 유형의 Authenticators가 필요하기 전까지는 신규로 추가할 Authenticator는 없습니다.
안내
Authenticator를 비활성화 하시려면, 애플리케이션을 선택 후 비활성화 버튼을 클릭하세요.
Authenticator 수정
Authenticator 목록 화면에서 Authenticator를 선택 후 수정을 클릭하면 수정할수 있는 확면으로 전환됩니다.
Authenticator를 수정하시려면, 다음의 절차를 따르세요.
Admin Portal > 연동 > Authentictor > 수정 버튼 클릭
각 항목을 수정하여 수정 버튼을 클릭하여 수정을 완료하세요.
Authenticator 삭제
Authenticator 목록 화면에서 Authenticator를 선택 후 비활성화 한 후 목록 화면으로 돌아와 삼점 모양에서 삭제할 수 있습니다. 다시 등록하시려면 추가 버튼을 클릭하여 등록하세요.
MFA Service Provider
MFA Service Provider 메뉴는 복합 인증을 통해서 기업에서 필요로 하는 보안 요건을 충족시키면서 보다 강화된 인증 기술과 함께 생체 인증 및 간편 인증 기술을 적용하여 사용자 편의성을 높이는 서비스를 제공합니다.
MFA Service Provider 목록
MFA Service Provider 목록을 확인하려면, 다음과 같은 메뉴에 접근 가능합니다.
Admin Portal > 연동 > MFA Service Provider
구분
설명
이름
MFA Service Provider의 이름입니다.
시스템 코드
시스템 코드 정보를 표시합니다.
프로젝트 코드
프로젝트 코드 정보를 표시합니다.
User Tag
User Tag를 표시합니다.
유형
MFA Service Provider 연동 방법을 표시합니다. 아래 3가지 방식으로 표시합니다.
ADFS Plugin
MFA API
RADIUS
시스템 코드 입력란
시스템 코드 정보를 입력합니다.
프로젝트 코드 입력란
프로젝트 코드 정보를 입력합니다.
검색어 입력란
Identity Provider 목록을 검색 가능합니다. 검색어를 입력 후 돋보기 모양을 클릭하거나 Enter를 입력하면 검색이 수행됩니다.
검색 가능 항목: 이름, 설명, 시스템 코드, 프로젝트 코드
상세 버튼
검색을 상세하게 검색 가능합니다. 검색 조건을 AND 조건으로 검색 가능합니다. 여러 필드를 입력 후 ‘검색’ 버튼을 클릭하면, 조건에 맞게 검색이 됩니다.
재설정 버튼을 클릭하면, 모든 검색 필드가 초기화됩니다.
등록 버튼
신규로 MFA Service Provider을 등록 가능합니다.
표. MFA Service Provider 목록
MFA Service Provider 등록
MFA Service Provider 을 등록하려면, 다음의 절차를 따르세요.
Admin Portal > 연동 > MFA Service Provider > 등록 버튼 클릭
ADFS Federated Application or Custom Application or Network Equipment 선택 > 다음 버튼 클릭
MFA Service Provider의 이름을 입력합니다. 이름으로 식별 되기 때문에 구분 및 관리를 위한 규칙이 필요합니다.
필수
설명
MFA Service Provider에 대한 설명(업무, 용도 등)을 입력합니다.
선택
로고 이미지
MFA Service Provider을 직관적으로 식별할 수 있는 로고를 등록합니다.
선택
User Tag를 사용하여 사용자 관리
User Tag 사용을 활성화하면, MFA Service Provider로 부터 새로운 사용자가 등록될 때 사용자의 ID 뒤에 “#"+User Tag가 자동으로 추가되어 ID가 중복으로 등록되는 것을 방지할 수 있습니다.
선택
User Tag
MFA Service Provider 하나에 1개의 User Tag 만 등록할 수 있습니다.
User Tag는 등록 후 수정할 수 없으며, MFA Service Provider와 사용자에게 붙는 Tag입니다.
테넌트 관리자는 User Tag를 정의하고 사용할 수 있습니다. MFA Service Provider를 통해 JIT 프로비저닝된 사용자는 사용자의 속성으로 동일한 User Tag가 설정되어, 사용자가 어디에서 만들어 졌는지를 확인할 수 있습니다.
필수
시스템 코드
시스템 코드 정보를 입력합니다.
선택
프로젝트 코드
프로젝트 코드 정보를 입력합니다.
선택
캠페인
하나의 인증수단만 사용하는 경우 사용자에게 본인 인증 수단 등록 안내 팝업페이지를 안내합니다. 선택 박스 선택시 활성화됩니다.
선택
표. MFA Service Provider 일반
MFA 연동
MFA 연동 정보를 입력합니다.
구분
설명
필수 여부
로그인
제공하는 Authenticator를 드롭 다운 목록에서 선택하세요.
필수
등록 시 본인 확인
등록 과정에서 필수적으로 수행하여야 하는 본인 확인 방식을 설정합니다.
사용자가 본인 확인을 위해 1차, 2차 Authenticator를 설정합니다.
관리자에게 인증 위임은 본인 확인을 위한 모바일 혹은 본인확인을 위한 다른 인증 도구가 없을 경우 특정 관리자가 대신 인증을 설정할 수 있습니다. ※ 특별한 환경을 이유를 제외하고는 사용을 권고드리지는 않습니다.
필수
ADFS Identifier
ADFS Identifier URL 정보를 입력하세요.
필수
Claim
Claim 이름을 입력하세요.
Claim은 특정한 key값을 통해 사용자 인증 및 권한을 관리하며 여기에 필요한 data를 추가하여 사용할 수 있는 인증 방법입니다.
동일한 사용자인지 확인하는 매핑하는지를 정의합니다. 최대 30개까지 등록할 수 있습니다.
필수
Secret Key
Secret Key는 SingleID와 MFA Service Provider 간의 신뢰할 수 있는 통신을 위한 암호화 키입니다.
발급 버튼을 클릭하여 발급하세요.
필수
표. MFA 연동
안내
본인 인증을 대신 할 담당자는 담당자 탭에서 설정이 가능합니다.
담당자
신규로 등록하는 MFA Service Provider를 담당하는 담당자를 선택하여 등록합니다.
구분
설명
추가 버튼
MFA Service Provider의 담당자를 추가할 수 있습니다.
검색
검색어(ID, 이름, 이메일, 상태)로 담당자를 찾을 수 있습니다.
선택(Check Box)
목록에서 검색된 담당자를 선택합니다.
추가
선택한 담당자를 추가할 수 있습니다.
완료
담당자 지정을 완료합니다.
표. 담당자 등록
완료 버튼을 클릭하면 등록이 완료 됩니다.
MFA Service Provider 수정
MFA Service Provider 목록 화면에서 Authenticator를 선택 후 수정을 클릭하면 수정할수 있는 확면으로 전환됩니다.
MFA Service Provider를 수정하시려면, 다음의 절차를 따르세요.
Admin Portal > 연동 > MFA Service Provider > 수정 버튼 클릭하세요.
각 항목을 수정하여 수정 버튼을 클릭하여 수정을 완료하세요.
MFA Service Provider 삭제
MFA Service Provider 목록 화면에서 MFA Service Provider를 선택 후 비활성화 한 후 목록 화면으로 돌아와 삼점 모양에서 삭제할 수 있습니다. 다시 등록하시려면 추가 버튼을 클릭하여 등록하세요.
2.3 - Identity Store
Identity Store는 조직에 등록된 사용자와 그룹을 관리할 수 있는 기능을 제공합니다.
조직에 사용자나 그룹이 등록되는 경우는 등록된 애플리케이션을 통해 프로비저닝 되거나 관리자가 직접 등록하는 등 여러가지 경우가 있습니다.
Identity Store는 여러 방식으로 등록된 사용자와 그룹을 통합하여 조회할 수 있으며 관리자가 각 사용자나 그룹에 대한 세부 설정을 할 수 있도록 다양한 관리 기능을 제공합니다.
관리자는 Identity Store를 통해 조직에 등록된 모든 사용자와 그룹을 관리할 수 있습니다.
사용자
테넌트 관리자는 사용자 메뉴에서 제공하는 기능을 이용하여 조직에 등록된 모든 사용자를 조회하고 수정할 수 있으며 사용자를 삭제하거나 새로운 사용자를 직접 등록할 수 있습니다.
또한 사용자의 그룹 멤버십을 변경하거나 사용자가 애플리케이션을 사용할 수 있도록 사용 권한을 할당할 수도 있습니다.
사용자들은 다음과 같이 여러가지 방법으로 SingleID에 등록됩니다.
애플리케이션으로부터 계정 동기화(Inbound Provisioning)을 통해 등록
Identity Provider로 부터 JIT(Just In Time) 프로비저닝을 통해 등록
MFA Service Provider로 부터 등록
관리자에 의해 수동 등록
관리자는 사용자 메뉴를 이용하여 다양한 방법으로 등록된 사용자들을 통합하여 관리할 수 있습니다.
사용자 메뉴에 접근하기 위해서는 다음과 같이 이동합니다.
Admin Portal > Identity Store > 사용자
사용자 목록
SingleID에 등록된 모든 사용자를 목록 형식으로 조회하고 검색할 수 있습니다.
구분
설명
ID
사용자의 ID가 표시됩니다.
이름
사용자의 이름이 표시됩니다.(성, 이름 순으로 표시)
이메일
사용자의 이메일 주소가 표시됩니다.
전화
사용자의 모바일 번호가 표시 됩니다.
관리자
Admin Portal의 관리자 유무를 표시합니다.
시스템 매핑 ID
애플리케이션 시스템 매핑 ID입니다.
상태
계정의 활성화 여부를 표시합니다. 활성: 현재 로그인이 가능한 사용자 상태입니다. 비활성: 임의로 비활성시긴 사용자 상태입니다. 대기: 계정 동기화 완료 상태이며, 사용자가 로그인 전까지는 대기 상태로 유지됩니다. 잠김: 비밀번호 오류로 잠긴 계정입니다. 휴면: 일정 이상 미접속하여 휴먼 처리된 계정 상태입니다.
관리 주체
계정의 관리 주체를 나타냅니다. 어느 시스템에서 자동으로 등록된 것인지, 수동 등록 된 것인지 알 수 있습니다. SingleID: 관리자가 직접 등록한 계정 그 외: 자동으로 계정 동기화된 계정
등록일
계정의 최초 등록 날짜
수정일
최신 업데이트 날짜
만료일
계정 만료 날짜
휴면 사용자 버튼
휴먼 사용자를 조회할 수 있습니다.
검색어 입력란
사용자 목록을 검색 가능합니다. 검색어를 입력 후 돋보기 모양을 클릭하거나 Enter를 입력하면 검색이 수행됩니다. 검색 가능 항목: 이름, 이메일, ID
상세 버튼
검색을 상세하게 검색 가능합니다. 검색 조건을 AND 조건으로 검색 가능합니다. 여러 필드를 입력 후 ‘검색’ 버튼을 클릭하면, 조건에 맞게 검색이 됩니다. ‘재설정’ 버튼을 클릭하면, 모든 검색 필드가 초기화됩니다.
등록 버튼
신규로 MFA Service Provider을 등록 가능합니다.
표. 사용자 목록
안내
휴면 사용자 버튼을 클릭하시면 휴먼 사용자 목록이 나타납니다. 선택 박스를 선택 후 활성화 버튼을 클릭하면 계정이 Active 상태로 변경됩니다. 계정 삭제를 원하시면, 삭제 버튼을 클릭하세요.
안내
사용자 검색 방법은 3가지가 있습니다.
사용자 상태 별 필터
키워드 검색
상세 검색
사용자 상태 별 필터
사용자를 상태 별로 필터링하려면 다음의 절차를 따르세요.
필터링을 원하는 사용자의 상태가 표시된 그룹의 버튼을 클릭하세요. (버튼은 한번에 하나만 선택할 수 있습니다)
필터링이 된 상태에서 페이지를 이동하여 원하는 사용자의 목록을 확인할 수 있습니다.
필터링이 된 상태에서 키워드 검색을 이용하여 원하는 사용자를 검색할 수 있습니다. (단, 필터링이 된 상태에서 상세 검색을 하는 경우 필터가 풀립니다)
필터링을 해제하려면 모두 버튼을 클릭하세요.
키워드 검색
키워드 검색을 하려면 다음의 절차를 따르세요.
키워드 검색 입력창에 마우스를 클릭하세요.
검색할 단어를 입력합니다. 이 때, 검색어 입력창 밑에 드롭다운 메뉴가 표시됩니다. 드롭다운 메뉴에 표시되는 **“아이디”,“영어 이름”, “이메일”**중 하나를 선택하면 해당 필드를 대상으로 검색이 실행되며 모두를 선택하면 아이디, 영어 이름, 이메일 필드를 모두 대상으로 하여 검색이 실행됩니다.
검색어를 입력한 후 엔터키를 입력하거나 돋보기 모양의 아이콘을 마우스로 클릭하면 검색이 실행됩니다. 이 때 아이디, 영어 이름, 이메일 필드를 모두 대상으로 검색이 실행됩니다.
검색 결과는 사용자 목록에 표시됩니다.
검색 결과를 취소하고 전체 목록을 표시하고 싶은 경우 키워드 검색어 입력 박스 오른쪽의 X 아이콘을 클릭하세요.
상세 검색
상세 검색을 하려면 다음의 절차를 따르세요.
상세 버튼을 클릭하세요.
상세 검색 화면에서 검색하고 싶은 필드에 검색어를 입력합니다.
상세 검색 화면에서 사용자의 등록일과 수정일을 선택하여 검색 범위를 제한할 수 있습니다.
여러 필드에 검색어를 입력한 경우 “AND” 조건으로 검색이 실행됩니다.
검색어를 입력한 후 Enter를 입력하거나 검색 버튼을 클릭 하여 검색을 실행합니다.
검색 결과는 사용자 목록에 표시됩니다.
검색 결과를 취소하고 전체 목록을 표시하고 싶은 경우 상세 검색 화면에서 재설정 버튼을 클릭하세요.
사용자 등록
테넌트 관리자는 계정 동기화을 통하지 않고 사용자를 직접 화면에서 수동으로 등록할 수 있습니다
사용자를 등록하시려면, 다음의 절차를 따르세요.
Admin Portal > Identity Store > 사용자 > 등록 버튼 클릭
사용자는 다음과 같이 3단계로 이루어진 화면을 통해 정보를 입력하고 등록할 수 있습니다.
프로파일
사용자 그룹
요약
프로파일
프로파일 화면에서 사용자의 기본 프로파일 정보를 입력합니다.
입력해야 할 필드는 다음과 같습니다.
구분
설명
필수 여부
ID
사용자의 ID를 입력합니다. 이미 등록된 사용자의 ID와 중복된 값은 입력할 수 없습니다.
필수
관리자
관리자 여부를 지정합니다. “허용"을 선택하면 관리자 권한을 갖습니다.
필수
이름 (한글 이름, 성)
한글 이름과 성을 순서대로 입력합니다.
필수
이름 (영어 이름, 성)
영어 이름과 성을 순서대로 입력합니다. 만약 영어 이름이 없다면 한글 이름과 성을 한번 더 입력합니다.
필수
이메일
이메일 주소를 입력합니다. 본인 확인 시에 사용되는 정보이므로 정확한 정보가 입력되어야 합니다.
필수
전화
모바일 번호를 입력합니다. 본인 확인 시에 사용되는 정보이므로 정확한 정보가 입력되어야 합니다.
필수
부서
한글 부서명과 영어 부서명을 입력합니다.
선택
조직
한글 조직명과 영어 조직명을 입력합니다.
선택
언어
사용자의 선호 언어를 지정합니다. 사용자 로그인 시 지정된 언어로 화면이 표시됩니다.
필수
시간대
사용자의 시간대를 지정합니다. 사용자 로그인 시 지정된 시간대로 모든 시간이 표기됩니다.
필수
만료일
사용자 만료일을 설정합니다. 기본값은 “미설정"입니다. 설정일 이후 자동 계정 삭제 설정 시 삭제할 날짜를 선택합니다.
선택
표. 프로파일 정보
다음 버튼을 클릭하여 사용자 그룹 화면으로 이동합니다.
사용자 그룹
사용자 그룹 화면에서 등록할 사용자의 그룹을 지정합니다.
화면 왼쪽에는 사용자에게 지정할 수 있는 전체 그룹이 표시됩니다.
사용자에게 지정할 그룹을 선택한 후 > 버튼을 클릭하여 할당된 그룹으로 이동합니다.
그룹 할당을 취소하려면 할당된 그룹에서 취소할 그룹을 선택한 후 < 버튼을 클릭하세요.
다음 버튼을 클릭하여 요약 화면으로 이동합니다.
참고
사용자에게 그룹을 할당하는 이유는 로그인 정책, 인증 정책, 애플리케이션 접근 정책 등에서 유기적으로 접근을 제어하기 위합니다.
요약
요약 화면에서 등록한 정보를 확인한 후 사용자를 등록합니다.
입력한 정보를 수정하고 싶다면 뒤로 버튼을 클릭하여 수정하고 싶은 화면으로 돌아갈 수 있습니다.
등록을 취소하려면 취소 버튼을 클릭하세요.
완료 및 추가 등록 버튼을 클릭하면 사용자를 등록하고 새로운 사용자를 이어서 등록할 수 있도록 프로 파일 화면으로 돌아갑니다.
완료 버튼을 클릭하면 사용자를 등록하고 등록한 사용자의 상세 정보 화면으로 이동합니다.
사용자 수정
사용자를 수정을 하시려면, 아래와 같은 절차를 따르세요.
Admin Portal > Identity Store > 사용자에서 수정하려는 사용자를 클릭하세요.
프로파일, 그룹, 애플리케이션, 복합인증(MFA) 방식, 기기, 활성 세션이 나타납니다.
하단 수정 버튼을 클릭 후 변경하려는 데이터를 수정하세요.
저장 버튼을 클릭하세요.
사용자의 상태 변경
SingleID 에서 관리하는 사용자의 상태는 다음과 같습니다.
구분
설명
활성
최초 등록 후 SingleID에 로그인하여 본인의 패스워드를 초기화한 후 정상 사용 중인 사용자입니다.
비활성
관리자에 의해 사용이 중지된 사용자입니다.
대기
최초 등록 후 SingleID에 한번도 로그인하지 않은 사용자입니다.
잠김
로그인 반복 실패 등의 이유로 잠긴 사용자입니다. (패스워드 리셋을 통해 사용자 스스로 잠김 해제가 가능한 상태)
휴먼 사용자
일정 이상 미 접속하여 휴먼 처리된 계정 상태입니다.
표. 사용자 상태
테넌트 관리자는 다음과 같이 사용자의 현재 상태에 따라 사용자의 상태를 변경할 수 있습니다.
현재
변경
설명
활성
비활성
비활성화 버튼을 클릭하여 활성 상태의 사용자를 비활성 상태로 변경할 수 있습니다.
비활성
활성
활성화 버튼을 클릭하여 비활성 상태의 사용자를 활성 상태로 변경할 수 있습니다.
대기
없음
대기 중의 사용자는 활성 상태나 비활성 상태로 변경할 수 없습니다.
잠김
활성
잠김 상태의 사용자는 비밀번호 재설정 버튼을 클릭하여 비밀번호를 초기화함과 동시에 상태를 활성을 변경할 수 있습니다.
표. 사용자 상태
사용자의 상태를 변경하는 버튼은 다음과 같이 목록과 상세 화면에 노출됩니다.
목록 화면에서 활성 또는 비활성 상태의 사용자를 하나 이상 선택한 경우
활성 또는 비활성 상태의 사용자 상세 화면으로 이동한 경우
안내
테넌트 관리자가 사용자를 비활성화하려고 하는 경우 다음과 같은 확인 팝업이 표시됩니다.
비활성화하려는 사용자의 정보를 확인한 후 비활성화 버튼을 한번 더 클릭하여 사용자의 상태를 활성에서 비활성으로 변경합니다.
이와 달리 비활성 상태의 사용자를 활성 상태로 변경하려는 경우에는 별도의 확인 팝업이 표시되지 않습니다.
비밀번호 재설정
테넌트 관리자는 사용자의 비밀번호를 재설정할 수 있습니다.
테넌트 관리자가 사용자의 비밀번호를 재설정하게 되면 해당 사용자에게는 안내 메일이 발송됩니다.
참고
재설정된 비밀번호는 관리자에게 표시되지 않습니다.
또한 사용자에게 발송되는 안내 메일에도 재설정된 비밀번호는 직접 전달되지 않습니다.
사용자는 안내 메일을 받은 후 직접 SingleID에 접속하여 비밀번호 재설정 기능을 이용하여 본인 확인 과정을 거친 후 비밀번호를 변경하여야 합니다.
사용자의 비밀번호를 변경하려면 다음의 절차를 따르십시오
사용자 목록에서 비밀번호를 변경할 사용자를 선택하여 클릭하세요.
사용자 상세 화면의 우측 상단에 있는 비밀번호 재설정 버튼을 클릭하세요.
확인 팝업이 표시되면 확인 버튼을 클릭하세요.
잠김 상태의 사용자 비밀번호를 재설정하면 잠김이 해제되고 활성 상태로 변경됩니다.
그룹
테넌트 관리자는 사용자가 멤버로 있는 그룹을 조회하고 그룹 멤버십을 추가하거나 삭제할 수 있습니다.
사용자의 그룹을 관리하려면 상세 화면에서 그룹 탭을 클릭하세요.
구분
설명
그룹 탭
사용자의 그룹 관리 화면을 표시합니다.
전체 그룹
사용자에게 할당할 수 있는 전체 그룹 목록을 표시합니다.
할당된 그룹
사용자에게 이미 할당된 그룹 목록을 표시합니다.
전체 그룹 검색
사용자에게 할당할 수 있는 전체 그룹을 대상으로 그룹 또는 그룹 설명으로 검색합니다. 검색 결과는 아래의 목록에 표시됩니다. 검색 후 전체 목록을 표시하려면 검색어 입력 칸의 오른쪽 X 버튼을 클릭하세요.
할당된 그룹 검색
사용자에게 이미 할당된 그룹을 대상으로 그룹 또는 그룹 설명으로 검색합니다. 검색 결과는 아래의 목록에 표시됩니다. 검색 후 전체 목록을 표시하려면 검색어 입력 칸의 오른쪽 X 버튼을 클릭하세요.
할당된 그룹 삭제
사용자에게 할당된 그룹 중 선택한 그룹을 삭제합니다. 사용자는 삭제된 그룹의 멤버에서 제외됩니다.
그룹 할당
사용자에게 선택한 그룹을 할당합니다. 사용자는 할당된 그룹의 멤버가 됩니다.
그룹 탭
그룹 삭제
사용자에게 할당된 그룹을 삭제하려면 다음의 절차를 따르세요.
할당된 그룹 목록에서 삭제할 그룹을 선택합니다. (그룹 이름 왼쪽의 체크박스를 체크합니다)
< 버튼을 클릭하여 할당된 그룹을 삭제합니다.
안내
그룹 규칙에 의해 할당된 그룹은 그룹 이름 옆에 체크박스가 표시되지 않습니다. 규칙에 의해 맺어진 멤버십은 관리자가 수동으로 제거할 수 없습니다.
그룹 할당
사용자에게 새로운 그룹을 할당하려면 다음의 절차를 따르세요.
전체 그룹 목록에서 새로 할당할 그룹을 선택합니다. (그룹 이름 왼쪽의 체크박스를 체크합니다)
> 버튼을 클릭하여 그룹을 할당합니다.
안내
그룹을 할당하면 추가된 그룹에 할당된 애플리케이션들에 대해 사용 권한이 자동으로 부여됩니다.
애플리케이션
테넌트 관리자는 사용자가 사용할 수 있도록 할단된 애플리케이션을 조회하고 애플리케이션을 추가 할당하거나 삭제할 수 있습니다.
사용자의 애플리케이션을 관리하려면 상세 화면에서 애플리케이션 탭을 클릭하세요.
구분
설명
애플리케이션 탭
사용자의 애플리케이션 관리 화면을 표시합니다.
할당된 애플리케이션 목록
사용자에게 할당된 애플리케이션들이 목록 형태로 표시됩니다.
할당 버튼
사용자에게 애플리케이션을 추가 할당할 수 있습니다.
애플리케이션 탭
애플리케이션 삭제
사용자에게 할당된 애플리케이션을 삭제하려면 다음의 절차를 따르세요.
할당된 애플리케이션 목록에서 삭제할 애플리케이션을 선택합니다. (애플리케이션 이름 왼쪽의 체크박스를 체크합니다)
애플리케이션 목록 위에 표시된 미할당 버튼을 클릭하세요.
확인 팝업에서 확인 버튼을 클릭하세요.
안내
할당된 애플리케이션을 삭제하면 User Portal > 나의 앱 메뉴에 더이상 애플리케이션이 표시되지 않습니다.
애플리케이션 할당
사용자에게 새로운 애플리케이션을 할당하려면 다음의 절차를 따르세요.
애플리케이션 목록 오른쪽 위에 표시된 할당 버튼을 클릭하세요.
애플리케이션 할당 팝업에서 애플리케이션을 선택합니다. (애플리케이션 이름 왼쪽 옆의 체크박스를 체크합니다)
할당 버튼을 클릭하세요.
애플리케이션을 모두 할당했다면 취소 버튼을 클릭하여 팝업을 닫습니다.
참고
할당된 애플리케이션은 사용자 포탈 > 나의 앱 메뉴에서 확인할 수 있습니다. (할당된 애플리케이션의 “화면표시” 옵션이 꺼져 있다면 사용자 포탈에 표시되지 않습니다)
복합인증(MFA) 방식 조회 및 관리
테넌트 관리자는 사용자가 등록한 복합인증 방식을 조회하고 등록정보 일부를 수정하거나 삭제할 수 있습니다
사용자의 복합인증(MFA) 방식을 관리하려면 상세 화면에서 복합인증(MFA) 방식 탭을 클릭하세요.
구분
설명
복합인증(MFA) 방식 탭
사용자의 복합인증(MFA) 방식 관리 화면을 표시합니다.
복합인증(MFA) 방식 목록
사용자가 등록한 복합인증(MFA) 방식이 목록 형태로 표시됩니다.
수정 버튼
사용자가 등록한 복합인증(MFA) 방식을 수정하거나 삭제할 수 있습니다.
복합인증(MFA) 방식 목록
복합인증(MFA) 방식 수정
사용자가 등록한 복합인증(MFA) 방식을 수정하려면 다음의 절차를 따르세요.
화면 오른쪽 아래의 수정 버튼을 클릭하세요.
수정하려는 복합인증(MFA) 목록의 등록 정보 열을 클릭하세요.
정보를 수정한 후 화면 오른쪽 아래의 저장 버튼을 클릭하세요.
복합인증(MFA) 방식 삭제
사용자가 등록한 복합인증(MFA) 방식을 삭제하려면 다음의 절차를 따르세요.
화면 오른쪽 아래의 수정 버튼을 클릭하세요.
삭제하려는 복합인증(MFA) 방식의 오른쪽에 있는 삭제 버튼을 클릭하세요.
경고 팝업에서 확인 버튼을 클릭하세요.
화면 오른쪽 아래의 저장 버튼을 클릭하세요.
사용자의 기기 정보 조회
관리자는 사용자가 복합인증 방식을 등록할 때 추가된 기기 정보를 확인할 수 있습니다.
사용자의 기기 정보를 확인하려면 상세 화면에서 기기 탭을 클릭하세요.
구분
설명
기기 탭
사용자의 기기 관리 화면을 표시합니다.
기기 목록
사용자가 복합인증(MFA) 방식을 등록할 때 추가된 기기들이 목록 형태로 표시됩니다.
기기 탭
안내
기기 정보는 조회만 가능하고 테넌트 관리자가 추가, 수정, 삭제할 수 없습니다.
활성 세션
사용자가 SingleID에 로그인하게 되면 SingleID는 로그인한 사용자의 세션 정보를 관리하게 됩니다.
테넌트 관리자는 사용자의 현재 활성 세션을 조회하고 강제로 세션을 종료시켜서 사용자를 로그아웃 하도록 관리할 수 있습니다.
사용자의 세션을 관리하려면 상세 화면에서 활성 세션 탭을 클릭하세요.
구분
설명
활성 세션 탭
사용자의 세션 관리 화면을 표시합니다.
활성 세션 목록
사용자의 현재 활성화된 세션이 목록 형태로 표시됩니다.
종료 버튼
사용자의 활성 세션을 강제로 종료 시킵니다.
활성 세션 탭
안내
사용자의 활성 세션 목록이 빈 목록으로 표시된다면 현재 사용자가 SingleID에 로그인되어 있지 않다는 의미입니다.
세션 강제 종료
사용자의 세션을 강제로 종료시키려면 다음의 절차를 따르세요.
강제 종료시킬 세션의 오른쪽 위에 표시된 종료 버튼을 클릭하세요.
종료 확인 팝업에서 종료 버튼을 클릭하세요.
안내
세션이 종료된 사용자는 SingleID에서 강제 로그아웃되며 다시 로그인을 해야 시스템을 사용할 수 있습니다.
그러나 세션 종료 전에 SingleID를 이용해 접속한 애플리케이션의 세션은 유지되며 애플리케이션 별 세션은 각 애플리케이션에서 관리됩니다.
복수 세션 강제 종료
사용자의 세션을 하나이상 선택하여 동시에 종료시키고 싶다면 다음과 같은 절차를 따르세요.
목록에서 강제 종료 시킬 세션들을 선택하여 세션 정보 왼쪽에 표시된 **체크 박스(V)**를 체크합니다.
목록 위에 표시된 종료 버튼을 클릭하세요.
종료 확인 팝업에서 종료 버튼을 클릭하세요.
사용자 삭제
테넌트 관리자는 사용자 정보를 SingleID 에서 삭제할 수 있습니다.
사용자를 삭제하는 버튼은 다음과 같이 목록과 상세 화면에 노출됩니다.
목록 화면에서 사용자를 하나 이상 선택한 경우
사용자를 선택한 후 삭제 버튼을 클릭하면 확인 팝업이 화면에 나타납니다.
사용자를 삭제하려면 사용자 정보를 확인한 후 사용자의 ID를 입력하고 삭제 버튼을 클릭하세요.
복수의 사용자를 선택한 후 삭제 버튼을 클릭하면 다음과 같은 확인 팝업이 화면에 표시됩니다.
선택한 사용자들을 삭제하려면 <, > 버튼을 이용하여 모든 사용자의 정보를 확인한 후 전체 삭제라는 문구를 입력하고 삭제 버튼을 클릭하세요.
안내
모든 사용자의 정보를 확인하고 전체 삭제라는 문구를 입력해야만 삭제 버튼이 활성화됩니다.
사용자 상세 화면으로 이동한 경우
관리자가 사용자를 삭제하려고 하는 경우 확인 팝업이 표시됩니다.
사용자를 삭제하려면 사용자 정보를 확인한 후 사용자의 ID를 입력하고 삭제 버튼을 클릭하세요.
참고
삭제된 사용자의 정보는 다시 복구 할 수 없습니다.
사용자 정보가 삭제될 때 사용자에게 할당된 그룹, 애플리케이션, 복합인증(MFA) 방법 역시 함께 삭제되며 동일한 ID로 다시 사용자를 등록해도 삭제된 그룹, 애플리케이션, 복합인증(MFA) 방법은 복구되지 않습니다.
애플리케이션의 인바운드 프로비저닝을 통해 등록된 사용자는 SingleID에서 삭제해도 해당 애플리케이션으로부터 다시 프로비전될 수 있습니다.
사용자를 완전히 삭제하려면 사용자 정보를 관리하는 원 시스템에서 삭제해야 합니다.
삭제 후 다시 사용자가 동일한 ID로 등록되도 삭제된 그룹, 애플리케이션, 복합인증(MFA) 방법은 자동으로 복구되지 않습니다.
그룹
관리자는 그룹 메뉴에서 제공하는 기능을 이용하여 조직에 등록된 모든 그룹을 조회하고 수정할 수 있으며 그룹을 삭제하거나 새로운 그룹을 등록할 수 있습니다.
또한 그룹의 멤버십 규칙을 변경하거나 그룹 멤버가 애플리케이션을 사용할 수 있도록 사용 권한을 할당할 수도 있습니다.
테넌트 관리자는 그룹 메뉴를 이용하여 다양한 방법으로 등록된 그룹들을 통합 관리할 수 있습니다.
그룹 메뉴에 접근하기 위해서는 다음과 같이 이동합니다.
Admin Portal > Identity Store > 그룹
그룹 목록
테넌트 관리자는 조직에 등록된 모든 그룹을 목록 형식으로 조회하고 검색할 수 있습니다.
구분 설명
구분
설명
그룹 목록
그룹 목록이 표시됩니다.
키워드 검색
그룹 이름, 설명으로 검색합니다.
상세 검색
그룹을 검색하는 상세 옵션을 화면에 표시합니다.
표. 그룹 목록
그룹 생성
관리자는 인바운드 프로비저닝을 통하지 않고 그룹을 직접 화면에서 수동으로 등록할 수 있습니다.
그룹을 수동으로 등록하려면 그룹 목록 화면에서 등록 버튼을 클릭하세요.
등록 버튼을 클릭하면 그룹 등록 팝업이 화면에 표시됩니다.
그룹 등록을 위해 입력해야 할 필드는 다음과 같습니다.
구분
설명
필수 여부
유형
그룹 유형을 선택합니다.
필수
이름
그룹의 이름을 입력합니다. 이미 등록된 그룹 이름과 중복된 값은 입력할 수 없습니다.
필수
설명
그룹의 설명을 입력합니다.
필수
표. 그룹 목록
완료 버튼을 클릭하면 그룹을 등록하고 등록한 그룹의 상세 정보 화면으로 이동합니다.
상세 정보 조회 및 수정
관리자는 그룹 목록에서 그룹을 클릭하여 그룹의 상세 정보 조회 화면으로 이동할 수 있습니다.
그룹을 새로 등록했다면 등록 직후에도 바로 그룹의 상세 화면으로 이동합니다.
그룹 상세 화면의 상단에는 그룹의 이름과 설명, 관리 주체 정보가 표시되고 그 아래에는 여러 개의 탭으로 구성된 그룹 정보가 보여집니다.
구분
설명
유형
그룹의 유형이 표시됩니다.
이름
그룹의 이름이 표시됩니다.
관리 주체
그룹이 관리되는 시스템이 표시됩니다. SingleID에서 테넌트 관리자가 직접 등록한 그룹의 경우 SingleID로 표시되며, 애플리케이션을 통해 인바운드 프로비전된 그룹인 경우 해당 애플리케이션 이름이 표시됩니다.
설명
그룹의 설명이 표시됩니다.
표. 상세 정보 조회
테넌트 관리자는 그룹 프로파일 탭을 통해 등록된 그룹의 상세 정보를 확인할 수 있습니다.
구분
설명
그룹 프로파일
그룹 프로파일이 표시됩니다.
목록
목록으로 돌아가는 버튼입니다.
수정
프로파일을 수정합니다.
표. 상세 정보 조회
그룹의 상세 정보를 수정하려면 다음의 절차를 따르세요.
그룹 상세 화면에서 프로파일 탭을 선택합니다.
수정 버튼을 클릭하세요.
그룹 정보를 수정합니다.
수정할 수 있는 필드는 다음과 같습니다.
구분
설명
필수 여부
이름
그룹의 이름을 입력합니다. 이미 등록된 그룹 이름과 중복된 값은 입력할 수 없습니다.
필수
설명
그룹의 설명을 입력합니다.
필수
표. 수정 필드
저장 버튼을 클릭하세요.
수정한 정보를 저장하지 않고 다시 조회 상태로 돌아가려면 취소 버튼을 클릭하세요.
그룹의 멥버쉽 규칙 관리
관리자는 특정 조건의 사용자를 자동으로 그룹의 멤버로 구성하는 규칙을 설정할 수 있습니다.
그룹의 규칙을 설정하면 테넌트 관리자가 직접 수동으로 멤버를 관리하지 않아도 자동으로 그룹의 멤버가 구성되며 설정한 조건식에 따라 멤버의 추가와 삭제가 이루어집니다.
그룹의 멤버쉽 규칙을 관리하려면 상세 화면에서 규칙 탭을 클릭하세요.
구분
설명
규칙 탭
그룹 규칙이 표시됩니다.
규칙
설정된 그룹의 규칙이 표시됩니다. (그룹을 만든 후의 멤버쉽 정책 설정의 기본값은 Off입니다) 멤버쉽 정책 설정이 Off 상태인 경우 자동으로 멤버가 관리되지 않습니다.
목록
목록으로 돌아가는 버튼입니다.
수정
규칙을 수정합니다.
표. 규칙 탭
그룹의 규칙을 설정하려면 다음의 절차를 따르세요.
그룹 상세 화면에서 규칙 탭을 선택합니다.
수정 버튼을 클릭하세요.
멤버쉽 정책 설정의 On 버튼을 클릭하세요.
WHEN 영역의 조건식을 설정합니다.
저장 버튼을 클릭하세요.
설정한 규칙을 저장하지 않고 다시 조회 상태로 돌아가려면 취소 버튼을 클릭하세요.
안내
그룹의 멤버쉽 규칙이 설정되면 관리자가 사용자의 상세 정보를 변경하거나 인바운드 프로비저닝에 의해 사용자의 상세 정보가 변경된 경우 자동으로 시스템이 설정된 규칙에 따라 사용자를 검색하여 자동으로 각 그룹의 멤버를 관리하게 됩니다.
그룹의 멤버쉽 규칙에 따라 자동으로 추가된 멤버는 테넌트 관리자가 수동으로 멤버에서 삭제할 수 없습니다.
WHEN 영역의 조건식은 다음과 같이 구성됩니다.
구분
설명
조건식 간 연산 관계
하나 이상의 조건식이 있는 경우 조건식 간의 연산 관계를 정의합니다. AND 또는 OR 중 하나를 선택할 수 있으며 모든 조건식에 공통으로 적용됩니다.
조건식 유형
조건식의 유형을 설정합니다. User Attribute를 선택할 수 있습니다.
조건 항목
조건식의 조건 항목을 설정합니다. 조건식의 유형이 User Attribute일 때 사용자의 속성을 목록에서 선택할 수 있습니다.
연산자
조건식의 연산 방식을 설정합니다.
조건 값
조건식의 조건 값을 설정합니다.
조건식 추가
조건식을 추가합니다.
조건식 삭제
조건식을 삭제합니다. 조건식이 하나일때는 삭제할 수 없습니다.
표. 규칙 탭
조건 항목에서 설정할 수 있는 사용자의 속성은 다음과 같습니다.
속성
데이터 유형
설명
필수 여부
key
String
키
필수
username
String
아이디
필수
password
GuardedString
패스워드
필수
status
String
상태
필수
mustChangePassword
Boolean
비밀번호 강제 설정 여부
필수
suspended
Boolean
대기 상태 여부
필수
creator
String
생성자
선택
creationDate
Date
생성일
선택
lastModifier
String
최종 수정자
선택
lastChangeDate
Date
최종 수정일
선택
administrator
Boolean
관리자 여부
선택
displayName
String
표시 이름
선택
cn
String
Common Name
선택
local
String
로케일(이메일 발송 기준)
선택
userSource
String
사용자출처
선택
syncDate
String
최종동기화일시
선택
contractNumber
String
도급계약번호
선택
contractStartDate
String
도급계약시작일
선택
contractEndDate
String
도급계약종료일
선택
agreementDate
String
필수약관동의일자
선택
accountStartDate
String
계정사용시작일
선택
accountEndDate
String
계정사용종료일
선택
partnerOrganizationCode
String
협력업체회사코드
선택
approvalUser
String
결재승인자 아이디
선택
formattedName
String
한글 표시 이름
선택
familyName
String
한글 성
선택
givenName
String
한글 이름
선택
enFormattedName
String
영문 표시 이름
선택
enFamilyName
String
영문 성
선택
enGivenName
String
영문 이름
선택
adDomain
String
AD Domain
선택
nickName
String
닉네임
선택
employeeNumber
String
사번
선택
epId
String
EP ID
선택
email
String
메일주소
선택
phoneNumberWork
String
전화번호
선택
mobile
String
휴대폰번호
선택
title
String
직급명
선택
executiveYn
String
임원 여부
선택
timeZone
String
타임존
선택
accountLocked
Boolean
계정 강제 잠금
선택
accountAutoLocked
Boolean
계정 자동 잠금
선택
accountDisabled
Boolean
계정 미사용
선택
accountSuspended
Boolean
휴면 계정
선택
accountSuspendedTime
Date
휴면 처리 시간
선택
lastLoginTime
Date
최종 로그인 시간
선택
accountState
String
계정 상태
선택
표. 조건 속성
연산자에서 설정할 수 있는 연산자들은 다음과 같습니다.
연산자
설명
Equals
조건 항목의 값이 조건 값과 일치하는 사용자를 검색합니다.
Not Equals
조건 항목의 값이 조건 값과 일치하지 않는 사용자를 검색합니다.
Starts with
조건 항목의 값이 조건 값의 문자열로 시작하는 사용자를 검색합니다.
Ends with
조건 항목의 값이 조건 값의 문자열로 끝나는 사용자를 검색합니다.
Contains
조건 항목의 값이 조건 값의 문자열을 포함하는 사용자를 검색합니다.
표. 연산자 목록
그룹 멤버 관리
테넌트 관리자는 수동으로 그룹의 멤버를 지정하거나 사용자를 그룹 멤버에서 삭제할 수 있습니다.
그룹의 멤버를 관리하려면 상세 화면에서 멤버 탭을 클릭하세요.
이름
설명
멤버 탭
그룹의 멤버 관리 화면을 표시합니다.
멤버 목록
그룹 멤버를 목록 형태로 표시합니다.
필터 버튼 그룹
그룹 멤버를 상태에 따라 필터링하여 목록을 표시합니다.
키워드 검색
키워드를 입력하여 그룹 멤버를 검색합니다.
상세 검색
상세 검색 조건을 입력하여 그룹 멤버를 검색합니다.
추가 버튼
그룹에 멤버를 추가합니다.
표. 맴버 탭
그룹 탭 내에서 멤버를 검색하는 방법은 3가지가 있습니다.
멤버 상태 별 필터
키워드 검색
상세 검색
안내
멤버 상태 구분
활성: 최초 등록 후 SingleID에 로그인하여 본인의 패스워드를 초기화한 후 정상 사용중인 사용자
비활성: 관리자에 의해 사용이 중지된 사용자
대기: 최초 등록 후 SingleID에 한번도 로그인하지 않은 사용자
잠김: 로그인 반복 실패 등의 이유로 잠긴 사용자 (패스워드 리셋을 통해 사용자 스스로 잠김 해제가 가능한 상태)
멤버 상태 별 필터
멤버를 상태 별로 필터링하려면 다음의 절차를 따르세요.
필터링을 원하는 멤버의 상태가 표시된 그룹의 버튼을 클릭하세요. (활성, 비활성, 대기, 잠김 버튼)
필터링이 된 상태에서 페이지를 이동하여 원하는 멤버의 목록을 확인할 수 있습니다.
필터링이 된 상태에서 키워드 검색을 이용하여 원하는 멤버를 검색할 수 있습니다. (단, 필터링이 된 상태에서 상세 검색을 하는 경우 필터가 풀립니다)
필터링을 해제하려면 모두 버튼을 클릭하세요.
키워드 검색
키워드 검색을 하려면 다음의 절차를 따르세요.
키워드 검색 입력창에 마우스를 클릭하세요.
검색할 단어를 입력합니다. 이 때, 검색어 입력창 밑에 드롭다운 메뉴가 표시됩니다. 드롭다운 메뉴에 표시되는 “아이디”, “영어 이름”, “이메일"중 하나를 선택하면 해당 필드를 대상으로 검색이 실행되며 “모두"를 선택하면 아이디, 영어 이름, 이메일 필드를 모두 대상으로 하여 검색이 실행됩니다.
검색어를 입력한 후 엔터키를 입력하거나 돋보기 모양의 아이콘을 마우스로 클릭하면 검색이 실행됩니다. 이 때 아이디, 영어 이름, 이메일 필드를 모두 대상으로 검색이 실행됩니다.
검색 결과는 멤버 목록에 표시됩니다.
검색 결과를 취소하고 전체 목록을 표시하고 싶은 경우 키워드 검색어 입력 박스 오른쪽의 X 아이콘을 클릭하세요.
상세 검색
상세 검색을 하려면 다음의 절차를 따르세요.
상세 버튼을 클릭하세요.
상세 검색 화면에서 검색하고 싶은 필드에 검색어를 입력합니다.
상세 검색 화면에서 멤버의 등록일을 선택하여 검색 범위를 제한할 수 있습니다.
여러 필드에 검색어를 입력한 경우 “AND” 조건으로 검색이 실행됩니다.
검색어를 입력한 후 엔터키를 입력하거나 검색 버튼을 클릭 하여 검색을 실행합니다.
검색 결과는 멤버 목록에 표시됩니다.
검색 결과를 취소하고 전체 목록을 표시하고 싶은 경우 상세 검색 화면에서 재설정 버튼을 클릭하세요.
멤버 삭제
그룹에서 멤버를 삭제하려면 다음의 절차를 따르세요.
멤버 목록에서 삭제할 멤버를 하나 이상 선택합니다. (멤버 ID 왼쪽의 체크박스를 체크합니다)
목록 상단에 표시된 삭제 버튼을 클릭하세요.
경고 팝업에서 확인 버튼을 클릭하세요.
안내
그룹에서 멤버를 삭제해도 멤버 사용자 정보가 삭제되는 것은 아닙니다.
삭제된 멤버는 그룹을 통해 할당 받은 애플리케이션 사용 권한을 잃게 됩니다.
멤버 추가
그룹에 멤버를 추가하려면 다음의 절차를 따르세요.
멤버 목록 오른쪽 위의 추가 버튼을 클릭하세요.
멤버 추가 팝업에서 멤버로 추가할 사용자를 하니 이상 선택합니다. (사용자 ID 왼쪽 체크박스를 체크합니다)
추가 버튼을 클릭하세요.
원하는 사용자를 모두 멤버로 추가했다면 팝업의 취소 버튼을 클릭하여 멤버 추가 팝업을 닫습니다.
안내
추가된 멤버는 추가 즉시 그룹을 통해 할당받은 애플리케이션 사용 권한을 얻게 됩니다.
애플리케이션 관리
테넌트 관리자는 그룹에 할당된 애플리케이션을 조회하고 애플리케이션을 추가하거나 삭제할 수 있습니다.
할당된 애플리케이션을 삭제하면 그룹 멤버들의 User Portal > 나의 앱 메뉴에 더이상 애플리케이션이 표시되지 않습니다.
애플리케이션 할당
그룹에 새로운 애플리케이션을 할당하려면 다음의 절차를 따르세요.
애플리케이션 목록 오른쪽 위에 표시된 할당 버튼을 클릭하세요.
애플리케이션 할당 팝업에서 애플리케이션을 선택합니다. (애플리케이션 이름 왼쪽 옆의 체크박스를 체크합니다)
할당 버튼을 클릭하세요.
애플리케이션을 모두 할당했다면 취소 버튼을 클릭하여 애플리케이션 할당 팝업을 닫습니다.
안내
할당된 애플리케이션은 그룹 멤버들의 사용자 포탈 > 나의 앱 메뉴에서 확인할 수 있습니다. (할당된 애플리케이션의 화면표시 옵션이 꺼져있다면 사용자 포탈에 표시되지 않습니다)
그룹 삭제
테넌트 관리자는 그룹을 SingleID에서 삭제할 수 있습니다.
그룹을 삭제하는 버튼은 다음과 같이 목록과 상세 화면에 노출됩니다.
목록 화면에서 그룹을 하나 이상 선택한 경우
그룹을 선택한 후 삭제 버튼을 클릭하면 다음과 같은 확인 팝업이 화면에 표시됩니다.
그룹을 삭제하려면 그룹 정보를 확인한 후 그룹 이름을 입력하고 삭제 버튼을 클릭하세요.
복수의 그룹을 선택한 후 삭제 버튼을 클릭하면 다음과 같은 확인 팝업이 화면에 표시됩니다.
선택한 그룹들을 삭제하려면 <, > 버튼을 이용하여 모든 그룹의 정보를 확인한 후 전체 삭제라는 문구를 입력하고 삭제 버튼을 클릭하세요.
안내
모든 그룹의 정보를 확인하고 전체 삭제라는 문구를 입력해야만 삭제 버튼이 활성화됩니다.
그룹 상세 화면으로 이동한 경우
테넌트 관리자가 그룹을 삭제하려고 하는 경우 다음과 같은 확인 팝업이 표시됩니다.
그룹을 삭제하려면 그룹 정보를 확인한 후 그룹 이름을 입력하고 삭제 버튼을 클릭하세요.
참고
삭제된 그룹의 정보는 다시 복구 할 수 없습니다.
그룹 정보가 삭제될 때 그룹의 멤버, 그룹에게 할당된 애플리케이션 정보 역시 함께 삭제되며 동일한 이름으로 다시 그룹을 등록해도 멤버나 애플리케이션 정보는 복구되지 않습니다.
애플리케이션의 인바운드 프로비저닝을 통해 등록된 그룹은 SingleID에서 삭제해도 해당 애플리케이션으로부터 다시 프로비전될 수 있습니다.
그룹을 완전히 삭제하려면 그룹 정보를 관리하는 원장 시스템에서 삭제해야 합니다.
삭제 후 다시 그룹이 동일한 이름으로 등록되도 삭제된 멤버나 애플리케이션 정보는 자동으로 복구되지 않습니다.
2.4 - 정책
SingleID에 로그인하거나 SingleID에 등록된 애플리케이션을 로그인할 때 로그인 방식이나 인증 세션, 비밀번호 등에 대한 여러가지 설정을 조직의 보안 정책에 따라 설정할 필요가 있습니다.
SingleID는 로그인과 인증 정보에 대한 상세한 설정을 할 수 있는 정책 관리 기능을 제공합니다. 만약 이상행위 탐지 기능(ADM)을 구매했다면 로그인 시 사용자의 로그인 행위를 분석하여 평소와 다른 인증 이상을 감지했을 때 사용자에게 잠재적인 보안 위협 상황을 알리도록 설정할 수도 있습니다.
SingleID가 제공하는 정책 기능은 다음과 같습니다.
로그인 정책
인증 정책
이상행위 탐지 정책
SingleID의 정책 기능을 이용하여 누가 언제 어떤 환경에서 어떤 애플리케이션에 로그인하려는지에 따라 세부적인 로그인 방법을 지정하여 조직의 보안 요건을 만족시킬 수 있는 안전한 인증 환경을 구성할 수 있습니다.
로그인 정책
관리자는 사용자가 SingleID를 이용해 로그인할 때 어떤 인증 수단을 이용하여 인증할 수 있는지 상세한 정책을 설정하고 필요한 경우 특정 환경에서 인증하는 사용자들을 위한 조건 별 인증 정책을 만들 수 있습니다.
로그인 정책은 다음과 같은 조건들을 이용하여 정책을 구성할 수 있습니다.
어떤 애플리케이션에 로그인하는가?
누가 로그인하는가?
어떤 환경에서 로그인하는가?
로그인 정책 메뉴에 접근하기 위해서는 다음과 같이 이동합니다.
Admin Portal > 정책 > 로그인 정책
기본 로그인 정책
Admin Portal은 다음과 같은 두 개의 정책이 기본 생성됩니다.
Admin Portal Policy: Admin Portal 접속 권한을 제어 정책
Default Policy: 사용자의 기본 접근 제어 정책
Admin Portal Policy는 Admin Portal에 로그인하려는 경우에 적용되는 로그인 정책이며 Default Policy는 사용자 포탈에 로그인하려는 경우에 적용되는 로그인 정책입니다.
SingleID에 애플리케이션을 연동한 후 별도의 로그인 정책을 할당하지 않았다면 기본 로그인 정책으로 Default Policy가 자동 할당됩니다.
안내
위 2개의 기본 정책은 비활성화 하거나 삭제할 수 없습니다.
로그인 정책 등록
로그인 정책은 관리자 및 사용자의 로그인 정책을 설정합니다. 접속 환경, 애플리케이션, 상황에 따른 로그인 정책을 설정할 수 있습니다.
로그인 정책은 다음과 같이 4단계로 이루어진 화면을 통해 등록할 수 있습니다.
일반
할당
Initial Redirection
규칙
일반
일반 화면에서 로그인 정책의 이름과 설명을 입력합니다.
입력해야 할 필드는 다음과 같습니다.
이름
설명
필수 여부
이름
로그인 정책의 이름을 입력합니다.
필수
설명
로그인 정책의 설명을 입력합니다.
필수
표. 일반
다음 버튼을 클릭하여 할당 화면으로 이동합니다.
할당
할당 화면에서 로그인 정책을 적용할 애플리케이션을 지정합니다.
이름
설명
필터
애플리케이션들을 상태에 따라 필터링 합니다.
키워드 검색
애플리케이션 이름, 설명으로 검색합니다.
상세 검색
애플리케이션을 검색하는 상세 옵션을 화면에 표시합니다.
할당 버튼
애플리케이션 할당 팝업을 화면에 표시합니다.
할당된 애플리케이션 목록
할당된 애플리케이션이 목록 형식으로 표시됩니다. 비어있는 목록으로 시작합니다.
표. 할당
할당 버튼을 클릭하여 애플리케이션 할당 팝업을 화면에 표시합니다.
애플리케이션 할당 팝업에서 로그인 정책에 할당할 애플리케이션을 하나 이상 선택한 후 할당 버튼을 클릭합니다.
애플리케이션을 모두 할당했다면 취소 버튼을 클릭하여 애플리케이션 할당 팝업을 닫습니다.
Initial Redirection
Initial Redirection 화면에서 사용자의 로그인 화면 진입 방법과 로그인 방식을 지정합니다
Redirected to SingleID’s Sign-in page (로그인 페이지)
Redirected to the external IdP
위 2가지 방식의 설명은 아래와 같습니다.
Redirected to SingleID’s Sign-in page를 선택한 경우 로그인 하려는 사용자에게 SingleID의 로그인 페이지가 표시됩니다.
Redirected to the external IdP를 선택한 경우 로그인 하려는 사용자는 선택된 Identity Provider의 로그인 페이지가 표시됩니다.
Redirected to the external IdP를 선택한 후에는 선택 목록에서 Identity Provider를 선택하여 지정해야 합니다.
Redirected to SingleID’s Sign-in page를 선택한 경우 옵션으로 SingleID 로그인 화면 하단에 Identity Provider를 통해 로그인할 수 있도록 선택할 수 있는 버튼을 추가로 표시할 수 있습니다.
AND see the following external IdP buttons on the Sign-In page 아래의 텍스트 입력 창에 마우스를 클릭하고 SingleID에 등록된 Identity Provider 들을 하나 이상 선택하여 로그인 화면에 표시하도록 설정할 수 있습니다.
안내
Identity Provider를 등록하거나 등록된 Identity Provider를 로그인 화면에 표시하는 방법에 대한 설정은
Identity Provider 등록를 참조하십시오.
규칙
규칙 화면에서 로그인 규칙을 수정하거나 추가하고 로그인 규칙 간의 우선순위를 설정합니다.
이름
설명
규칙 목록
로그인 규칙들이 목록 형태로 화면에 표시됩니다. Default Rule이 기본으로 표시되며 Default Rule은 삭제할 수 없습니다.
키워드 검색
로그인 규칙의 이름 또는 설명으로 검색합니다.
등록 버튼
로그인 규칙을 새로 등록합니다.
완료 버튼
로그인 정책을 등록합니다.
표. 규칙
Default Rule 설정
규칙 화면의 로그인 규칙 목록에는 기본적으로 Default Rule이 표시됩니다.
Default Rule은 삭제할 수 없고 수정만 가능합니다. 또한 로그인 규칙을 하나 이상 추가했을 때 우선순위를 설정할 수 없습니다. (항상 제일 낮은 우선순위입니다.)
Default Rule을 수정하려면 다음의 절차를 따르세요.
규칙 목록에서 Default Rule을 클릭합니다.
Default Rule의 WHEN 조건은 수정할 수 없습니다.
Default Rule의 THEN 결과를 수정할 수 있습니다.
이름
설명
접근 허용 여부 설정
접근 허용 여부를 설정합니다.
필수 인증 방식
1차 로그인 방법을 설정합니다. 기본 로그인 방법 외에 추가 로그인 방법을 로그인 화면에 표시할 수 있습니다.
MFA 인증
1차 로그인이 성공한 후에 추가 로그인을 요구하도록 설정합니다.
약관 및 조건에 대한 동의 수집 조건 및 약관
사용자가 처음으로 SingleID에 로그인하는 경우 약관 및 이용 조건을 보이고 동의를 구할 수 있도록 설정합니다.
저장 버튼
수정한 로그인 규칙을 저장합니다.
표. Default Rule
접근 허용 여부 설정에서 다음의 두 가지 옵션 중 하나를 선택할 수 있습니다.
Deny Access
Allow Access
Deny Access 를 선택하면 모든 사용자의 로그인을 거부하게 됩니다.
접근 허용 여부 설정에서 Allow Access를 선택한 경우 사용자의 로그인 방법을 설정할 수 있습니다.
안내
Initial Redirection 화면에서 로그인 화면 진입 방법으로 Redirected to the external IdP를 선택했다면 1차 로그인 설정은 화면에 표시되지 않습니다.
필수 인증 방식은 Initial Redirection의 설정에 따라 외부 Identity Provider에서 이루어집니다.
사용자가 복합 인증을 통해 로그인하도록 하려면 MFA 인증의 체크박스를 체크한 후 텍스트 입력 박스에서 Authenticator를 하나 이상 선택합니다.
사용자가 처음으로 SIngleID에 로그인하는 경우 사용자에게 약관 및 이용 조건을 보이고 사용자의 동의를 요구하도록 설정하려면 약관 및 이용 조건 동의 설정(d)의 체크박스를 체크한 후 텍스트 입력 입력 박스에서 화면에 표시할 약관이나 이용 조건 등을 하나 이상 선택합니다.
규칙 추가
로그인 규칙을 추가하려면 다음의 절차를 따르세요.
규칙 목록 오른쪽 위의 등록 버튼을 클릭합니다.
규칙 등록 화면에서 규칙의 이름과 설명을 입력합니다
아래를 참조하여 규칙 항목을 입력하세요.
이름
설명
이름
규칙의 이름입니다.
설명
규칙의 설명입니다.
사용자 그룹 할당
규칙에 적용할 사용자의 그룹을 선택하세요.
프로파일 속성 할당
프로파일 속성 할당 목록의 ‘추가’ 버튼을 클릭하여, 속성을 추가합니다. 속성에 대한 설명과 연산자 설명은 아래 도움말을 참조하세요.
그룹 설정
로그인하는 사용자가 멤버로 속한 그룹을 지정합니다.
사용자 속성 목록
로그인하는 사용자의 속성과 속성 별 조건을 지정합니다.
사용자 속성 추가 버튼
“속성 추가” 팝업을 화면에 표시합니다.
표. 규칙 추가
접근 환경
이름
설명
네트워크
로그인하는 사용자의 IP 또는 네트워크 대역을 지정합니다. 기본값은 “IP address anywhere” 입니다.- 데스크탑- 모바일
플랫폼
로그인하는 사용자의 기기 정보를 지정합니다. 기본값은 “Any platforms” 입니다.- 데스크탑- 모바일
브라우저
로그인하는 사용자의 브라우저 정보를 지정합니다. 기본값은 “Any browsers” 입니다.- Edge- Chrome- Safari
OS
로그인하는 OS 정보를 지정합니다. 기본값은 “Any OS” 입니다.- Windows 10- Windows 11- Android- iOS
AND Anomalies (이상행위)
로그인 중 이상행위가 탐지되었는지 여부를 조건을 설정합니다.이상행위 탐지 조건 설정은 이상행위 탐지 기능(ADM) 옵션을 구매한 테넌트의 경우에만 설정이 가능합니다.이상행위 탐지 기능(ADM)을 이용하기 위해서는 SingleID 이용 계약 시 추가 옵션을 선택해야 합니다.이상행위 탐지 기능을 사용하고자 하시는 경우 SCP 상품 구매 페이지에서 추가 구매를 하실 수 있습니다.“WHEN” 조건 영역을 모두 설정한 후 조건에 해당하는 사용자가 로그인할 때 사용하게 될 로그인 방법을 설정합니다.
표. 접근 환경
안내
선택할 수 있는 사용자의 속성은 다음과 같습니다.
사용자 속성 정보
속성명
데이터 유형
필수 여부
설명
key
String
필수
키
username
String
필수
아이디
password
GuardedString
필수
패스워드
status
String
필수
상태
mustChangePassword
Boolean
필수
비밀번호 강제 설정 여부
suspended
Boolean
필수
대기 상태 여부
creator
String
-
생성자
creationDate
Date
-
생성일
lastModifier
String
-
최종 수정자
lastChangeDate
Date
-
최종 수정일
administrator
Boolean
-
관리자 여부
displayName
String
-
표시 이름
cn
String
-
Common Name
local
String
-
로케일(이메일 발송 기준)
userSource
String
-
사용자 출처
syncDate
String
-
최종 동기화 일시
contractNumber
String
-
도급 계약 번호
contractStartDate
String
-
도급 계약 시작일
contractEndDate
String
-
도급 계약 종료일
agreementDate
String
-
필수 약관 동의 일자
accountStartDate
String
-
계정 사용 시작일
accountEndDate
String
-
계정 사용 종료일
partnerOrganizationCode
String
-
협력 업체 회사 코드
approvalUser
String
-
결재 승인자 아이디
formattedName
String
-
한글 표시 이름
familyName
String
-
한글 성
givenName
String
-
한글 이름
enFormattedName
String
-
영문 표시 이름
enFamilyName
String
-
영문 성
enGivenName
String
-
영문 이름
adDomain
String
-
AD Domain
nickName
String
-
닉네임
employeeNumber
String
-
사번
epId
String
-
EP ID
email
String
-
메일 주소
phoneNumberWork
String
-
전화 번호
mobile
String
-
휴대폰 번호
title
String
-
직급명
enTitle
String
-
영문 직급명
titleCode
String
-
직급 코드
entitlement
String
-
직위명
department
String
-
부서명
enDepartment
String
-
영문 부서명
departmentCode
String
-
부서 코드
organization
String
-
회사명
enOrganization
String
-
영문 회사명
organizationCode
String
-
회사 코드
region
String
-
거점
userStatus
String
-
임직원 상태
userType
String
-
임직원 타입
securityLevel
String
-
보안 등급
preferredLanguage
String
-
Knox 언어
executiveYn
String
-
임원 여부
timeZone
String
-
타임존
accountLocked
Boolean
-
계정 강제 잠금
accountAutoLocked
Boolean
-
계정 자동 잠금
accountDisabled
Boolean
-
계정 미사용
accountSuspended
Boolean
-
휴면 계정
accountSuspendedTime
Date
-
휴면 처리 시간
lastLoginTime
Date
-
최종 로그인 시간
accountState
String
-
계정 상태
표. 사용자 속성
연산자는 아래와 같습니다.
연산자
설명
Equals
속성의 값이 조건 값과 일치하는 사용자를 검색합니다.
Not Equals
속성의 값이 조건 값과 일치하지 않는 사용자를 검색합니다.
Starts with
속성의 값이 조건 값의 문자열로 시작하는 사용자를 검색합니다.
Ends with
속성의 값이 조건 값의 문자열로 끝나는 사용자를 검색합니다.
Contains
속성의 값이 조건 값의 문자열을 포함하는 사용자를 검색합니다.
표.연산자
THEN 설정
THEN 결과 영역에서 로그인 방법과 절차를 설정합니다.
접근 허용 여부 설정(a)에서 다음의 두 가지 옵션 중 하나를 선택할 수 있습니다.
Deny Access
Allow Access
Deny Access를 선택하면 모든 사용자의 로그인을 거부하게 됩니다. (접근 허용 여부 설정(a)의 기본값은 Deny Access입니다)
사용자들이 로그인할 수 있도록 허용하고 상세한 로그인 방법을 설정하려면 Allow Access를 선택합니다.
이름
설명
접근 허용 여부 설정
접근 허용 여부를 설정합니다.
1차 로그인 설정
1차 로그인 방법을 설정합니다. 기본 로그인 방법 외에 추가 로그인 방법을 로그인 화면에 표시할 수 있습니다.
추가 로그인 설정
1차 로그인이 성공한 후에 추가 로그인을 요구하도록 설정합니다.
약관 및 이용 조건 동의 설정
사용자가 처음으로 SIngleID에 로그인하는 경우 약관 및 이용 조건을 보이고 동의를 구할 수 있도록 설정합니다.
PC SSO Agent 설정
PC SSO Agent를 이용하여 사용자의 PC에 보안 프로그램(Endpoint Security)가 설치되어 있는지 여부를 확인하도록 설정합니다.
저장 버튼
수정된 로그인 규칙을 저장합니다.
표. THEN
1차 로그인 설정의 선택 목록에서 로그인에 사용할 Authenticator를 선택합니다.
선택한 1차 로그인 방법 외에 사용자가 다른 Authenticator로도 로그인을 할 수 있게 하고자 하는 경우에는 And allow another factors below:“의 체크박스(V) 를 선택하고 텍스트 입력 박스에서 추가할 Authenticator를 하나 이상 선택합니다.
안내
Initial Redirection 화면에서 로그인 화면 진입 방법으로 Redirected to the external IdP를 선택했다면 1차 로그인 설정은 화면에 표시되지 않습니다.
1차 로그인은 Initial Redirection의 설정에 따라 외부 Identity Provider에서 이루어집니다.
사용자가 복합 인증을 통해 로그인하도록 하려면 추가 로그인 설정의 체크박스(V) 를 선택한 후 텍스트 입력란에서 Authenticator를 하나 이상 선택합니다.
사용자가 처음으로 SIngleID에 로그인하는 경우 사용자에게 약관 및 이용 조건을 보이고 사용자의 동의를 요구하도록 설정하려면 약관 및 이용 조건 동의 설정의 체크박스를 체크한 후 텍스트 입력 입력 박스에서 화면에 표시할 약관이나 이용 조건 등을 하나 이상 선택합니다.
PC SSO Agent를 이용하여 사용자의 PC에 보안 프로그램(Endpoint Security)이 설치되어 있는지 확인하려면 PC SSO Agent 설정의 체크박스(V) 를 선택합니다. 이 설정이 켜지면 PC에 보안 프로그램이 설치되지 않은 사용자의 로그인은 차단됩니다.
PC SSO Agent를 등록하지 않았다면 PC SSO Agent 설정 항목은 화면에 표시되지 않습니다.
PC SSO Agent 설정(e)을 켠 상태에서 PC에 보안 프로그램이 설치되지 않은 사용자의 로그인을 차단하는 대신 추가 인증을 요구하고 싶다면 그 아래의 체크박스(V) 를 선택한 후 텍스트 입력 입력 박스에서 Authenticator를 하나 이상 선택합니다.
저장 버튼을 클릭하여 로그인 규칙을 등록하고 규칙 목록으로 돌아갑니다.
규칙 우선 순위 관리
로그인 규칙이 하나 이상 추가된 경우 관리자는 로그인 규칙 간의 우선 순위를 설정할 수 있습니다. 만약 한 사용자가 여러 개의 규칙에 설정된 조건에 해당한다면 우선 순위가 높은 규칙에 의해 로그인 방법이 적용됩니다.
로그인 규칙의 우선 순위를 설정하려면 다음의 절차를 따르십시오.
규칙 목록에서 규칙 이름의 왼쪽에 표시되는 ≡ 영역을 마우스로 드래그합니다.
드래그 앤드 드롭한 위치에 따라 로그인 규칙들의 우선순위가 정해집니다.
규칙 목록의 위에 위치할수록 높은 우선순위를 갖습니다.
참고
Default Policy는 가장 낮은 우선순위를 갖으며 우선순위를 변경할 수 없습니다.
정책 상태 변경
SingleID에서 관리하는 로그인 정책의 상태는 다음과 같습니다.
상태
설명
활성
정상적으로 동작 중인 로그인 정책
비활성
관리자에 의해 사용이 중지된 로그인 정책
표. 정책상태
관리자는 다음과 같이 로그인 정책의 현재 상태에 따라 로그인 정책의 상태를 변경할 수 있습니다.
현재 상태
변경 가능한 상태
설명
활성
비활성
비활성화 버튼을 클릭하여 활성 상태의 로그인 정책을 비활성 상태로 변경할 수 있습니다.
비활성
활성
활성화 버튼을 클릭하여 비활성 상태의 로그인 정책을 활성 상태로 변경할 수 있습니다. 또한 비활성화된 로그인 정책을 삭제할 수 있습니다.
표. 정책상태
안내
로그인 정책 중 SingleID에서 기본으로 제공하는 두 가지 정책, Admin Portal Policy와 Default Policy는 비활성화 할 수 없습니다.
로그인 정책을 비활성화 하게 되면 비활성화된 로그인 정책이 할당된 애플리케이션들은 자동으로 기본 정책(Default Policy)에 할당되도록 변경됩니다.
정책 비활성화
활성 상태의 로그인 정책을 비활성화하려면 다음과 같은 절차를 따르십시오.
정책 목록에서 비활성화 하려는 정책을 클릭하여 정책 상세 화면으로 이동합니다.
비활성화 버튼을 클릭합니다.
확인 팝업에 표시된 로그인 정책 정보(할당된 애플리케이션의 수, 로그인 정책에 포함된 규칙의 수)를 확인한 후 비활성화 버튼을 클릭합니다.
안내
로그인 정책을 비활성화 하게 되면 비활성화된 로그인 정책이 할당된 애플리케이션들은 자동으로 기본 정책(Default Policy)에 할당되도록 변경됩니다.
비활성화된 로그인 정책을 다시 활성 상태로 변경해도 자동으로 이전에 할당된 애플리케이션들이 재할당되지 않습니다.
정책 활성화
비활성 상태의 로그인 정책을 활성 상태로 변경하려면 다음과 같은 절차를 따르십시오.
정책 목록에서 활성화 하려는 정책을 클릭하여 정책 상세 화면으로 이동합니다
활성화 버튼을 클릭하여 로그인 정책의 상태를 활성 상태로 변경합니다.
안내
비활성화 상태의 로그인 정책을 활성화 하는 경우 별도의 확인 팝업 없이 바로 상태가 변경됩니다.
정책 삭제
관리자는 로그인 정책을 SingleID에서 삭제할 수 있습니다.
로그인 정책을 삭제하려면 다음의 절차를 따르세요.
정책 목록에서 삭제하려는 정책을 클릭하여 정책 상세 화면으로 이동합니다.
로그인 정책이 활성화된 상태라면 비활성화 버튼을 클릭하여 정책을 비활성화시킵니다.
비활성화된 로그인 정책의 오른쪽 위에 표시된 삭제 버튼을 클릭합니다.
로그인 정책 삭제를 확인하는 팝업 화면이 표시됩니다.
로그인 정책을 삭제하려면 정책의 정보를 확인한 후 삭제하려는 정책의 이름을 입력하고 삭제 버튼을 클릭합니다.
참고
삭제된 로그인 정책은 다시 복구할 수 없습니다.
로그인 정책이 삭제될 때 정책 안에 포함된 규칙들도 함께 삭제되며 동일한 이름으로 로그인 정책을 다시 등록해도 삭제된 규칙이나 설정 정보는 복구되지 않습니다.
액세스 시뮬레이션
로그인 정책과 그 안에 포함된 규칙이 많아지면 어떤 사용자가 어떤 정책에 따라 로그인 방법이 규정되는지 파악이 어려울 수 있습니다.
SingleID는 관리자가 빠르게 사용자에게 적용된 로그인 정책과 규칙을 확인할 수 있도록 액세스 시뮬레이션 기능을 제공합니다.
액세스 시뮬레이션 기능을 이용하여 사용자와 접근 대상 애플리케이션을 선택하고 임의로 사용자의 로그인 환경 (네트워크, 장비, 브라우저, OS) 을 정의하여 사용자가 어떤 경우에 어떤 로그인 방식을 경험하게 되는지 미리 예측해 볼 수 있습니다.
또한 로그인에 어려움을 겪는 사용자들의 검토 요청이 있는 경우, 액세스 시뮬레이션 기능을 이용하여 신속하게 확인하고 문제가 되는 정책이나 규칙을 수정할 수 있습니다.
액세스 시뮬레이션 기능을 이용하려면 로그인 정책 목록 화면에서 화면 오른쪽 위에 있는 액세스 시뮬레이션 버튼을 클릭합니다.
이름
설명
사용자 ID 입력
시뮬레이션 대상 사용자 ID를 입력합니다.
네트워크 설정
시뮬레이션할 사용자의 IP를 지정합니다. 기본값은 “IP address anywhere” 입니다.
플랫폼 설정
시뮬레이션할 사용자의 기기 정보를 지정합니다. 기본값은 “Any platforms” 입니다.
브라우저 설정
시뮬레이션할 사용자의 브라우저 정보를 지정합니다. 기본값은 “Any browsers” 입니다.
OS 설정
시뮬레이션할 사용자의 OS 정보를 지정합니다. 기본값은 “Any OS” 입니다.
애플리케이션 선택
시뮬레이션 대상 애플리케이션을 선택합니다. 애플리케이션 선택 버튼을 클릭하여 팝업을 표시합니다.
시뮬레이션 실행 버튼
액세스 시뮬레이션을 실행합니다.
시뮬레이션 결과
액세스 시뮬레이션 결과를 화면에 표시합니다. 지정한 사용자에게 적용되는 로그인 정책과 규칙이 표시됩니다.
목록 버튼
로그인 정책 목록으로 돌아갑니다.
표. 액세스 시뮬레이션
액세스 시뮬레이션을 실행하려면 다음의 절차를 따르세요.
시뮬레이션할 대상 사용자의 ID를 입력합니다.
시뮬레이션할 사용자의 IP를 지정합니다. Specific IP Address를 선택한 후 IP를 직접 입력할 수 있습니다. 123.123.123.123 의 형식으로 IP를 입력합니다.
시뮬레이션할 사용자의 기기 정보를 지정합니다. Platform을 선택한 후 선택 목록에서 기기를 선택할 수 있습니다.
시뮬레이션할 사용자의 브라우저 정보를 지정합니다. Browser를 선택한 후 선택 목록에서 브라우저를 선택할 수 있습니다.
시뮬레이션할 사용자의 OS 정보를 지정합니다. OS를 선택한 후 선택 목록에서 OS를 선택할 수 있습니다.
애플리케이션 선택 버튼을 클릭하여 시뮬레이션할 대상 애플리케이션을 선택합니다.
애플리케이션 선택 팝업에서 애플리케이션 이름 왼쪽의 라디오 버튼을 클릭하여 애플리케이션을 선택한 후 추가 버튼을 클릭합니다.
참고
애플리케이션을 다시 선택하고 싶다면 선택된 애플리케이션 이름 오른쪽의 X 버튼을 클릭한 후 다시 애플리케이션 선택 버튼을 클릭합니다.
시뮬레이션 실행 버튼을 클릭합니다.
액세스 시뮬레이션이 실행되고, 실행이 끝나면 다음과 같이 시뮬레이션 결과에 따라 로그인 정책과 규칙이 화면이 표시됩니다.
인증 정책
관리자는 조직의 보안 정책에 따라 인증과 관련한 세부 설정을 변경해야 할 필요가 있습니다.
SingleID는 인증과 관련한 세부 설정을 다음과 같은 4가지 정책으로 구분하여 관리합니다.
세션 정책
Authenticator 정책
MFA Service Provider 정책
비밀번호 정책
인증 정책 메뉴에 접근하기 위해서는 다음과 같이 이동합니다.
Admin Portal > 정책 > 인증 정책
인증 정책을 수정하려면 인증 정책 화면 오른쪽 아래의 수정 버튼을 클릭하여 설정을 변경한 후 저장 버튼을 클릭합니다.
세션 정책
세션 정책을 변경하려면 다음의 절차를 따르세요.
인증 정책 화면 오른쪽 아래의 수정 버튼을 클릭합니다.
최대 세션수 제한 설정에서 사용자가 동시에 만들 수 있는 최대 세션 수를 설정합니다.
설정할 수 있는 최소값은 1이며 최대값은 100입니다. 1로 설정하는 경우에는 사용자는 한번에 하나의 브라우저에서만 로그인이 가능하고 동시에 여러 PC나 브라우저를 통해 로그인 할 수 없습니다.
세션 우선 순위 설정에서 사용자가 만드는 세션의 우선 순위를 설정합니다. 우선 순위는 다음의 두가지 옵션 중에 하나를 선택할 수 있습니다.
Old session
New session
최대 세션수 제한 설정에서 최대 세션 수를 1로 제한하고 Old session을 선택한 경우에는 로그인한 사용자가 로그인하지 않은 다른 PC나 브라우저에서 새로운 로그인을 시도할 때 로그인이 차단됩니다.
또한 최대 세션수 제한 설정(Œ)에서 최대 세션 수를 1로 제한하고 New session을 선택한 경우에는 로그인한 사용자가 로그인하지 않은 다른 PC나 브라우저에서 새로운 로그인을 시도할 때 이전에 로그인했던 브라우저의 세션이 강제로 만료되고 새로운 PC나 브라우저에서 로그인한 세션이 유지됩니다.
최대 세션 시간 설정에서 세션의 최대 유지 시간을 설정합니다.
최대 세션 시간은 다음의 두가지 옵션 중에 하나를 선택할 수 있습니다.
No time limit
Set time limit
No time limit로 설정하면 한번 만들어진 세션은 사용자가 로그아웃하기 전에는 자동으로 만료되지 않습니다.
Set time limit으로 설정한 후 시간을 설정하면 설정된 시간이 경과되면 세션이 만료되고 사용자가 자동으로 로그아웃됩니다.
최대 유휴 세션 시간 설정에서 세션의 최대 유휴 세션 시간을 설정합니다.
최대 유휴 세션 시간을 설정하면 설정된 시간 동안 사용자가 인증 요청을 하지 않는 경우 세션이 만료되고 사용자가 자동으로 로그아웃됩니다.
변경한 설정값을 저장하려면 인증 정책 화면 오른쪽 아래의 저장 버튼을 클릭합니다.
변경한 설정값을 저장하지 않으려면 인증 정책 화면 오른쪽 아래의 취소 버튼을 클릭합니다.
이름
설명
최대 세션수 제한 설정
사용자의 동시 최대 세션 수를 설정합니다.
세션 우선 순위 설정
사용자의 동시 최대 세션수를 초과하는 세션이 발생했을 때 이전 세션과 신규 세션 사이의 우선 순위를 설정합니다.
최대 세션 시간 설정
세션이 만들어진 후 최대 세션 유지 시간을 설정합니다. 최대 세션 유지시간이 경과하면 세션이 만료됩니다.
최대 유휴 세션 시간 설정
세션이 만들어진 후 사용자가 일정 시간동안 서버에 인증 요청을 하지않는 경우 세션이 만료되는 시간을 설정합니다.
표. 액세스 시뮬레이션
Authenticator 정책
Authenticator 정책을 변경하려면 다음의 절차를 따르십시오.
인증 정책 화면 오른쪽 아래의 수정 버튼을 클릭하세요.
아래의 각 항목에 맞게 설정합니다.
설정이 완료 되면 저장 버튼을 클릭하세요.
이름
설명
사용 가능한 Authenticator 설정(로그인 정책용)
인증용으로 사용 가능한 Authenticator를 설정합니다.
등록시 인증 방식
Authenticator 등록 시 사용자의 1차 본인 확인 방법을 설정합니다.
다음 인증을 추가로 수행
Authenticator 등록 시 지정된 사용자의 1차 본인 확인 방법 외에 추가로 허용할 본인 확인 방법을 설정합니다.
계정 찾기
ID 찾기시 인증 방법을 설정합니다.
비밀번호 재설정
비밀번호 찾기시 인증 방식을 설정합니다.
잠김 해제 설정
사용자가 Authenticator들을 이용하여 인증을 하는 중에 인증을 반복해서 실패하면 ID가 잠기게 됩니다. 잠긴 사용자를 일정 시간 경과 후에 잠김 상태가 자동으로 해제되도록 시간을 설정할 수 있습니다.
표. Authenticator 정책
안내
사용 가능한 Authenticator 설정에서 지정된 Authenticator를 제거하려면 반드시 모든 로그인 정책의 규칙에서 해당 Authenticator가 먼저 제거되어야 합니다.
설정 가능한 Authenticator들은 Authenticator 추가 메뉴에서 등록할 수 있습니다. 비활성화된 Authenticator들은 사용 가능한 Authenticator 설정에서 설정할 수 없습니다.
안내
MFA 상품을 구매하지 않은 경우
사용 가능한 Authenticator 설정(로그인 정책용) 이 화면에 표시되지 않습니다.
MFA 상품 추가 구매하시려면, Support Center > 문의하기를 통해 연락바랍니다.
안내
사용자가 잘못된 비밀번호를 반복적으로 입력하여 로그인에 실패하고 잠기는 경우에는 일정 시간이 경과되어도 잠김이 해제되지 않습니다. 비밀번호에 의한 잠김과 잠김 해제 방법은 비밀번호 정책에서 설정하십시오.
사용자 메뉴에서 사용자의 비밀번호를 재설정하면 잠김 해제 대기 시간 전에 잠김 상태의 사용자를 잠김 해제시킬 수 있습니다. 비밀번호 재설정를 참조하십시오.
MFA Service Provider 정책
MFA Service Provider 정책을 변경하려면 다음의 절차를 따르십시오.
인증 정책 화면 오른쪽 아래의 수정 버튼을 클릭합니다.
아래 표를 참조하여 각 항목에 맞게 설정합니다.
설정이 완료 되면 저장 버튼을 클릭하세요.
이름
설명
사용 가능한 Authenticator 설정 (MFA Service Provider 용)
MFA Service Provider로부터 인증 요청이 발생했을 때 사용자가 사용할 수 있는 Authenticator를 설정합니다.
약관 및 조건 옵션
MFA Servicce Provider로부터 사용자가 등록될 때, 약관 및 이용 조건을 보여주고 사용자의 동의를 구할 수 있습니다.
잠김 해제 설정
MFA Service Provider로부터 인증 요청이 발생했을 때 사용자가 인증을 반복해서 실패하면 ID가 잠기게 됩니다. 잠긴 사용자를 일정 시간 경과 후에 잠김 상태가 자동으로 해제되도록 시간을 설정할 수 있습니다.
표. MFA Service Provider 정책
안내
사용 가능한 Authenticator 설정에서 지정된 Authenticator를 제거하려면 반드시 모든 MFA Service Provider에서 해당 Authenticator가 먼저 제거되어야 합니다.
설정 가능한 Authenticator들은 Authenticator 추가 메뉴에서 등록할 수 있습니다. 비활성화된 Authenticator들은 사용 가능한 Authenticator 설정에 설정할 수 없습니다.
사용자가 처음으로 MFA Service Provider로부터 인증하는 경우 사용자에게 약관 및 이용 조건을 보이고 사용자의 동의를 요구하도록 설정하려면 약관 및 조건 옵션의 체크박스를 체크한 후 텍스트 입력 박스에서 화면에 표시할 약관이나 이용 조건 등을 하나 이상 선택합니다.
MFA Service Provider로부터 인증을 하는 사용자가 반복적으로 인증에 실패하는 경우 사용자의 ID는 잠김 상태가 됩니다. 일정 시간 경과 후 자동으로 잠김 상태를 해제하려면 잠김 해제 설정에서 잠김 해제 대기 시간을 설정합니다.
비밀번호 정책
비밀번호 정책을 변경하려면 다음의 절차를 따르세요.
인증 정책 화면 오른쪽 아래의 수정 버튼을 클릭하세요.
아래 표를 참조하여 각 항목에 맞게 설정하세요.
설정이 완료 되면 저장 버튼을 클릭하세요.
이름
설명
비밀번호 히스토리
과거에 사용했던 비밀번호를 재사용하지 못하게 설정할 수 있습니다. 최근 사용한 비밀번호의 개수를 지정하여 재사용을 방지합니다. 사용자는 위에 설정된 개수 만큼의 과거 사용한 비밀번호를 사용할 수 없게 됩니다.
비밀번호 만료
비밀번호 유효 기간을 지정합니다. 유효 기간이 지난 후에 로그인을 하기 위해서는 반드시 비밀번호를 변경해야 합니다. 1일에서 365일까지 설정할 수 있습니다.
비밀번호 잠금
비밀번호 반복 입력 실패 시 사용자의 ID를 잠금 처리하게 됩니다. 반복 입력 실패 횟수를 지정합니다.
설정한시간(분) 후 자동 장금해제(1~1,440): 실패 횟수를 초과한 계정은 해당 설정 시간(분) 만큼 잠금이 됩니니다. 자동 잠금해제 시간(분)을 입력하세요.
비밀번호 재설정 후 자동 잠금 해제
패턴 및 복잡도
비밀번호의 최소 길이 최소 문자, 숫자 등을 설정합니다.
최소 글자 개수 설정
비밀번호의 최소 길이를 지정합니다.
최소 영문자 개수 설정
비밀번호에 포함할 최소 영문자 개수를 지정합니다.
최소 숫자 개수 설정
비밀번호에 포함할 최소 숫자 개수를 지정합니다.
최소 특수 문자 개수 설정
비밀번호에 포함할 최소 특수 문자 개수를 지정합니다.
최대 글자 개수 설정
비밀번호의 최대 길이를 지정합니다.
사용자 ID를 패스워드로 사용하도록 허용
사용자의 ID를 비밀번호에 포함하도록 허용할 지 여부를 설정합니다.
표. 비밀번호 정책
안내
비밀번호 반복 입력 실패에 의해 잠긴 사용자는 본인이 스스로 비밀번호를 재설정해야 잠긴 상태가 해제됩니다.
비밀번호 반복 입력 실패에 의해 잠긴 사용자의 상태를 변경하려면 사용자의 상태 변경를 참조하십시오.
회원가입 정책
사용자 회원 가입을 허용하시려면 회윈가입 정책을 활성화를 하여, 인사시스템이나, IdP와 프로비저닝된 사용자 이외의 사용자도 등록이 가능합니다. 계정동기화를 통해 계정을 등록, 생성, 수정, 삭제할 뿐만 아니라, 로그인 화면이나 이메일로 초대할 수 있는 기능을 제공합니다.
회원가입 정책을 활성화하여 사용하시려면 다음의 절차를 따르세요.
Admin Portal > 정책 > 회원가입 정책을 클릭하세요.
사용자 회원 가입 허용을 활성화하세요.
활설화 하시면 정책 탭과 사용자 초대 탭이 나타납니다.
아래의 정책 탭과 사용자 초대 탭의 설명을 보고 정책을 설정하세요.
설정이 완료되면 저장 버튼을 클릭하세요.
정책
회원 가입 일반적인 정책을 설정할수 있습니다.
이름
설명
로그인 화면에 회원가입 링크 표시
SingleID 로그인 화면에 회원가입 Link를 표시합니다.
SingleID의 회원가입 화면을 Link로 표시: SingleID 회원가입 화면을 기본 사용할 경우 선택
외부 회원 가입 화면을 Link로 표시: 별도 회원 가입 페이지를 보유하고 있는 경우 선택
약관 및 조건 옵션
회원가입시 약관 및 조건 동의의 옵션을 선택합니다. 회원가입시에는 약관 및 조건을 별도로 선택하여 적용할 수 있습니다.
회원 가입 초대 허용
기능 활성화 시 이메일로 사용자를 초대할 수 있습니다. 별도의 회원가입 페이지가 아닌 초대된 사용자만 가입하기를 설정할 수 있습니다. 해당 설정 시 SingleID 회원가입 링크를 통해 가입이 불가합니다.
회원가입 입력 양식
가입시 입력 받을 사용자 속성을 설정합니다. 필수 여부로 추가로 입력 받을 수 있습니다.
ID 중복방지 설정
활성화하면, ID에 접미사를 추가하여 ID 중복을 방지합니다.
기존 자동 프로비저닝 되는 계정의 ID가 같을 경우를 방지를 위한 설정입니다. ID 값이 같은 경우가 많으므로 설정을 권장 드립니다. 회원가입을 통해 가입할경우 해당 PostFix 값이 ID 뒤에 추가됩니다.
최대 사용 기간
최대 사용 기간은 가입후 사용기간을 설정합니다. 1일부터 2000일까지 설정할 수 잇습니다.
회원가입 신청 시 승인
회원가입 신청시 승인 설정을 활성화 시 등록된 승인 정책을 불러와 설정 할 수 있습니다.
표. 정책 탭
휴면 사용자 정책
장기간 SingleID 시스템을 사용하지 않은 사용자를 휴면 상태로 변경하는 기능을 제공합니다.
휴면 상태로 변경된 사용자는 설정에 따라 사용자 직접 복구하거나 관리자가 복구할 수 있게 설정할 수 있습니다.
휴면 사용자 정책을 활성화하여 사용하시려면 다음의 절차를 따르세요.
Admin Portal > 정책 > 휴먼 사용자 정책을 클릭하세요.
휴먼 사용자 정책 활성화 토글 버튼을 클릭하세요
안내
휴먼 사용자가 한명이라도 존재한다면, 비활성화로 되돌릴 수 없습니다.
추가 설정은 아래 표와 같습니다.
이름
설명
휴면 사용자로 설정하는 기준
N일 동안 SingleID에 로그인 하지 않는 사용자는 휴면 사용자로 전환하는 설정입니다. 1일 ~ 365일까지 설정할수 있습니다.
알림 이메일 발송
휴면 상태 N일 전부터 사용자에게 알림 이메일을 발송하는 설정입니다. 추가로 휴먼 상태로 변경할때 사용자에게 알림 이메일 발송 기능도 선택 가능합니다.
휴면 상태 변경 예외 사용자
추가 버튼을 클릭하여 휴면 상태로 변경 예외 사용자를 추가할 수 있습니다.
휴면 상태 예외 그룹
그룹에 포함된 사용자로 예외 설정할 수 있습니다.
장기 휴먼 사용자 관리
휴먼사용자로 변경된 후 자동으로 사용자 계정을 삭제하는 기능입니다. 1~365일까지 설정 가능합니다. - 사용자를 삭제하기 전 N일 전 알림 이메일을 보내도록 설정이 가능합니다.(1~30일) - 사용자 정보를 삭제할때 사용자에게 알림 이메일를 발송하도록 설정할 수 있습니다.
휴면 사용자가 직접 상태를 복구하도록 허용
옵션을 활성화하면 휴면 상태의 사용자가 직접 자신의 상태를 활성상태로 복구할 수 있게 됩니다. 휴면 사용자는 “비밀번호 재설정"을 통해서 비밀번호 변경과 함께 상태 정보를 활성상태로 변경할 수 있게 됩니다.
표. 휴먼 사용자 정책 목록
승인 정책
관리자는 승인 시스템을 선택하고, 유형에 따라 회원가입시 정책, 앱 접근에 따른 정책을 다양한 결재라인으로 설정할 수 있습니다. 다양한 승인정책으로 보안정책이 변경시 마다 유연하게 적용이 가능합니다.
자체 승인 시스템 기능과 Knox Portal 승인 시스템으로 구분하여 승인이 가능합니다. 타 승인시스템으로 연동이 필요하면 1:1 문의로 요청바랍니다.
승인 정책을 확인하시려면, 다음 경로를 따르세요.
Admin Portal > 정책 > 승인 정책
승인 정책 목록
관리자는 승인 시스템을 선택하고, 유형에 따라 회원가입시 정책, 앱 접근에 따른 정책을 다양한 결재라인으로 설정할 수 있습니다. 다양한 승인정책으로 보안정책이 변경시 마다 유연하게 적용이 가능합니다.
등록 버튼을 클릭하면, 승인시스템, 유형, 승인자, 알림 수단, 승인 기간을 설정할 수 있습니다.
이름
설명
승인 시스템
2가지 선택이 가능합니다.
SingleID : 자체 승인으로 사용자 포털을 통해 승인 가능
Knox Portal : 삼성 Knox Portal 승인 시스템으로 승인 가능
유형
2가지 선택이 가능합니다.
앱 접근 : 애플리케이션 접근 권한 신청 선택
회원가입 : 회원 가입을 위한 신청 선택
승인자
승인자 및 통보자를 선택하여 등록합니다.
알림 수단
승인자, 통보자에게 승인 요청이 오면 알림 수단을 선택합니다.
표. 승인 정책 등록
이상행위 탐지 정책
SingleID는 사용자의 인증 전후에 대한 행위정보를 실시간 수집 분석하여 인증 이상행위 여부를 판별, 비정상적인 인증 범주에 있다고 식별되는 경우 사용자 본인에게 즉시 위험을 알리는 기능을 제공합니다.
이상행위 탐지 정책 메뉴에 접근하기 위해서는 다음과 같이 이동합니다.
Admin Portal > 정책 > 이상행위 탐지 정책
안내
이상행위 탐지 정책 메뉴에 대한 상세한 설명은 ADM 구매 고객에게 별도로 제공됩니다.
이상행위 탐지 기능을 옵션으로 구매하지 않은 경우 Admin Portal에서 정책 관리 메뉴를 볼 수 없습니다.
이상행위 탐지 기능을 사용하고자 하시는 경우 1:1 문의나 영업 담당자에게 연락 바랍니다.
사용자 라이프 사이클 관리
사용자 라이프 사이클 관리는 사용자 생성 또는 가입시 기본 값 설정 및 사용자 계정 사용기간 연장에 대한 설정 기능을 제공합니다.
사용자 라이프사이클 관리리능을 활성화 및 설정하시려면 아래를 참고하세요.
온보딩(가입자)
사용자 생성 및 가입시 전화 국가 코드, 언어, 시간대를 설정합니다.
설정하려면, 우측 하단 수정 버튼을 클릭하여 변경하세요.
오프보딩(탈퇴자)
사용자가 계정 사용기간 연장을 요청 및 최대 연장 가능하도록 설정이 가능합니다.
사용자 사용기간 연정 요청시 활성화 토클을 클릭하세요.
최대 연장 가능 기간에 N일을 입력하세요.
사용기간 요청 승인에 변경 버튼을 클릭하여 승인자를 설정하세요.
조건부 인증 정책
조건부 인증 정책은 사용자 계정의 환경, 설정, 개인별 상황에 맞게 규칙을 설정할 수 있습니다.
아래와 같은 규칙을 설정할 수 있습니다.
이름
설명
복수 인증자 사용
장기간 한종류의 인증방식으로만 사용한 사용자는 다른 형태의 인증도구를 이용하여 추가로 본인인증을 해야 합니다.
표. 조건부 인증 정책 등록
안내
해당 조건부 인증 정책은 지속적으로 Rule을 추가 예정이며, 추후 Workflow 기능으로 업그레이드 할 예정입니다.
2.5 - 약관 및 조건
SingleID를 이용하는 회사별로 상황과 특성에 맞게 개인정보 처리방침과 이용약관 등을 관리할 수 있는 기능을 제공합니다.
조직에서 필요로 하는 요건에 맞춰 개인정보 처리방침을 작성하여 사용자에게 고지하거나 SingleID를 이용하는 사용자에게 이용 전에 이용 약관이나 이용 조건을 보이고 동의를 구할 수 있습니다.
약관 및 조건 메뉴를 통해 사용자에게 개인정보 처리방침이나 이용 약관, 이용 조건 등을 고지하고 동의를 구할 수 있습니다.
SingleID는 약관 및 조건을 작성하기 쉽도록 기본 템플릿을 제공합니다.
약관 및 조건 메뉴에 접근하기 위해서는 다음과 같이 이동합니다.
테넌트 어드민 포탈 > 리브랜딩 > 약관 및 조건
약관 및 조건 메뉴에서 제공하는 기능은 다음과 같습니다.
약관 및 조건 속성 설정
약관 및 조건의 버전 관리
약관 및 조건의 발행
약관 및 조건 목록
테넌트 관리자는 약관 및 조건들을 목록 형식으로 조회할 수 있습니다.
SingleID가 제공하는 기본 템플릿은 다음과 같습니다.
약관 유형 템플릿
Privacy
Terms of Use
Collection and Use of Personal Information
Marketing
조건 유형 템플릿
Are you over age 14?
쿠키 유형 템플릿
Cookie
목록에서 설정 정보를 수정할 약관이나 조건을 클릭하여 약관이나 조건의 상세 화면으로 이동할 수 있습니다.
이름
설명
유형
유형이 아이콘 형태로 표시됩니다.
이름
이름을 표시됩니다.
설명
설명이 표시됩니다.
유형 설정
유형을 변경할 수 있습니다.
이름
이름을 수정할 수 있습니다.
필수여부 설정
필수여부를 설정할 수 있습니다.
이메일 알림 여부 설정
약관이나 조건 변경 시 변경 내용을 이메일로 알릴지 여부를 설정할 수 있습니다.
설명
설명을 수정할 수 있습니다.
등록일 및 등록자
등록일 및 등록자가 표시됩니다.
수정일
마지막 수정일 및 마지막 수정자가 표시됩니다.
목록 버튼
목록으로 돌아가는 버튼입니다.
수정 버튼
약관 또는 조건을 수정합니다.
표. 약관 및 조건 목록
약관 또는 조건의 상세 화면에서 일반 설정 탭을 선택하세요.
수정 버튼을 클릭하세요.
제목을 수정할 수 있습니다.
필수여부를 수정할 수 있습니다. 선택 가능한 옵션은 다음과 같습니다.
필수: 이 약관이나 조건이 사용자에게 게시되었을 때 동의하지 않으면 더이상 로그인을 할 수 없도록 사용이 제한됩니다.
선택: 동의 여부는 사용자의 선택에 따르며 약관이나 조건을 동의하지 않더라도 로그인에 제약을 받지 않습니다.
참고: 동의 여부를 확인하지 않습니다.
약관이나 조건에 대한 설명을 수정할 수 있습니다. 설명은 사용자들에게 보여지지 않고 관리자의 참조용으로 사용됩니다.
설정을 모두 수정하였다면 저장 버튼을 클릭하세요.
수정한 정보를 저장하지 않고 다시 조회 상태로 돌아가려면 취소 버튼을 클릭하세요.
약관 및 조건 버전 관리
테넌트 관리자는 약관 및 조건의 버전 별 목록을 조회하고 관리할 수 있습니다.
약관 및 조건 별 기본 버전은 v1.0.0 이며 테넌트 생성 시 기본으로 템플릿 별로 등록되어 있습니다.
버전 목록을 확인하려면 약관 또는 조건의 상세 화면에서 버전 이력 탭을 클릭하세요.
버전 이력
버전 이력은 개인정보처리방침 및 이용 약관의 상단 버전 항목을 클릭하면, 그 이전 버전을 확인할 수 있습니다.
목록을 클릭하면, 과거 발행했던 이력을 확인할 수 있습니다. 한번 발행된 버전은 수정이 불가능합니다.
버전 추가
버전 이력 탭에 추가 버튼을 클릭하시면 신규 버전의 약관 및 조건을 생성 가능합니다.
버전 추가를 선택하시려면 아래의 절차를 따르세요.
버전 이력 탭에서 추가 버튼을 클릭하세요.
원하시는 현지를 클릭하여 작성 언어를 선택하세요.
선택하신 언어는 개인정보처리방침 및 이용약관에서 보여줄 지역을 나타납니다. 선택 언어별로 약관 및 조건을 작성이 필요합니다.
각 현지별 언어의 제목과 내용일 입력하세요.
저장 버튼을 클릭하시고, 목록 버튼을 클릭하여 목록으로 돌아갑니다.
작성을 완료하면 작성된 글을 리뷰를 합니다.
재발행
신규로 작성된 버전은 재발행 예정일을 설정하여 발행합니다.
신규 버전을 발행하시려면, 다음의 절차를 따르세요.
버전 이력 탭에서 재발행 예정일 버튼을 클릭하세요.
버전을 설정하세요.
재발행일을 설정하세요.
재발행 수정을 설정하세요. 활성화 할 경우, 수정된 약관/조건은 재발행하며 사용자는 약관/조건 수정일을 기준으로 일반 설정 > 필수 여부에 따라 동의를 하여야 할 수 도 있습니다.
수정 사유는 간단히 입력하세요.
발행 설정 버튼을 클릭하면 설정이 완료됩니다.
참고
재발행 예정일 이전에는 약관 및 조건에 대한 제목 및 내용을 수정할 수 있습니다. 재발행 이후에는 버전관리를 위해 수정이 불가합니다.
버전 이력 탭에서 버전 이력 목록에 삭제 버튼을 눌르면 재발행이 취소됩니다.
2.6 - 모니터링
모니터링 메뉴는 전체 사용자의 로그인 이력, MFA 이력, 관리자 감사 로그 이력을 조회 할 수 있습니다.
로그인 이력
모니터링 메뉴를 통해 사용자들의 로그인 이력을 제공합니다. 사용자들 또한 자신의 로그인 이력을 User Portal를 통해 로그인 이력 확인이 가능합니다.
이름
설명
모두
모두를 클릭하면 로그인 성공과 실패한 이력이 조회됩니다.
성공
성공을 클릭하면, 로그인에 성공한 이력이 조회됩니다.
해당 이력은 사용자가 로그인에 성공한 이력입니다.
실패
실패를 클릭하면 로그인에 실패한 이력이 조회됩니다.
해당 이력은 사용자가 로그인에 실패한 이력입니다.
CSV 다운로드
CSV 다운로드를 클릭하면, 이력을 CSV 파일로 다운로드됩니다.
표. 로그인 이력
이름
설명
로그인 일시
사용자가 로그인한 날짜와 시간
ID
사용자 ID
이름
사용자 이름
위치
사용자가 접속하는 위치
국가
접속하는 국가
도시
접속 도시
IP 주소
접속하는 IP 주소
애플리케이션
접속하는 애플리케이션
운영체제
접속하는 운영체제 환경
브라우저
접속하는 브라우저
탐지
탐지
결과
로그인 성공 결과
표. 로그인 이력 항목
MFA 이력
Admin Portal에서는 모니터링 메뉴를 통해 사용자들의 MFA(복합인증) 이력을 확인합니다.사용자들 또한 자신의 MFA 이력을 User Portal를 통해 확인이 가능합니다.
안내
MFA 상품을 구매해야 해당 로그를 확인하실 수 있습니다.
이름
설명
모두
모두를 클릭하면 복합인증 성공과 실패한 이력이 조회됩니다.
성공
성공을 클릭하면, 복합인증에 성공한 이력이 조회됩니다. 해당 이력은 사용자가 로그인에 성공한 이력입니다.
실패
실패를 클릭하면 복합인증에 실패한 이력이 조회됩니다. 해당 이력은 사용자가 로그인에 실패한 이력입니다.
만료
만료를 클릭하면, 복합인증이 만료된 이력이 조회됩니다.
CSV 다운로드
CSV 다운로드를 클릭하면, 이력을 CSV 파일로 다운로드됩니다.
표. MFA 이력
이름
설명
이벤트 일시
사용자가 복합인증을 시도한 날짜와 시간
ID
사용자 ID
이름
사용자 이름
IP 주소
접속하는 IP 주소
관리 주체
사용자 계정 관리 주체
이벤트 유형
인증에 사용된 유형 - Enrollment : 등록 - Authentication : 인증 - 2차 복합인증
애플리케이션
접속하는 애플리케이션
시스템 코드
MFA provider 등록 시 입력한 시스템코드
Authenticator
복합인증 시 사용한 인증 수단
결과
로그인 성공 결과
표. MFA 이력 항목
안내
MFA 상품을 구매해야 해당 로그를 확인하실 수 있습니다.
관리자 감사 로그
Admin Portal에서는 모니터링 메뉴를 통해 관리자의 활동 내역을 기록합니다.
이름
설명
날짜
로그 일시
ID
관리자 ID
메뉴
메뉴
서브 메뉴
서브 메뉴
Action
활동 내역 - 보기 : 조회 - 목록 : 목록 보기 - 업데이트 : 수정 - Create : 생성
이벤트 유형
인증에 사용된 유형 - Enrollment : 등록 - Authentication : 인증 - 2차 복합인증
결과
활동 내역에 대한 결과
표. 관리자 감사로그
안내
모니터링 이력을 Excel(csv)러 다운로드하시려면 하기의 개수 이하를 권장합니다.
검색 조건을 변경하여, 조회 건수를 조절할 수 있습니다.
로그인 이력 : 20,000 건 이하
MFA 이력 : 100,000 건 이하
관리자 감사 로그 : 20,000 건 이하
2.7 - Open Source licence
SingleID 솔루션에서 사용하는 오픈소스 라이선스는 다음과 같습니다. 자세한 내용은 아래를 참고하세요.
SingleID_SSO-Agent-Windows
The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact global.cs@samsung.com
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software.
1.2. “Contributor Version”
means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution.
1.3. “Contribution”
means Covered Software of a particular Contributor.
1.4. “Covered Software”
means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof.
1.5. “Incompatible With Secondary Licenses”
means
a. that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or
b. that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License.
1.6. “Executable Form”
means any form of the work other than Source Code Form.
1.7. “Larger Work”
means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software.
1.8. “License”
means this document.
1.9. “Licensable”
means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License.
1.10. “Modifications”
means any of the following:
c. any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or
d. any new file in Source Code Form that contains any Covered Software.
1.11. “Patent Claims” of a Contributor
means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version.
1.12. “Secondary License”
means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.
1.13. “Source Code Form”
means the form of the work preferred for making modifications.
1.14. “You” (or “Your”)
means an individual or a legal entity exercising rights under this License. For legal entities, “You” includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
2. License Grants and Conditions
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
a. under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and
b. under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor:
c. for any code that a Contributor has removed from Covered Software; or
d. for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or
e. under Patent Claims infringed by Covered Software in the absence of its Contributions.
This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1.
3. Responsibilities
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
a. such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and
b. You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s).
3.4. Notices
You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction.
4. Inability to Comply Due to Statute or Regulation
If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
5. Termination
5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice.
5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination.
6. Disclaimer of Warranty
Covered Software is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer.
7. Limitation of Liability
Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
8. Litigation
Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims.
9. Miscellaneous This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor.
10. Versions of the License
10.1. New Versions Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number.
10.2. Effect of New Versions You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses
If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - “Incompatible With Secondary Licenses” Notice
This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla Public License, v. 2.0.
SingleID_SSO-Agent-Windows
SingleID_ADFS-Adapter
The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact global.cs@samsung.com
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
“License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
“Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
“Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License. “Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice License Open Source Software License Text that is included in or attached to the work (an example is provided in the Appendix below).
“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
“Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”
“Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
a. You must give any other recipients of the Work or Derivative Works a copy of this License; and
b. You must cause any modified files to carry prominent notices stating that You changed the files; and
c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License.
You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or License Open Source Software License Text redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
MICROSOFT SOFTWARE LICENSE TERMS MICROSOFT .NET LIBRARY
These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft
* updates,
* supplements,
* Internet-based services, and
* support services
for this software, unless other terms accompany those items. If so, those terms apply.
BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.
IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.
1. INSTALLATION AND USE RIGHTS.
a. Installation and Use. You may install and use any number of copies of the software to design, develop and test your programs. You may modify, copy, distribute or deploy any .js files contained in the software as part of your programs.
b. Third Party Programs. The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only.
2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
a. DISTRIBUTABLE CODE. In addition to the .js files described above, the software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in programs you develop if you comply with the terms below.
i. Right to Use and Distribute.
* You may copy and distribute the object code form of the software.
* Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.
ii. Distribution Requirements. For any Distributable Code you distribute, you must
* use the Distributable Code in your programs and not as a standalone distribution;
* require distributors and external end users to agree to terms that protect it at least as much as this agreement;
* display your valid copyright notice on your programs; and
* indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs.
iii. Distribution Restrictions. You may not
* alter any copyright, trademark or patent notice in the Distributable Code;
* use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft;
* include Distributable Code in malicious, deceptive or unlawful programs; or
* modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that
* the code be disclosed or distributed in source code form; or
* others have the right to modify it. 3. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not
* work around any technical limitations in the software;
* reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;
* publish the software for others to copy;
* rent, lease or lend the software; or
* transfer the software or this agreement to any third party.
BACKUP COPY.
You may make one backup copy of the software. You may use it only to reinstall the software.
DOCUMENTATION.
Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.
EXPORT RESTRICTIONS.
The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. APPLICABLE LAW.
a. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.
b. Outside the United States. If you acquired the software in any other country, the laws of that country apply.
LEGAL EFFECT.
This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.
DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
FOR AUSTRALIA – YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.
LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
This limitation applies to
* anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.
Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.
Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français.
EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues.
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre àaucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices.
Cette limitation concerne :
* tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et
* les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur.
Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard.
EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.
Copyright (c) Microsoft Corporation. All rights reserved.
Microsoft.Bcl.AsyncInterfaces
Copyright (c) Microsoft Corporation. All rights reserved.
Microsoft.IdentityModel.Abstractions
Copyright (c) Microsoft Corporation. All rights reserved
Microsoft.IdentityModel.Logging
Copyright (c) Microsoft Corporation. All rights reserved
Microsoft.IdentityModel.Tokens
Copyright (c) Microsoft Corporation. All rights reserved
System.Buffers
Copyright (c) Microsoft Corporation. All rights reserved
System.DirectoryServices
Copyright (c) Microsoft Corporation. All rights reserved
System.IdentityModel.Tokens.Jwt
Copyright (c) Microsoft Corporation. All rights reserved
System.IO.FileSystem.AccessControl
Copyright (c) Microsoft Corporation. All rights reserved
System.Memory
Copyright (c) Microsoft Corporation. All rights reserved
System.Numerics.Vectors
Copyright (c) Microsoft Corporation. All rights reserved
System.Runtime.CompilerServices.Unsafe
Copyright (c) Microsoft Corporation. All rights reserved
System.Security.AccessControl
Copyright (c) Microsoft Corporation. All rights reserved
System.Security.Principal.Windows
Copyright (c) Microsoft Corporation. All rights reserved
System.Text.Encodings.Web
Copyright (c) Microsoft Corporation. All rights reserved
System.Text.Json
Copyright (c) Microsoft Corporation. All rights reserved
System.Threading.Tasks.Extensions
Copyright (c) Microsoft Corporation. All rights reserved
System.ValueTuple Copyright (c) Microsoft Corporation. All rights reserved
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
SingleID_ADFS-Adapter
3 - MFA Portal
개요
SingleID의 MFA 서비스는 애플리케이션들이 사용하고 있는 인증시스템을 유지하면서 보안 강화를 위해 시스템 연동을 통해 사용자에게 다양한 추가적인 2차 인증 서비스를 제공합니다.
또한 SingleID는 인증 시 선호하는 인증 방식을 미리 등록하고 관리 할 수 있도록 MFA Portal를 제공하여 편리하게 설정할 수 있습니다.
MFA Portal 매뉴얼은 사용자가 2차 복합인증을 셀프로 등록 할 수 있는 기능을 제공합니다.
사용자는 SingleID에서 제공하는 User Portal에 로그인하여 본인이 선호하는 1차 인증과 2차 인증 방식 설정을 제공합니다.
사용자가 선호하는 방식을 설정하게 되면, 로그인 및 인증 시 본인 확인 방법 선택 화면이 생략되어 바로 1차, 2차 인증 방식으로 인증을 할 수 있습니다.
선호하는 인증 방식을 설정을 원하시면, 다음의 절차를 따르세요.
사용자 포털 > 개인 프로파일 > 인증 설정을 클릭하세요.
선호하는 1차 인증(1st) 방식, 2차 인증(2nd)방식에 각각 별표(☆) 를 클릭하세요.
설정이 완료되면, 다음 로그인 시 해당 방식으로 설정되어 편리한 로그인을 제공합니다.
안내
1차 인증, 2차 인증에 선호하는 인증 방식을 사용자가 설정하였더라도 관리자가 로그인 정책 설정을 통해서 특정 인증 방식으로 제한될 수 있습니다.
인증 도구 등록하기
모든 인증 방식는 사용자가 설정할 수 있습니다. 사용자가 인증 방식를 등록하는 것을 인롤먼트(Enrollment)라고 합니다. 최초로 사용자 계정이 생성되면 사용자 정보 중 이메일 정보를 이용하여 자동으로 이메일 OTP만 등록(Enrollment)됩니다. 다른 인증 방식은 사용자가 필요에 따라 직접 등록(Enrollment)해서 사용하면 됩니다.
인증 방식 등록(Enrollment) 2가지 방식에 대해 설명 드리겠습니다.
인증 설정에서 등록하기: 사용자 포털 > 프로파일 > 인증 설정에서 하단 + 새로 추가 버튼을 클릭하여 등록합니다.
본인 확인 방법 선택 화면에서 등록하기: 로그인 시 1차 인증, 2차 인증 시 본인 확인 방법 선택 화면에서 회색 체크 마크(V) 가 된 인증 방식을 선택하여 등록합니다.
SingleID Authenticator 인증 도구를 등록하는 방법에 대한 상세 정보는 인증 도구 등록하기에서 확인할 수 있습니다.
Passkey 인증
SingleID 서비스는 window 기반의 Passkey를 통한 간편인증 및 복합인증을 제공합니다.
인증 방식
간편인증: 로그인 페이지 하단 Sign in with Passkey를 통해 ID/Password 필요 없이 간편하게 로그인을 제공합니다.
복합인증: 2차 복합인증 시 ID/Password 필요 없이 간편하게 로그인을 제공합니다.
인증 종류
Mobile Passkey: QR 코드를 스캔하여, 안드로이드 및 IOS 모바일을 이용하여 로그인
보안키: Window 보안키를 이용하여 로그인
PIN: Window PIN코드를 이용한 로그인
참고
Passkey 지원 환경
1.운영체제(노트북 또는 데스크탑)
Windows 11, macOS Ventura, ChromeOS 109 이상
모바일폰: iOS 16 또는 Android 9 이상
하드웨어 보안키: FIDO2 프로토콜을 지원하는 하드웨어 보안 키
2.브라우즈 버전
Chrome 109 이상
Safari 16 이상
Edge 109
3.기기 설정
블루투스 활성화
화면 잠금용 비밀번호 설정
PIN 코드 등록
지문 또는 얼굴 인식 허용
참고
Passkey는 사전에 Window Hello 설정을 완료해야 합니다. 상세 정보는 참조 링크를 확인하세요.
관리자 인증
인증하기
SingleID 서비스에서는 관리자가 사용자를 대신하여 본인인증을 위임하여 인증을 제공합니다.
관리자 인증을 하시려면, 다음의 절차를 따르세요.
본인 확인 선택 방법에서 화면의 하단에 본인 인증을 할 수 없는 경우, 관리자에게 인증을 요청할 수 있습니다. 여기를 클릭하세요. 를 클릭하세요.
관리자 선택 화면에서 위임할 관리자를 선택하시고 요청버튼을 클릭하세요.
요청 버튼을 클릭후 선택한 관리자에게 승인을 요청하시면, 인증이 완료됩니다.
안내
하단에 본인인증을 할 수 없는 경우, 관리자에게 인증을 요청할 수 있습니다. 여기를 클릭하세요 문구가 없을 경우
관리자가 관리자 인증 위임 기능을 정책에 의해 비활성화하였습니다. 관리자에게 문의하세요.
3.2 - 인증 도구 등록하기
인증 도구 등록(Enrollment)하기
모든 인증 도구는 사용자 스스로 등록하여 사용하는 것이 원칙입니다. 사용자가 인증 도구를 등록하는 것을 인롤먼트(Enrollment)라고 합니다.
최초로 사용자가 생성되어지면 사용자 정보 중 이메일 정보를 이용하여 자동으로 Email OTP만 등록됩니다. 나머지 정보는 사용자가 필요에 따라 직접 등록해서 사용하면 됩니다.
등록 할 수 있는 방법은 3가지가 있습니다.
로그인 화면 > ID/Passwrod 입력 > 본인 인증 방식 선택 화면에서 등록하기
본인 인증 방식 선택 화면에서 ‘등록 필요’(회색 체크 마크)로 표시된 인증 도구를 클릭하시면, 등록할 수 있습니다.
User Portal(로그인 후) > Profile > 인증설정에서 +새로추가 버튼을 클릭하여 등록하기
모든 인증 화면 하단에 있는 등록 메시지 링크를 통해 등록하기
아래 화면은 SMS 인증 화면 예시입니다. 하단에 ‘모바일폰을 변경했다면, 등록해주세요.’ 메시지를 클릭하여 등록할 수 있습니다.
모든 인증 코드 입력 하단에 메시지를 통해 변경할 수 있습니다(메시지 형식: ~ 등록해주세요.)
그림. 인증 화면 예시
이메일 인증 도구 등록하기
이메일 등록는 다음의 3단계로 구성 되어 있습니다.
확인 단계: 이메일 인증도구를 등록하기 전 본인 확인 단계입니다.
등록 단계: 새로운 이메일를 등록하고 번호가 유효한지 검사하는 단계입니다.
완료 단계: 등록이 정상적으로 되었음을 최종 확인하는 단계입니다.
확인 단계
인증 도구를 하기 전에 본인 인증을 하는 단계입니다. 본인 인증 절차를 보시려면 로그인하기를 참고 하세요.
주의
확인 단계에 어떤 인증 방식을 사용할 것인지는 관리자가 설정한 인증 도구로만 인증할 수 있습니다.
등록 단계
사용자가 등록하길 원하는 이메일 주소를 등록하고, 이메일 주소의 유효성을 체크하는 단계입니다.
사용자는 다음과 같은 절차로 진행하시면 됩니다.
확인 단계에서 본인 인증을 완료하면 자동으로 등록 단계로 이동합니다.
등록하고 싶은 이메일 주소를 입력하세요.
인증 코드 보내기 버튼을 클릭하세요.
입력한 이메일 주소로 전송된 OTP코드를 확인하시고, OTP 코드를 화면에 입력하세요.
인증코드가 정확히 입력되면 완료 단계로 이동합니다.
완료 단계
등록 완료 화면이 나타나게 되며, 다음 로그인 시 이메일 인증 도구로 1차, 2차 인증을 할 수 있습니다.
SMS 인증 도구 등록하기
SMS 등록는 다음의 3단계로 구성 되어 있습니다.
확인 단계: SMS 인증 도구를 등록하기 전 본인 확인 단계입니다.
등록 단계: 새로운 모바일폰 번호를 등록하고 번호가 유효한지 검사하는 단계입니다.
완료 단계: 등록이 정상적으로 되었음을 최종 확인하는 단계입니다.
확인 단계
인증 도구를 하기 전에 본인 인증을 하는 단계입니다. 본인 인증 절차를 보시려면 로그인하기를 참고 하세요.
확인 단계에 어떤 인증 방식을 사용할 것인지는 관리자가 설정한 인증 도구로만 인증할 수 있습니다.
등록 단계
사용자가 등록하길 원하는 모바일폰 번호를 등록하고, 모바일 폰번호의 유효성을 체크하는 단계입니다.
사용자는 다음과 같은 절차로 진행하시면 됩니다.
확인 단계에서 본인 인증을 완료하면 자동으로 등록 단계로 이동합니다.
국가 코드를 선택하고, 등록하고 싶은 모바일폰 번호를 입력하세요.
인증 코드 보내기 버튼을 클릭하세요.
입력한 모바일폰 번호로 전송된 OTP코드를 확인하시고, OTP 코드를 화면에 입력하세요.
인증코드가 정확히 입력되면 완료 단계로 이동합니다.
완료 단계
등록 완료 화면이 나타나게 되며, 다음 로그인 시 SMS 인증 도구로 1차, 2차 인증을 할 수 있습니다.
SingleID ADM(Anomaly Detection Management) 기능을 이용하시는 경우
탐지 항목에 Normal 또는 Detected가 표시하게 됩니다. 해당 항목은 인증 이상행위가 감지된 로그인 이력입니다.
로그아웃 하기
화면의 우측 상단에 위치한 사진 아이콘을 클릭하여 ‘로그아웃’을 클릭하세요.
로그아웃 버튼을 클릭하면 SingleID를 통해 방문한 모든 애플리케이션에서 일괄 로그아웃이 되며, PC SSO Agent를 통해 통합 로그아웃이 설정되어 있다면 연관된 브라우저에서도 로그아웃이 진행됩니다.
4 - CAM Portal
서비스 개요
CAM(Cloud Access Management)은 클라우드 콘솔 및 자원 접속관리를 위한 서비스로 사용자가 쉽고 간편하게 클라우드 콘솔과 자원에 접속할 수 있는 기능을 제공합니다.
사용자는 사내망에 위치한 PC에서 복합인증(MFA, Multi-Factor Authentication)을 통해 포털에 접속할 수 있습니다. 비밀번호가 아닌 일회용 토큰을 발행하여 클라우드 콘솔과 자원에 접속할 수 있도록 하며, 모든 콘솔 접속 이력, 작업 이력 및 권한 승인 이력을 모니터링 할 수 있습니다.
그림. CAM 개념
서비스 시나리오
기존에는 IAM 개인 계정으로 콘솔 및 자원에 직접 접속하였으나 CAM으로 접속경로를 일원화하여 제공합니다.
1단계: 이행 기간을 통해 TO-BE 접속 채널을 신규 구성 후 AS-IS 접속 채널 병행 운영
2단계: Cut-Over를 통해 AS-IS 접속 채널 차단 후 TO-BE 채널로 전환
그림. 서비스 시나리오
주요 기능
사용자 시나리오
사용자 시나리오는 다음과 같은 순서로 진행됩니다.
인증 → 기준 정보 설정 → 콘솔 접속관리 → 자원 접속관리 → 모니터링
그림. 사용자 시나리오
로그인 & 홈
SingleID로 또는 SSO(예: Knox Portal) 계정을 사용하여 로그인하고, 복합인증(MFA)을 진행합니다. SMS나 Email로 수신한 인증 코드를 입력하면 로그인 프로세스를 완료하고 CAM에 접속하게 됩니다.
그림. SingleID 로그인
Home 화면에서는 원클릭으로 클라우드 콘솔 및 자원에 접속할 수 있도록 개인화된 맞춤 화면을 제공하여, 사용자는 쉽게 콘솔 및 자원에 접속할 수 있습니다.
그림. SingleID 로그인
구성
프로젝트를 생성한 후 CSP(Cloud Service Provider) 계정을 쉽게 등록할 수 있습니다. 또한 프로젝트에 사용자를 추가하여 프로젝트 내 권한을 제공할 수 있습니다.
콘솔 접속
역할과 정책을 만들어 클라우드 콘솔에 대한 접속권한을 설정하고 제어할 수 있으며, 역할을 특정 계정 및 사용자에게 매핑하여 CSP 콘솔에 접속 할 수 있는 사용자와 권한 수준을 정의할 수 있습니다.
자원 접속
클라우드 자원 접속권한을 관리합니다. 클라우드 자원 접속관리를 위해 먼저 각 사용자는 권한을 요청하고, PC 클라이언트 에이전트를 다운로드 및 설치하며 접속 IP 주소를 등록합니다. 설정이 완료되면 사용자는 개인화된 자원 목록에서 원하는 자원에 접속할 수 있습니다.
4.1 - 시작하기
본 매뉴얼에서는 사용자가 CAM을 효과적으로 이용하는데 필요한 필수 기능과 과정을 빠르게 이해하는데 도움을 드리고자 합니다.
네트워크 환경
테넌트별 허용된 네트워크 환경에서만 접속이 가능합니다.
CAM 포털, 콘솔접속: 테넌트별 허용된 네트워크 환경에서 접속할 수 있습니다.
DEV, STG, ETC 자원접속: 테넌트별 허용된 네트워크 환경에서 접속할 수 있습니다.
PRD 자원접속: 인터넷이 차단된 네트워크 환경에서만 접속이 가능하여, 테넌트별 특정 IP 대역에서만 접속할 수 있습니다.
추가 개별 PC 환경 설정 필요합니다.
사전 작업
CAM 포털을 이용하기 위해서는 몇 가지 사전 작업이 필요합니다.
PM(Project Manager) 또는 PL(Project Leader) 그룹 사용자라면 아래 클라우드 계정 및 자원 준비 사항을 확인하시고 미리 환경을 준비하시기 바랍니다.
클라우드 계정 준비
CAM에 계정을 등록하고 관리하기 위해서는 우선 CSP(AWS, Azure, SCP)의 IAM 서비스에서 역할을 생성하여 CAM에서 필요로 하는 정책들로 구성을 하여, CAM에 assume role 하는 과정이 필요합니다.
CAM에 자원을 등록하고 접속하기 위해서는 자원 구성 시 몇 가지 설정 작업이 필요합니다.
먼저, ‘암호를 통한 연결’을 허용해야 합니다. CAM에서 자원 접속 시 SSH 연결을 위한 One-Time-Password(OTP)가 발행되므로 이 구성은 CAM을 통해 자원에 접속하기 위해서 반드시 필요합니다.
또한, 자원 타입이 Compute일 경우에는 아래의 구성을 추가해야 합니다.
아래 내용을 /etc/sudoers 이름의 파일에 추가합니다.
ubuntu : %sudo ALL=(ALL) NOPASSWD:ALL
amazon linux : %wheel ALL=(ALL) NOPASSWD: ALL
systemctl restart sshd.service로 서버를 재기동합니다.
네트워크 설정
CAM을 통해 자원에 접속하기 위해서는 CAM이 해당 자원에 접속할 수 있도록 테넌트별 네트워크 환경에 맞게 방화벽 및 보안 그룹 등록이 필요합니다. 테넌트 관리자에게 필요한 정보를 확인하여 네트워크 설정을 진행하시기 바랍니다.
서비스 범위
CSP는 현재 AWS, Azure, SCP를 지원하며, 순차적으로 다른 CSP로 확대할 예정입니다.
항목
설명
AWS
Amazon Web Services
IAM (콘솔)
AWS Identity and Access Management
SCP
Samsung Cloud Platform (KR EAST1 리전, KR WEST1 리전)
EC2
Elastic Compute Cloud
RDS
Relational Database Service
표. CSP 약어
OS
Version
Ubuntu
Ubuntu Server 24.04 LTS
Ubuntu
Ubuntu Server 22.04 LTS
Amazon Linux
Amazon Linux 2023 AMI
Redhat
Red Hat Enterprise Linux 9.4
표. OS
DB Engine
Version
PostgreSQL
16.x
MySQL
8.0.x
Aurora PostgreSQL
15.x
Aurora MySQL
3.05.x
Aurora MySQL
3.04.x
Aurora MySQL
3.03.x
MariaDB
10.11.10x
표. DB
4.2 - Home
로그인 후 개인화된 홈페이지에서 CSP 콘솔과 개인별 할당된 자원에 원클릭으로 접속할 수 있습니다. 운영자와 개발자는 한 곳에서 승인된 콘솔 및 자원에 쉽고 빠르게 접속하여 업무를 효율화할 수 있습니다.
CAM(Cloud Access Management)의 홈 화면은 두 섹션으로 나뉩니다.
Top Resources
My CSP Consoles
두 섹션 모두 할당된 자원 및 CSP 콘솔에 대한 접속 기능을 제공합니다.
Top Resources
이 섹션에서는 접속 가능한 상위 30개의 자원 목록을 보여줍니다.
카드보기 및 목록보기
기본적으로 자원은 카드보기 형태로 제공되며, 기호에 따라 목록보기로 전환할 수 있습니다.
검색 및 필터
검색 기능을 사용하여 특정 자원을 신속하게 찾을 수 있으며, 다음 항목을 기반으로 자원을 필터링할 수 있습니다.
Project
CSP(Cloud Service Provider)
환경(예: DEV, STG, PRD, ETC)
자원 타입(예: Compute, DB)
즐겨찾기
즐겨찾기(★) 아이콘을 사용하여 즐겨찾기를 설정할 수 있으며, 즐겨찾기 필터를 설정하여 즐기찾기 설정된 자원만 필터링할 수 있습니다.
정렬
자원 목록은 다음 두 가지 기준으로 정렬할 수 있습니다.
최근(기본 정렬)
생성일자
자원 정보
선택한 보기 방식에 따라 카드 및 목록에서 자원에 대한 세부 정보를 확인할 수 있습니다.
자원 이름
Project
CSP(예: AWS, Azure, SCP)
환경(예: DEV, STG, PRD, ETC)
자원 타입(예: Compute, DB)
자원 접속/해제
각 자원에는 접속 또는 접속을 해제할 수 있는 Connect 버튼이 있습니다.
자원에 이미 접속된 경우에는 다음과 같은 세부 정보가 표시됩니다:
마지막 접속 날짜/시간
접속 상태
자원 접속
카드 또는 목록의 Connect 버튼을 클릭하면 접속을 위한 팝업이 열립니다.
자원에 접속하려면 다음 항목의 세부 정보를 입력하세요.
Local Port: 1024에서 65535 사이의 포트 번호 중 PC에서 현재 사용되지 않는 번호를 입력합니다.
Remote Port: 자원의 포트 번호를 입력합니다.
Launch Putty : 연결 과정에서 Putty가 자동으로 실행되도록 하려면 ‘ON’ 을 선택합니다.
참고
접속을 시도하기 전에 클라이언트 에이전트가 설치되어 있고, IP 주소가 등록되어 있는지 확인합니다.
설정을 위해서는 Resource Access > PC 설정을 참고하세요.
접속 세부 정보
자원에 접속되면 드롭다운을 클릭하여 사용자 ID, 암호 및 로컬 IP와 같은 세부 연결 정보를 볼 수 있습니다. 이 정보는 SSH 연결을 통해 사용자가 자원에 접속할 수 있는 세부 정보로 팝업을 통해 제공됩니다.
User ID: 오른쪽에 있는 복사 아이콘을 클릭하여 사용자 ID를 복사합니다.
Password: 오른쪽에 있는 복사 아이콘을 클릭하여 암호를 복사합니다.
Local IP: 오른쪽의 복사 아이콘을 클릭하여 로컬 IP 주소를 복사합니다.
Client Server IP: 화면에 표시된 접속된 클라이언트 서버 IP를 참조합니다.
자원 접속 해제
자원에 접속하면 Disconnect 버튼이 나타납니다. 접속 해제 프로세스를 시작하려면 이 버튼을 클릭하세요. 접속이 끊어지기 전에 최종 확인을 위한 팝업이 표시됩니다.
My CSP Consoles
페이지 하단에 sticky footer 형태로 CSP 접속 링크를 제공합니다. SAML SSO를 통한 CSP 콘솔 접속을 제공하므로 별도의 인증 절차 없이 바로 접속할 수 있습니다.
4.3 - Console Access
콘솔 접속 기능은 PM 및 PL 그룹 사용자가 클라우드 계정 및 사용자에게 역할과 정책을 할당하여 CSP 콘솔에 대한 접속을 관리할 수 있도록 합니다. 여기서 설정된 권한에 따라 사용자는 적절한 권한으로 콘솔에 접속할 수 있습니다.
콘솔 접속 섹션은 4개의 주요 관리 영역으로 구성됩니다.
역할 관리: 사용자(User)가 CSP 콘솔에 대해 접속할 수 있는 수준을 정의하고 관리합니다.
정책 관리: 새로운 정책(Policy)을 정의하고 각 정책별로 매핑된 역할을 관리합니다.
계정 관리: 클라우드 계정(Account)을 관리하고 각 계정이 올바른 역할 권한에 매핑되도록 합니다.
사용자 관리: 사용자별로 올바른 역할(Role)에 매핑하여 클라우드 콘솔에 접속하는 데 필요한 권한을 갖도록 함으로써 사용자의 콘솔 접속을 제어합니다.
역할 관리
역할 관리 메뉴에서는 프로젝트에 등록된 모든 역할을 확인하고 관리할 수 있으며, CSP별 또는 프로젝트별 역할을 필터링하여 확인할 수 있습니다.
역할 생성
역할을 생성하려면 Create Role 버튼을 클릭합니다.
신규 역할을 생성하려면 팝업창에 다음 필수 정보를 작성해야 합니다.
프로젝트: 사용자의 프로젝트 목록에서 프로젝트을 선택합니다.
CSP: CSP를 선택합니다.
역할명: 고유한 역할 이름을 입력하고 Validate 버튼을 클릭하여 정합성을 확인합니다.
설명: 역할에 대한 간략한 설명을 추가합니다.
역할 보기
역할에 대한 자세한 정보에 접속하려면 역할 관리 메뉴로 이동한 후 원하는 역할을 클릭합니다. 모든 프로젝트 사용자는 역할에 매핑된 정책, 클라우드 계정 및 사용자를 포함하여 역할 세부 정보를 볼 수 있습니다.
역할 보기 화면에서는 다음을 포함한 주요 세부 정보가 표시됩니다.
역할 정보: 역할과 관련된 기본 세부 정보입니다.
역할 삭제: Delete 버튼을 클릭하여 이 역할을 제거합니다.
정책: 현재 역할에 매핑된 정책 목록을 보여줍니다.
계정: 역할과 관련된 계정 목록을 보여줍니다.
사용자: 역할에 연결된 사용자 목록을 보여줍니다.
참고
정책, 계정 및 사용자 매핑을 설정하려면 정책 관리 메뉴에서 정책을 먼저 생성하고 클라우드 계정 및 사용자가 프로젝트에 미리 등록되어 있어야 합니다.
참고
CSP 프로세스는 사용자 추가 승인이 완료된 후에 시작됩니다. 따라서 상태가 ‘승인됨’으로 변경되고 사용자의 CSP 역할 목록에서 확인되는 데 시간이 걸릴 수 있습니다(최대 10분).
AWS 역할에는 최대 10개의 정책을 매핑할 수 있습니다.
각 계정은 CSP에 따라 역할 제한을 가지며, AWS에서는 최대 800개, Azure에서는 최대 5000개의 역할을 가질 수 있습니다.
각 사용자는 CSP에 따라 역할 제한을 가지며, AWS에서는 최대 10개, Azure에서는 최대 4000개의 역할을 매핑할 수 있습니다.
역할 삭제
PM 또는 PL 그룹 사용자는 프로젝트 내의 역할을 삭제할 수 있습니다. 역할 관리 목록에서 삭제할 역할을 선택하고 Delete 버튼을 클릭합니다. 또는 특정 역할 화면에서 Delete 버튼을 클릭하여 하나씩 삭제할 수 있습니다.
정책 관리
PM 및 PL 그룹 사용자는 정책 목록에서 정책을 선택하거나 선택 해제하여 역할에 매핑된 정책을 추가하거나 삭제할 수 있습니다.
정책 생성
새 정책을 생성하려면 “Create Policy” 버튼을 클릭하여 “정책 생성하기” 팝업에 필요한 정보를 기입합니다.
프로젝트: 등록된 프로젝트 목록에서 프로젝트를 선택합니다.
CSP: CSP를 선택합니다.
정책명: 정책의 이름을 입력하고 “Validate” 버튼을 클릭하여 정합성을 확인합니다.
JSON 코드: 정책을 정의하는 JSON 코드를 입력합니다.
설명: 정책에 대한 간략한 설명을 추가합니다.
역할에 정책을 매핑하려면 정책 목록 위의 Add 버튼을 클릭하여 팝업창을 엽니다. 팝업창에서 동일한 프로젝트 내에 정의된 정책을 확인하고 선택할 수 있습니다. 매핑 과정을 완료하려면 Save 버튼을 클릭합니다. 한 번에 여러 정책을 매핑할 수 있습니다.
정책을 매핑하기 전에 정책 관리 메뉴에서 원하는 정책이 생성되었는지 확인하세요.
정책 보기
정책에 대한 자세한 정보를 확인하려면 정책 관리 메뉴로 이동한 후 원하는 정책을 클릭하세요. 모든 프로젝트 사용자는 정책에 매핑된 역할을 포함하여 정책 세부 정보를 볼 수 있습니다.
정책 삭제
역할에서 정책 매핑을 제거하려면 목록에서 정책을 선택하고 Delete 버튼을 클릭합니다. 삭제된 정책은 Add Policy 팝업 목록에 다시 나타나며, 필요한 경우 다시 추가할 수 있습니다. 정책 매핑을 제거하면 역할과 관련된 정책 간의 관계가 사라집니다.
계정 관리
PM 및 PL 그룹 사용자는 역할에 클라우드 계정을 매핑하거나 제거할 수 있습니다.
계정 보기
계정 세부 정보 확인하려면:
계정 관리로 이동하여 원하는 계정을 클릭합니다.
모든 프로젝트 사용자는 해당 계정의 세부 정보에 접근할 수 있으며, 이 계정에는 매핑된 역할 목록이 포함됩니다.
PM 또는 PL 그룹 사용자는 계정과 관련된 역할을 편집하거나 삭제할 수도 있습니다.
계정에 역할 추가
계정에 역할을 매핑하려면 역할 목록 위의 Add 버튼을 클릭하여 Add Roles 팝업을 엽니다.
팝업에서 계정과 동일한 프로젝트에 속한 역할을 선택하고 Save 버튼을 클릭하여 매핑 프로세스를 완료합니다.
참고
AWS 계정에는 최대 800개의 역할을, Azure 계정에는 최대 5000개의 역할을 매핑할 수 있습니다.
계정에서 역할 삭제
계정에서 역할을 제거하려면 목록에서 역할을 선택하고 Delete 버튼을 클릭합니다. 삭제된 역할은 Add Role 팝업에 다시 나타나며, 필요한 경우 다시 추가할 수 있습니다. 여러 역할을 한 번에 삭제할 수도 있습니다.
사용자 관리
사용자 관리 메뉴를 통해 사용자는 프로젝트 내에 등록된 모든 사용자를 확인하고 관리할 수 있습니다. 이름을 사용하여 사용자를 검색할 수 있습니다.
사용자 보기
사용자의 세부 정보를 보려면:
사용자 관리로 이동하여 사용자를 클릭합니다.
모든 프로젝트 사용자는 해당 사용자에 매핑된 역할을 포함하여 사용자 세부 정보를 볼 수 있습니다.
PM 또는 PL 그룹 사용자는 사용자에게 역할을 추가하거나 삭제할 수 있습니다.
사용자에 역할 추가
사용자에게 역할을 매핑하려면 역할 목록 위의 Add 버튼을 클릭하여 Add Role 팝업을 엽니다. 팝업에서 사용자가 속한 프로젝트의 모든 역할 목록을 확인할 수 있으며, 여기서 추가할 역할을 선택하고 Create Approval 버튼을 클릭하여 결재 프로세스를 진행합니다.
참고
각 사용자는 CSP에 따라 역할 제한을 가지며, 최대 AWS 역할 10개, Azure 역할 4000개를 매핑할 수 있습니다.
결재 작성
사용자에게 역할을 할당하기 위해서는 결재 과정이 필요합니다. 결재 프로세스는 Create Approval 팝업을 거쳐 Knox 결재 시스템 또는 CAM 자체 결재 시스템을 통해 진행됩니다.
제목: 시스템에 의해 자동 입력되어 수정 불가합니다.
결재자: 시스템에 의해 자동으로 결재 경로가 지정되며, 결재 가이드에 따라 결재자 및 합의자를 추가 입력할 수 있습니다.
내용: 프로젝트 및 역할 정보는 시스템에 의해 자동으로 입력되며 수정할 수 없습니다.
사용자로부터 역할 삭제
사용자에 매핑된 역할을 해제하려면 Delete 버튼을 클릭합니다. 최종 삭제 확인을 거치면 사용자의 역할 매핑이 해제됩니다. 해제된 역할은 다시 Add Role 팝업에 떠서 필요한 경우 다시 추가할 수 있습니다. 역할 매핑 해제 시에는 승인이 필요하지 않지만 역할 재 추가 시에는 승인이 필요하므로 참고하시기 바랍니다.
4.4 - Resource Access
개인별 권한이 있는 모든 자원을 확인하고 자원에 접속할 수 있습니다.
자원 접속을 위해서는 PM 또는 PL 그룹 사용자가 프로젝트에 등록된 클라우드 계정의 자원을 등록하고, 사용자의 권한 요청 및 승인 과정을 거쳐야 합니다.
자원
사용자에게 권한이 승인된 모든 자원을 보여줍니다. 사용자는 자원 목록을 확인하고 직접 자원에 접속할 수 있습니다.
접속
Connect 버튼을 클릭하여 자원에 접속할 수 있으며, 접속된 후에는 접속 세부 정보를 제공합니다.
Local Port: PC에서 다른 용도로 사용하고 있지 않은 포트 번호를 입력합니다.
Remote Port: 자원의 포트 번호를 입력합니다.
Putty Execution: Putty 자동 실행을 하려면 ON 설정이 필요합니다.
참고
자원에 접속하기 전에 클라이언트 에이전트를 설치하고 IP 주소를 등록했는지 확인하시기 바랍니다.
자세한 내용은 Resource Access > PC 설정을 참고하세요.
접속 정보
SSH를 통해 자원에 접속할 수 있도록 세부 접속 정보를 제공합니다
User ID: 복사 아이콘을 클릭하여 사용자 ID를 복사하여 사용할 수 있습니다.
Password: 복사 아이콘을 클릭하여 암호를 복사하여 사용할 수 있습니다.
Local IP: 복사 아이콘을 클릭하여 로컬 IP를 복사하여 사용할 수 있습니다.
Cloud Server IP: 복사 아이콘을 클릭하여 클라우드 서버 IP를 복사하여 사용할 수 있습니다.
접속 해제
자원에 접속이 되면 Connect 버튼이 Disconnect 버튼으로 변경됩니다. 자원 접속을 끊으려면 Disconnect 버튼을 클릭하세요.
자원 등록
이 메뉴에서는 자원 접속에 필요한 자원 정보를 등록할 수 있으며, 등록이 완료된 자원 목록을 보여줍니다.
등록
자원을 등록하려면 프로젝트 메뉴에서 클라우드 계정 등록이 선행되어야 합니다. PM 및 PL 그룹 사용자는 클라우드 계정 내에 생성된 자원을 등록할 수 있습니다. Enroll 버튼을 클릭하여 자원 등록 화면으로 이동한 다음 자원 접속 정보를 설정합니다.
Project: PM 또는 PL 그룹 사용자로 등록된 프로젝트 중 선택합니다.
Account: 선택한 프로젝트에 등록된 클라우드 계정 중 선택합니다.
Region: 선택한 계정의 지역 정보를 선택합니다.
Resource Type: Compute, DB 중 하나를 선택합니다.
Resource: 선택한 기준과 일치하는 자원을 선택합니다.
Connection Type: Direct(서버에 직접 연결)와 Bastion(프록시 서버를 통해 연결) 중 선택합니다.
Address: 자원의 주소 정보를 입력합니다.
Root User: 자원에 대한 루트 사용자의 IP 및 암호를 제공합니다.
참고
자원을 등록하기 전에 클라우드 계정 등록 및 자원 생성이 완료되었는지 확인하시기 바랍니다.
클라우드 계정 등록은 Configuration > 프로젝트에서 할 수 있습니다.
안내
지원 OS/DB
현재 ‘자원 등록’이 가능한 OS와 DB는 아래와 같이 제한되어 있으며, 지원 OS와 DB는 지속적으로 추가될 예정입니다.
OS
버전
Ubuntu
Ubuntu Server 24.04 LTS
Ubuntu
Ubuntu Server 22.04 LTS
Amazon Linux
Amazon Linux 2023 AMI
Redhat
Red Hat Enterprise Linux 9.4
표. 지원 OS
DB Engine
버전
PostgreSQL
16.x
MySQL
8.0.x
Aurora PostgreSQL
15.x
Aurora MySQL
3.05.x
Aurora MySQL
3.04.x
Aurora MySQL
3.03.x
MariaDB
10.11.10x
표. 지원 DB
네트워크 설정
CAM에 자원을 등록하고 CAM을 통해서 자원에 접속하기 위해서는 네트워크 설정 작업이 선행되어야 합니다.
테넌트 관리자에게 가이드를 받아 방화벽 등록, 보안그룹 등록 등 각 테넌트 환경에 맞는 네트워크 설정을 진행하신 후 자원 등록을 하시기 바랍니다.
회수
더 이상 사용되지 않는 자원은 등록된 자원 목록에서 삭제해야 합니다.
자원 보기 또는 자원 등록 목록에서 선택한 후 Withdraw 버튼을 클릭하여 추가 접속을 방지합니다.
권한 요청
권한 요청 메뉴에서는 프로젝트 멤버의 자원 권한을 조회하고, 사용자별 CSP 자원 타입별 권한을 요청할 수 있습니다.
요청
사용자는 기간 및 권한 타입을 선택하여 CSP 자원 타입별 자원 권한을 요청할 수 있습니다.
모든 권한은 승인이 필요하지만 ‘Emergency’를 선택할 때는 승인 요청과 동시에 권한이 부여됩니다.
자원 정보
Project: 사용자가 속한 프로젝트 중에서 선택합니다.
Account: 선택한 프로젝트에 등록된 계정을 선택합니다.
Resource Type: Compute, DB 중 하나를 선택합니다.
권한
Period: 기간(예: 4h, 8h, 24h, 10d, 30d, 12M)을 선택합니다.
Emergency: 체크할 경우 승인 요청과 동시에 즉시 권한이 부여되며, 승인자에게 관련 메일이 전송됩니다.
Permission Level: USER, ADMIN, DBA 중 하나를 선택합니다.
Comment: 승인을 위한 코멘트를 추가합니다.
결재 작성하기
자원 접속 권한을 얻기 위해서는 결재 과정이 필요합니다. 결재 프로세스를 진행하기 위해 “결재 작성하기” 팝업을 거쳐, Knox 결재로 전송되어 Knox 결재를 통해 진행됩니다.
Title: 시스템에 의해 자동 입력되어 수정 불가합니다.
Approver: 가이드에 따라 결재자 및 합의자를 추가합니다.
Content: 프로젝트 및 권한 정보는 시스템에 의해 자동으로 입력되며 수정할 수 없습니다.
회수
더 이상 필요하지 않은 권한을 제거하려면 권한 요청 목록에서 해당 권한을 선택하고 Withdraw 버튼을 클릭합니다.
PC 설정
클라우드 자원에 접속하려면 클라이언트 에이전트를 설치하고 접속 환경의 IP 주소를 등록해야 합니다.
클라이언트 에이전트 다운로드
Download Client Agent를 클릭하여 다운로드를 시작한 후 클라이언트 에이전트를 설치합니다.
사용자 가이드
자원에 접속하려면 클라이언트 다운로드 및 설치가 필요합니다. 또한 설치가 완료되지 않았거나 버전이 지원되지 않으면 권한, IP 등록 등 다른 준비가 모두 완료됐더라도 자원 연결을 할 수 없습니다.
설치 가이드
설치 프로세스를 시작하려면 Download Client Agent 버튼을 클릭하여 설치 파일을 다운로드 하세오. 다운로드가 완료되면 다음 정보를 참고하여 설치를 진행하시기 바랍니다.
Download Location: 로컬 드라이브에서 폴더를 지정합니다.
Execution: 다운로드한 파일을 선택하고 마우스 오른쪽 버튼을 클릭하여 관리자로 실행을 클릭하여 실행합니다.
IP 등록
클라우드 자원 접속은 등록된 IP에 한하여 가능하며, 최대 5개의 IP를 등록할 수 있습니다.
다음 정보를 참고하여 IP를 등록하시기 바랍니다.
신규 IP를 추가하려면 Add 버튼을 클릭합니다.
기존 IP를 제거하려면 목록에서 해당 IP를 선택하고 Delete 버튼을 클릭합니다.
4.5 - Monitoring
CAM의 모니터링 메뉴는 콘솔 접속 기록, 사용자 활동 및 승인 기록을 추적하기 위한 필수 기능을 제공합니다. 이 기능은 상세한 정보를 통해 통찰력을 제공하여 투명성, 보안 및 규정 준수를 보장합니다.
접속 이력
접속 이력은 CAM 콘솔 내에서 사용자 활동에 대한 기록을 제공하여 관리자가 프로젝트 및 클라우드 환경 전반에 걸쳐 접속 관련 작업을 추적하고 검토할 수 있도록 합니다. 이를 통해 보안 규정 준수를 보장하고, 사용자가 CAM 인터페이스를 통해 클라우드 자원과 어떻게 언제 상호작용하는지에 대한 가시성을 제공합니다.
콘솔 접속이력
콘솔 접속이력은 CAM을 통해 수행된 콘솔 접속과 관련된 모든 이벤트를 기록합니다. 이 이력은 테넌트 관리자가 콘솔 연결 시도를 모니터링하고, 이벤트 결과를 확인하며, AWS, Azure 및 SCP 계정에 대한 접속 패턴을 식별할 수 있도록 합니다.
콘솔 접속이력 페이지는 Monitoring > Access Log > Console Access Log 에서 확인할 수 있습니다.
콘솔 접속이력 기능
이력 범위
테넌트(회사) 관리자: 테넌트 내의 모든 콘솔 접속에 대한 이력을 확인할 수 있습니다.
사용자: 자신의 프로젝트에 대한 이력만 확인할 수 있습니다.
이력 상세
콘솔 접속이력은 CAM을 통해 시작된 모든 콘솔 관련 활동에 대한 이벤트 데이터를 기록합니다.
이력은 모든 구성된 테넌트에 대해 제공되며, AWS, Azure 및 SCP 전반에 걸친 접속 이벤트를 포함합니다.
이력 세부 정보에는 이벤트 유형, 날짜/시간, 프로젝트, Account ID 등의 정보가 표시됩니다.
확장 아이콘을 클릭하여 모든 작업에 대한 상세 정보를 확인할 수 있습니다. 이 상세 보기 기능은 각 접속 시도에 대한 더 깊은 이해를 제공합니다. 상세 이벤트 정보에는 다음과 같은 내용이 포함됩니다:
Event ID
Event Source
Event Result
Request Type
User Agent
Region
Source IP Address
User Information
프로젝트, CSP, 환경 등의 필터를 사용하여 결과를 좁힐 수 있습니다.
특정 기간을 선택하여 이력을 필터링할 수 있습니다. 기본 기간은 30일입니다.
이력은 역순으로 정렬되며, 가장 최근 작업이 상단에 표시됩니다.
각 이력 항목은 CAM 전반에 걸친 콘솔 접속 패턴과 사용자 활동을 추적하기 위한 감사 추적 역할을 합니다.
선택한 기간의 모든 이력 데이터를 Excel 파일로 다운로드하여 오프라인 분석 또는 기록 보관에 사용할 수 있습니다.
감사이력
안내
메뉴에서 Monitoring > Audit Log로 이동합니다.
원하는 이력 타입을 선택합니다: Audit Log, Approval Log
검색 및 필터 옵션을 사용하여 사용자, 자원 타입 또는 기간과 같은 기준에 따라 이력을 검색합니다.
접속 시점의 타임스탬프, 사용자 정보 및 자원 세부 정보와 같은 세부 정보를 확인합니다.
감사이력은 CAM 포털 내에서 수행되는 사용자 및 시스템 동작에 대한 종합적인 히스토리를 제공하며, 두 개의 세부 항목으로 나뉩니다.
활동이력(Audit Log)
권한승인이력(Approval Log)
활동이력(Audit Log)
활동이력은 CAM 포털 내 데이터의 생성, 업데이트 및 삭제와 관련된 작업 이력을 보여줍니다.
활동이력 기능
이력 범위
테넌트(회사) 관리자: 테넌트 내의 모든 프로젝트에 대한 이력을 확인할 수 있습니다.
사용자: 자신의 프로젝트에 대한 이력만 확인할 수 있습니다.
이력 상세
이벤트 타입, 날짜/시간, 사용자, IP 등의 정보를 보여줍니다.
확장 아이콘을 클릭하여 모든 동작에 대한 자세한 정보를 볼 수 있습니다.
프로젝트, 이벤트 타입, 사용자 등 필터를 사용하여 결과를 좁혀볼 수 있습니다.
기간을 선택하여 이력을 필터링할 수 있습니다. 기본 설정 기간은 30일입니다.
이력은 최신순으로 정렬하여 최근 동작이 위에 보여집니다.
선택한 기간 내의 모든 이력 데이터를 오프라인 분석 또는 기록 보관을 위해 엑셀 파일로 다운로드할 수 있습니다.
권한승인이력(Approval Log)
권한승인이력은 CAM 내 모든 결재 요청 내역 및 결재 상태를 제공합니다.
권한승인이력 기능
이력 범위
테넌트(회사) 관리자: 테넌트 내의 모든 프로젝트에 대한 권한승인 결재 이력을 확인할 수 있습니다.
사용자: 자신의 프로젝트에 대한 권한 승인 결재 이력만 확인할 수 있습니다.
이력 상세
결재 타입, 결재 상태, 세부 정보, 승인 이력을 보여줍니다.
결재중, 승인완료, 거절 등 결재 상태를 확인할 수 있습니다.
특정 결재 항목을 열어 세부 사항을 확인할 수 있습니다.
프로젝트, 결재 타입, 결재현황, 사용자 등 필터를 사용하여 결과를 좁혀볼 수 있습니다.
기간을 선택하여 이력을 필터링 할 수 있습니다. 기본 설정 기간은 30일입니다.
이력은 최신순으로 정렬하여 최근 결재가 위에 보여집니다.
선택한 기간 내의 모든 이력 데이터를 오프라인 분석 또는 기록 보관을 위해 엑셀 파일로 다운로드할 수 있습니다.
4.6 - Configuration
구성 모듈에서는 PM 및 PL 그룹 사용자가 프로젝트를 관리할 수 있고, 테넌트 관리자는 결재 경로, 조직도를 설정할 수 있습니다.
프로젝트
프로젝트 메뉴에서는 사용자가 속한 모든 프로젝트를 확인할 수 있습니다. 프로젝트 상세 정보는 PM이 최초 등록하며, PM 또는 PL 그룹 사용자가 필요에 따라 수정할 수 있습니다.
프로젝트 생성
프로젝트를 생성하려면 Create Project 버튼을 클릭하여 프로젝트 정보를 입력합니다.
프로젝트 이름: 프로젝트에 이름을 부여합니다.
PM: 프로젝트의 관련 정보와 권한을 관리할 수 있는 프로젝트 관리자를 지정합니다. 자신이 아닌 다른 사람을 지정할 때 생성 후 더 이상 프로젝트 관리를 할 수 없으므로 유의하시기 바랍니다.
조직: 프로젝트를 수행하는 조직을 선택합니다.
설명: 프로젝트에 대한 설명을 입력합니다.
프로젝트 보기
프로젝트 보기 화면에서 PM이나 PL 그룹 사용자는 프로젝트 정보를 관리하며 프로젝트에 CSP 계정과 사용자를 추가할 수 있습니다.
일반 정보: 프로젝트 생성 화면에 등록된 프로젝트 정보를 보여줍니다.
수정: Edit 버튼을 클릭하여 프로젝트의 일반 정보를 수정할 수 있습니다.
삭제: Delete 버튼을 클릭하여 이 프로젝트를 삭제할 수 있습니다.
사용자: 프로젝트에 등록된 사용자의 목록을 보여줍니다.
클라우드 계정: 프로젝트에 등록된 계정 목록을 보여줍니다.
클라우드 계정 관리
PM 및 PL 그룹 사용자는 프로젝트에 신규 계정을 추가하거나 더 이상 사용되지 않는 계정을 삭제할 수 있습니다.
AWS 계정 추가
CAM은 클라우드 계정 연결시 보안을 강화하기 위해 keyless 방식을 지원합니다.
계정을 등록하기 위해서는 AWS IAM 서비스에서 CAM에서 필요로 하는 정책으로 새로운 역할을 생성해야 합니다. 아래 단계를 수행하여 AWS에서 역할을 생성할 수 있습니다.
Access Management > Roles에 접속한 후 Create을 클릭하면 Create Role 화면으로 이동합니다.
Create Role > Step 1: Trusted Entity 선택
이 단계는 CAM 계정 정보를 입력하는 단계입니다.
AWS account와 Another AWS account를 순서대로 선택한 후 account ID에 CAM 계정 ID 022499039571을 입력합니다.
Create Role > Step 2: 권한 추가
CAM 정책을 새로 생성된 역할에 할당합니다.
안내
다음을 검색하여 관련 정책을 선택하고 다음 단계로 진행합니다.
IAMFullAccess
AmazonEC2FullAccess
AmazonRDSFullAccess
AWSCloudTrail_FullAccess
AmazonS3FullAccess
AmazonEventBridgeFullAccess
Create Role > Step 3: 이름, 확인, 생성
역할 이름을 입력하고 Create Role 버튼을 클릭하면 역할 생성이 완료됩니다.
※ 이 역할 이름이 CAM에서 계정을 등록할 때 Role Name으로 사용합니다.
안내
IAM에서 역할 생성이 완료되면 CAM의 프로젝트 보기 화면으로 돌아와서 CAM에 계정을 등록합니다. 계정 목록 위에 있는 Add 버튼을 클릭하고 계정 정보를 입력하여 프로젝트에 계정을 등록할 수 있습니다. 계정 등록을 완료하기 위해서는 결재 과정이 필요합니다. 결재 프로세스를 진행하기 위해 Create Approval 버튼을 눌러 결재를 진행하며, 결재는 Knox 결재 등의 결재 시스템으로 전송되어 진행됩니다. 결재가 완료되면 계정 목록에서 새로 등록된 계정을 볼 수 있습니다.
CSP: CSP 를 선택합니다.
환경: 서비스 환경을 선택합니다.
계정 이름: 계정에 이름을 부여합니다.
계정 ID: AWS에 등록된 계정 ID를 입력 후 ‘Verify’ 버튼을 눌러 확인합니다.
AWS 타입: 계정이 중국 계정인 경우 ON 으로 설정합니다.
역할 이름: AWS IAM에서 생성한 역할명을 입력합니다.
참고
계정 등록 정책은 테넌트마다 차이가 있습니다. 테넌트의 정책에 따라 계정이 하나의 프로젝트에만 등록되도록 제한될 수 있습니다.
제목 : 시스템에 의해 자동 입력되어 수정이 불가합니다.
결재자: 시스템에 의해 자동으로 결재 라인이 추가되며, 결재 가이드에 따라 결재자 및 합의자를 추가할 수 있습니다.
내용: 계정 정보는 시스템에 의해 자동으로 입력되며 수정이 불가합니다.
SCP 계정 추가
PM 및 PL 그룹 사용자는 View Project 페이지의 Add Account 버튼을 통해 CAM 프로젝트에 새로운 SCP 계정을 추가할 수 있습니다. CAM은 보안을 강화하기 위해 keyless 연결 방식을 지원하므로 계정 등록 시 직접 자격 증명이 교환되지 않습니다. 시작하기 전에 SCP 콘솔에서 필요한 설정이 완료되었는지 확인하세요.
참고
SCP는 SCP for Samsung과 SCP for Enterprises 환경을 모두 포함합니다. 사용자의 CSP 권한 또는 선택에 따라, 계정을 추가하기 위한 사전 요구 사항과 단계는 두 환경 모두 동일합니다.
1단계. 사전 설정(CAM 계정을 위한 일회성 신뢰 구성)
CAM에 SCP 계정을 추가하기 전에, SCP 측에서 다음 구성이 완료되었는지 확인하세요. 이 설정은 CAM이 대상 프로젝트에 안전하게 접근하고 계정 정보를 검증할 수 있도록 합니다.
먼저, 매뉴얼에 설명된 단계에 따라 정책이 이미 생성되어 있지 않다면 설정해야 합니다. 그런 다음 권한 그룹을 통해 CAM 계정을 승인하고 멤버를 추가하세요.
CAM 접속을 위한 정책 생성
SCP 콘솔로 이동합니다.
로그인 후 SCP 콘솔에서 IAM > 정책 섹션으로 이동합니다.
‘CAM_Linked_Policy’라는 이름으로 정책을 생성합니다.
다음 표에 따라 CAM 운영에 필요한 권한을 포함한 새로운 정책을 생성하세요.
ID
Action
Reason
[Platform] Permission Management
List, Read, Create, Delete, Update Permission
Create/Delete Policy, Assign Policy to Role
[Platform] Resource Management
List, Read
View List, SCP 상세보기
[Platform] Tag Management
List, Read
View Tag List/Information 등
[Platform] Project Management
List, Read
Assigned Project List/Information
표. CAM 접속을 위한 정책 생성 항목
또는 JSON 모드에 정책 요구사항을 추가할 수도 있습니다.
권한 그룹과 역할을 나중에 연결할 수 있으므로, 아무것도 확인하지 않고 정책 생성을 완료하세요.
권한 그룹을 통한 CAM 계정 승인
정책이 생성되면 권한 그룹을 사용하여 CAM 시스템 계정에 연결하세요.
단계별:
IAM > 권한 그룹으로 이동합니다.
새로운 권한 그룹(예: CAM-Access-Group)을 생성합니다.
‘CAM_Linked_Group’이라는 이름으로 권한 그룹을 생성합니다.
위에서 생성한 CAM 정책을 이 그룹에 연결합니다.
사용자를 프로젝트에 추가할 때 사용자를 권한 그룹에 연결하므로, 지금은 사용자를 확인하지 않고 권한 그룹 생성을 완료할 수 있습니다.
CAM 서비스 계정의 권한 그룹 할당
SCP 콘솔의 프로젝트 멤버 섹션으로 이동합니다.
대상 프로젝트의 멤버로 필요한 계정을 추가합니다.
이 계정은 CAM을 대표하며 통합에 사용됩니다.
추가를 위해 대상 프로젝트를 선택 > 신원 및 접근 관리 > 사용자 추가 > 프로젝트 멤버 추가 > 대상 프로젝트에 SCP 사용자 추가를 진행합니다.
목록에서 사용 가능한 사용자를 추가합니다. 또는 검색 기능을 사용하여 사용자를 검색할 수도 있습니다.
프로젝트 멤버로 추가할 사용자 검색합니다.
위에서 생성한 ‘CAM_Linked_Group’이라는 권한 그룹을 선택하고 프로젝트 멤버 추가 작업을 완료합니다.
프로젝트 멤버 추가를 완료하기 위해 권한 그룹을 연결하세요.
위 단계를 완료한 후 CAM의 프로젝트 보기 화면으로 돌아가 SCP 계정을 추가하세요.
2단계. CAM 콘솔에서 계정 추가하기
CAM에서 View Project > Manage Accounts로 이동합니다.
Add Account 버튼을 클릭합니다.
열리는 팝업 창에 다음 정보를 입력하세요:
CSP 및 환경 선택
CSP: SCP for Enterprises 또는 SCP for Samsung 중 선택합니다.
환경: 이 계정이 속할 환경을 선택합니다(예: DEV, STG, PRD 또는 ETC).
계정 정보 입력
계정 이름:
CAM 내에서 이 계정을 식별할 이름을 입력합니다.
최대 50자까지 입력 가능합니다.
영어 알파벳과 숫자만 허용됩니다.
프로젝트 ID (SCP 콘솔에서):
이전에 준비한 SCP 프로젝트의 프로젝트 ID를 입력합니다.
허용되는 문자: 영어 알파벳, 숫자, 하이픈만 가능
최대: 30자
프로젝트 ID를 입력한 후 확인 버튼을 클릭합니다. CAM은 다음을 확인합니다:
해당 프로젝트가 SCP에 존재하는지.
필요한 역할(cam-Administrator, cam-Operator, cam-Developer)이 있는지.
해당 프로젝트가 다른 CAM 프로젝트에 이미 등록되어 있거나 승인을 기다리는 상태가 아닌지.
위 조건 중 하나라도 충족되지 않으면 유효성 검사 메시지가 표시됩니다.
3단계. 승인 생성하기
프로젝트 ID가 확인되고 다른 정보가 완료되면 Create Approval 버튼이 활성화됩니다.
이 버튼을 클릭하여 계정 추가 요청을 승인 요청으로 보냅니다. CAM 설정에 따라 수동으로 승인자를 선택하거나 시스템이 기본 승인자에게 자동으로 라우팅하도록 할 수 있습니다.
승인이 완료되면 SCP 계정이 CAM의 프로젝트 계정 목록에 표시됩니다.
Azure 계정 추가
CAM에 Azure 계정을 추가하기 전에 Microsoft Entra ID 및 Azure Portal에서 다음 설정 단계를 완료해야 합니다. 이 단계는 테넌트 관리자가 수행해야 합니다.
1단계. 사전 설정(CAM 계정을 위한 일회성 신뢰 구성 및 도메인 구성)
이 단계는 CAM이 대상 Azure 테넌트 내에서 신뢰할 수 있고 필요한 액세스 권한을 갖도록 보장합니다. 이 단계는 CAM에 Azure 계정을 추가하기 전에 테넌트 관리자가 완료해야 합니다.
이러한 사전 설정은 두 섹션으로 나뉩니다:
신뢰 구성
도메인 구성
CAM 계정을 위한 신뢰 구성
이 단계는 CAM이 대상 Azure 테넌트 내에서 신뢰할 수 있고 필요한 접속 권한을 갖도록 보장합니다. 이는 대상 Azure 테넌트의 테넌트 관리자가 수행해야 합니다. 목적은 CAM이 Microsoft Entra ID 내의 자원에 접속할 수 있는 필요한 권한을 부여하는 것입니다.
CAM이 Azure와 연동될 수 있도록 테넌트 관리자는 CAM Admin Consent URL을 열어야 합니다. 이 URL은 Microsoft Entra Admin Center의 동의 대화 상자를 트리거하며, 관리자는 여기서 CAM에 대한 요청된 권한을 승인할 수 있습니다.
테넌트 ID를 가져오세요.
CAM Admin Consent URL에는 특정 테넌트와 연결된 App Client ID가 포함되어 있습니다. 이를 사용하기 전에 대상 Azure 테넌트의 테넌트 ID를 확인해야 합니다.
URL에서 {Your_Tenant_ID} 자리 표시자를 이전에 복사한 실제 테넌트 ID로 바꿉니다.
프롬프트가 표시되면 대상 테넌트의 Global Administrator 계정을 선택하세요.
이 계정은 테넌트에서 가장 높은 관리자 권한을 가지고 있어야 합니다.
표시된 동의 계약서를 검토하세요. 이 계약서는 CAM이 부여받을 정확한 권한을 명시합니다.
동의하신다면 연동을 승인하기 위해 “Accept"를 클릭하세요.
이 단계를 완료함으로써 CAM은 Microsoft Entra ID의 테넌트 수준 리소스에 접근할 수 있게 됩니다.
No Subscription Access Yet: 이 단계에서는 CAM이 Azure 구독에 대한 접근 권한을 부여받지 않습니다. 구독 수준의 접근 권한은 이후 단계(관리 그룹 역할 생성 및 구독 역할 할당)에서 별도로 구성됩니다.
동의 부여 후 CAM 애플리케이션 등록을 확인하세요.
Azure Portal에서 Microsoft Entra ID → 엔터프라이즈 애플리케이션으로 이동하세요.
CAM 애플리케이션을 검색하세요.
CAM 앱이 목록에 표시되고 올바르게 등록되었는지 확인하세요.
참고
관리자 동의를 부여할 때 CAM에 테넌트 수준의 인정을 제공하는 것입니다.
CAM 계정 도메인 설정
Azure에서는 사용자가 이메일을 통해 인증하고 CAM의 Keycloak 인증과 통합할 수 있도록 도메인 연결이 필요합니다. 도메인 설정 과정은 다음과 같은 두 가지 주요 단계로 구성됩니다:
과정
수행자
빈도
도메인 생성
테넌트 어드민 또는 PM/PL
테넌트 당 한번(필요에 따라 새 도메인에 대해 반복될 수 있음)
Azure 테넌트에 도메인 등록
테넌트 어드민
테넌트 당 한번(추가 도메인이 나중에 추가되지 않는 한)
표. CAM 계정 도메인 설정 단계
도메인 생성
TXT 레코드를 생성할 수 있는 DNS 서비스(예: AWS Route 53, SCP DNS)를 사용하여 공개 도메인을 생성할 수 있습니다. 이 가이드에서는 예시로 SCP DNS를 사용합니다.
도메인 생성 전 작업
SCP DNS에 로그인합니다.
SCP 콘솔에 접속한 후 DNS 메뉴로 이동합니다.
퍼블릭 도메인 구매를 시작합니다.
제품 요청 버튼을 클릭합니다.
이 작업은 구매 양식을 엽니다.
도메인 구매 양식의 세부 정보를 작성합니다.
사용 유형: ‘퍼블릭’을 선택합니다.
도메인 이름: 원하는 퍼블릭 도메인 이름을 입력합니다.
등록자 정보: 이름, 이메일, 주소, 전화번호를 입력합니다.
설명 및 지정 필드
결제 정보는 구매 확인 전에 표시됩니다.
구매 확인
최종 결제 금액을 확인합니다.
다음을 클릭하여 확인합니다.
DNS 상태 확인
생성 후, 도메인은 SCP DNS 목록에 표시됩니다.
상태가 “활성"으로 표시될 때까지 기다립니다. 이는 이제 퍼블릭하게 사용 가능함을 나타냅니다.
이제 활성화된 퍼블릭 도메인이 있으며, 이를 Azure 테넌트에 연결하여 사용자 인증을 할 수 있습니다.
Azure 테넌트에 도메인 등록
이제 공개 도메인이 있으므로, 인증을 위해 이를 Microsoft Entra ID에 연결해야 합니다.
도메인 설정 전 작업 (Azure 테넌트)
Azure Portal에 테넌트 관리자 계정으로 로그인합니다.
Microsoft Entra ID → 사용자 지정 도메인 이름으로 이동합니다.
+Add Custom Domain을 클릭하세요.
퍼블릭 도메인 이름을 입력하세요(SCP에성 생성한).
Add Domain을 클릭하세요.
도메인에 대한 TXT 레코드를 생성합니다 (Azure → SCP DNS).
Azure에서 도메인을 추가한 후:
Azure에서는 도메인 소유권 확인을 위해 DNS 설정에 추가해야 하는 TXT 레코드 값을 표시합니다.
Azure에서 TXT 레코드 값을 복사합니다.
SCP/Domain Host에 TXT 레코드 추가
SCP DNS에 접속한 후, 활성 퍼블릭 도메인을 선택합니다.
Add Record를 클릭하세요.
Record Type: TXT를 선택합니다.
Value: Azure에서 복사한 TXT 레코드 값을 붙여넣습니다.
TTL(Time to Live): 선호에 따라 선택합니다.
Confirm을 클릭하세요.
도메인의 DNS 목록에 레코드가 나타나는지 확인합니다.
Azure에서 도메인 검증
Azure Portal로 돌아가서 Microsoft Entra ID를 선택한 후, Custom Domain Names를 선택합니다.
처음에는 도메인 상태가 “Unverified"로 표시됩니다.
도메인을 클릭한 후 “Verify” 버튼을 클릭합니다.
Azure가 TXT 레코드를 감지하면(확산에 몇 분 소요될 수 있음), 상태가 “Verified"로 변경됩니다.
이제 퍼블릭 도메인이 Azure 테넌트와 공식적으로 연결되었습니다.
2단계. CAM 콘솔에서 계정 추가하기
CAM에서 View Project > Manage Accounts로 이동합니다.
Add Account 버튼을 클릭합니다.
열리는 팝업 창에 다음 정보를 입력하세요:
CSP 및 환경 선택
CSP: Azure를 선택합니다.
환경: 이 계정이 속할 환경을 선택합니다(예: DEV, STG, PRD 또는 ETC).
계정 정보 입력
계정 이름:
CAM 내에서 이 계정을 식별할 이름을 입력합니다.
최대 50자까지 입력 가능합니다.
영어 알파벳과 숫자만 허용됩니다.
테넌트 ID (Azure 콘솔에서):
테넌트 ID를 입력합니다.
허용되는 문자: 영어 알파벳, 숫자, 하이픈만 가능
최대 36자까지 입력할 수 있습니다.
Verify를 클릭하면 CAM은 다음을 확인합니다:
구독 ID 형식이 올바른지 확인합니다.
Azure에 대해 검증하여 실제 존재하는지 확인합니다.
테넌트 ID가 검증된 후에만 구독 ID 필드가 활성화됩니다.
구독 ID (Azure 콘솔에서):
구독 ID를 입력하세요.
영어 알파벳, 숫자 및 하이픈만 허용됩니다.
최대 36자까지 입력할 수 있습니다.
Verify를 클릭하면 CAM이 다음을 확인합니다.
구독 ID 형식이 올바른지 확인합니다.
구독 ID가 다른 CAM 프로젝트에 이미 연결되어 있는지 확인합니다.
구독 ID가 이미 등록되어 있거나 승인 요청이 대기 중인지 확인합니다.
구독 ID가 검증된 후에만 페더레이션 도메인 필드가 활성화됩니다.
페더레이션 도메인 (Azure 콘솔에서):
페더레이션 도메인을 입력하세요.
영어 알파벳, 숫자, 하이픈 및 마침표만 허용됩니다.
최대 48자까지 입력할 수 있습니다.
Verify를 클릭하면 CAM이 다음을 확인합니다.
페더레이션 도메인 형식이 올바른지 확인합니다.
Azure 도메인 구성에 등록된 기존 검증된 도메인과 일치하는지 확인합니다.
3단계. 승인 생성하기
모든 필드가 검증되고 세부 정보가 완료되면 Create Approval 버튼이 활성화됩니다.
이 버튼을 클릭하여 계정 추가 승인 요청을 제출합니다. CAM 설정에 따라 승인자를 수동으로 선택하거나 시스템이 기본 승인자에게 자동으로 라우팅하도록 할 수 있습니다.
승인이 완료되면 Azure 계정이 CAM의 프로젝트 계정 테이블에 표시됩니다.
계정 삭제
View Account 섹션의 Delete 버튼을 클릭하여 더 이상 사용하지 않는 계정을 삭제하여 관리합니다.
사용자 관리
PM 및 PL 그룹 사용자는 프로젝트에 사용자를 추가하거나 제거할 수 있습니다. 프로젝트에 등록된 사용자에 한하여 해당 프로젝트 내에서 콘솔 및 자원 접속을 부여하고 관리할 수 있으므로 콘솔, 자원 접속이 필요한 사용자는 프로젝트 내 사용자로 등록이 필요합니다.
사용자 추가
사용자 목록 위의 Add 버튼을 클릭하여 프로젝트에 사용자를 추가합니다.
이름: CAM에 가입된 사용자 이름으로 검색합니다.
그룹: 사용자의 그룹을 선택합니다.
PL : 프로젝트 관련 정보를 관리할 수 있고, 프로젝트 관리자와 동일한 권한을 가집니다.
Operator, Developer: 프로젝트와 관련된 정보를 조회하고 자원에 대한 권한을 요청할 수 있는 사용자로 프로젝트 내 역할 관리를 위해 분류되지만 CAM 포털에서는 동일한 권한을 가지는 사용자입니다.
사용자 삭제
사용자 목록에서 삭제할 사용자를 선택하고 Delete 버튼을 클릭합니다.
사용자 삭제 후 삭제된 사용자는 더 이상 프로젝트 관련 정보를 볼 수 없습니다.
공지사항
공지사항 섹션은 테넌트 관리자가 테넌트 내 사용자를 위한 공지를 생성하고 관리할 수 있도록 합니다. 이 공지는 GNB 공지 패널에 표시됩니다. 여러 공지가 동시에 활성화될 수 있습니다. 각 공지에는 제목, 상세 설명, 선택적 첨부 파일 및 지정된 표시 기간이 포함될 수 있습니다.
공지사항 생성
공지사항을 생성하려면 목록 페이지에서 Create 버튼을 클릭하세요. Create Notice 페이지에서 다음 세부 정보를 입력하세요:
Title: 공지의 제목을 입력하세요.
Description: 표시할 내용 또는 메시지를 제공하세요.
Attachment(Optional): 지원 파일을 업로드하세요(최대 5개 파일, 총 크기는 50MB까지). 빈 파일은 업로드할 수 없으며, 지원되는 파일 형식은 이미지, 문서, .mp4 및 .zip입니다.
Display: GNB에서 공지사항을 표시하려면 토글을 ON으로 전환하세요. 토글을 ON으로 전환한 후, 공지사항이 사용자에게 표시될 기간 또는 날짜 범위를 선택할 수 있습니다.
공지를 생성하려면 *Save를 선택하세요. 새로 생성된 공지사항은 공지사항 목록에 표시됩니다.
공지사항 상세
목록에서 공지사항 제목을 선택하여 공지사항 상세 정보 페이지로 이동하세요. 모든 공지사항 정보(제목, 설명, 첨부 파일, 표시 기간, 작성자 및 작성일)가 읽기 전용 모드로 표시됩니다.
이 보기에서:
Edit을 사용하여 공지사항을 수정하세요.
Delete을 사용하여 공지사항을 영구적으로 삭제하세요.
공지사항 수정
공지사항 목록에서 공지사항을 선택하여 상세 보기 페이지로 이동하세요.
Edit을 선택하세요.
필요한 필드(제목, 설명, 첨부 파일, 표시 설정 또는 날짜 범위)를 수정하세요.
공지사항을 업데이트하려면 Save를 선택하세요.
참고
공지사항에 대한 변경 사항은 즉시 적용됩니다.
공지사항 삭제
공지사항 상세 정보 페이지에서 Delete을 선택하세요.
삭제를 확인하라는 메시지가 표시되면 확인하세요.
선택한 공지사항은 목록에서 제거되며 GNB 공지사항에 더 이상 표시되지 않습니다.
결재 경로
테넌트 관리자는 사용자가 결재를 작성할 때 지정해야 하는 결재 경로를 미리 정의할 수 있습니다.
결재 경로 생성
결재 경로를 생성하려면 Create 버튼을 클릭하여 결재 케이스, 조직을 지정하여 생성할 수 있습니다.
이름: 사용자에게 노출되지 않는 관리 목적의 결재 경로 이름을 입력합니다.
타겟 : 언제, 어느 조직에 적용할지 선택합니다.
결재자 안내: 시스템에 자동 지정할 수 없지만 결재 경로에 포함되어야 하는 담당자 정보를 입력합니다. 입력할 경우 아래와 같이 사용자 화면에 노출됩니다.
결재자: 시스템에 의해 자동으로 지정해서 노출할 결재자를 이름을 검색하여 추가합니다.
결재 경로 보기
결재 경로에 대한 자세한 정보를 확인하려면 결재 경로 메뉴로 이동한 후 원하는 결재 경로를 클릭합니다. 모든 결재 경로에 대한 정보를 확인할 수 있고, 수정 또는 삭제도 가능합니다.
결재 경로 수정
결재 경로 보기 화면에서 Edit 버튼을 클릭하여 정보를 수정할 수 있습니다.
결재 경로 삭제
Delete 버튼을 클릭하여 더 이상 사용하지 않는 결재 경로를 삭제합니다.
조직
조직 메뉴에서는 테넌트 관리자가 수동으로 테넌트의 조직을 관리할 수 있습니다.
테넌트 관리자가 조직을 생성하면 프로젝트 및 결재 경로를 조직 단위로 관리할 수 있습니다.
조직 추가
조직을 추가하려면 Add 버튼을 클릭하고 조직 추가 팝업이 나타나면 다음 세부 정보를 입력합니다.
부모(상위 조직): 상위 조직의 이름을 선택합니다. 기본값은 테넌트명입니다.
이름: 만들 조직의 이름을 입력합니다.
표시: 사용자에게 노출되는 조직 목록에 나타나게 하려면 토글을 ON으로 설정합니다.
조직 보기
View Organization 페이지에서는 만들어진 모든 조직의 목록을 볼 수 있습니다. 확인할 조직명을 클릭하면 오른쪽에 자세한 조직 정보가 나타납니다.
조직 목록 전체를 펼쳐보기 할 수 있습니다. 조직을 펼치면 최하위 목록까지 한번에 확인할 수 있고, 조직 목록을 접기 하면 최상위 목록만 확인할 수 있습니다.
조직 수정
조직을 생성할 때 입력한 데이터가 나타나며 모든 데이터를 수정할 수 있습니다. 수정한 후 Save 버튼을 클릭합니다.
조직 삭제
View Organization 화면의 Delete 버튼을 클릭하여 더 이상 사용하지 않는 Organization을 삭제합니다.
참고
상위 조직 및 등록된 프로젝트가 있는 조직은 삭제할 수 없습니다.
테넌트 관리자
테넌트 관리자 메뉴에서는 테넌트를 관리하는 관리자를 추가 지정하거나 삭제할 수 있습니다. 최초 시스템 오픈 시에는 서비스 신청서에 기입된 사용자가 테넌트 관리자로 지정되며, 이후에는 테넌트 관리자 권한이 있는 사용자가 직접 추가, 삭제하며 관리할 수 있습니다.
테넌트 관리자는 전용 메뉴(Approval Line, Organization 등)를 통해 테넌트 기준 정보를 관리할 수 있으며, 테넌트 내 모든 콘텐츠를 조회할 수 있습니다.
테넌트 관리자 추가
테넌트 관리자를 추가하려면 Add 버튼을 클릭하고, 테넌트 관리자 추가 팝업이 나타나면 테넌트에 등록된 사용자 중 검색하여 등록합니다.
테넌트 관리자 삭제
테넌트 관리자 목록에서 삭제할 사용자를 선택한 후에 Delete 버튼을 클릭하여 삭제합니다.
4.7 - FAQ
공통
CAM 사이트에 접속이 안됩니다.
사전에 방화벽 처리를 해야 하나요?
로그인이 안됩니다.
CAM 사이트에 접속이 안됩니다.
CAM 사이트는 테넌트별 허용된 사내 네트워크망에서만 접속이 가능합니다.
접속하시는 곳의 네트워크가 접속 가능한 환경인지 확인해보시기 바랍니다.
시작하기 > 네트워크 환경을 참고하세요.
사전에 방화벽 처리를 해야 하나요?
CAM 사이트를 통해 자원에 접속하기 위해서는’ CAM → 접속하려는 자원(Jumphost)‘으로 방화벽 등록이 선행되어야 합니다.
방화벽 등록에 필요한 내용은 테넌트 관리자에게 문의하시기 바랍니다.
로그인이 안됩니다.
회원가입 및 로그인은 SingleID 체계를 따르므로, SingleID의 로그인 절차를 거치거나 회사의 SSO 절차(예: Knox SSO)를 통해 MFA(예: SMS, Email 등)를 완료한 후 CAM 포털에 접속할 수 있습니다.
처음 접속 시 MFA 수단(SMS, Email 등)을 선택하면, 예를 들어 Knox SSO로 연계되어 있는 경우, Knox 개인정보에 저장된 휴대전화 또는 이메일로 OTP가 발송되어 해당 OTP를 입력하여 로그인 할 수 있습니다. 접속하는 방식으로 휴대전화 번호가 변경된 경우에는 Knox 개인정보 배치가 완료되어 SingleID에 반영되기까지 시간이 소요되어 일시적으로 OTP를 전달받지 못할 수 있습니다.
프로젝트
Cloud Account 등록을 위해 사전에 준비해야 할 게 있나요?
Account 등록이 안됩니다.
Account를 등록했는데 정보가 안보입니다.
Cloud Account 등록을 위해 사전에 준비해야 할 게 있나요?
CAM에 account를 등록하기 위해서는 CSP IAM에서 신규 role을 생성하여, CAM 서비스용 account에 assume role 하는 과정이 필요합니다.
CAM에서 필요로 하는 정책을 추가하여 신규 role을 생성하고, CAM 서비스용 account를 신뢰할 수 있는 항목(Trusted Entity)으로 추가하여야 합니다.
CSP IAM에서 신규 role을 등록하기 위한 자세한 가이드는 Configuration 매뉴얼의 계정 추가를 참고하시기 바랍니다.
Account 등록이 안됩니다.
Account 등록 시에는 account ID와 role name의 정합성을 체크합니다.
Account ID에는 CSP의 account ID 정보를 입력하시고, role name에는 account 등록을 위해 사전에 가이드에 따라 CSP IAM에서 생성한 role name 정보를 입력하시기 바랍니다.
또한 role 생성 시 가이드에 따라 제대로 생성되었는지 체크해 보시기 바랍니다.
Account를 등록했는데 정보가 안보입니다.
프로젝트 화면의 account 리스트에 account 정보가 노출되려면 해당 account 등록을 위한 결재까지 완료되어야 합니다.
결재 시스템이 Knox 결재 시스템을 사용한다면, Knox 결재에서 결재 상태를 확인하시기 바랍니다.
콘솔 접속
CSP 콘솔 로그인 화면에 오류 메시지가 뜹니다.
CSP 콘솔 로그인 화면에 접속이 안됩니다.
Role, Policy를 생성했는데 CSP 콘솔 로그인 화면에서 해당 Role이 보이지 않습니다.
‘Unable to complete due to a CSP error response.’ 에러 메시지가 보이고 role 매핑이 안됩니다.
CSP 콘솔 로그인 화면에 오류 메시지가 뜹니다.
CAM 사이트는 콘솔 role 기반으로 CSP 로그인을 제공하는데, 이때 사용자가 로그인할 수 있는 role이 없을 경우 CSP에서 잘못된 요청으로 인지하여 오류 메시지를 띄웁니다.
“Your request included an invalid SAML response.” 메시지가 뜬다면 PM 또는 PL에게 CSP role을 요청하시기 바랍니다.
PM 또는 PL이 role 에 사용자를 등록 후 결재가 완료되면 CSP 콘솔 화면에서 해당 role을 선택하여 로그인하실 수 있습니다.
CSP 콘솔 로그인 화면에 접속이 안됩니다.
CAM 사이트는 접속 환경에 따라 일부 서비스 이용에 제약이 있습니다.
CAM 사이트 접속은 사내 네트워크 환경에서 가능하지만, 자원 접속은 테넌트별 특정 IP 대역에만 허용될 수 있습니다. 접속하고 계신 환경을 확인해 보시고 테넌트 관리자에게 문의하시기 바랍니다.
Role, Policy를 생성했는데 CSP 콘솔 로그인 화면에서 해당 Role이 보이지 않습니다.
Role과 policy가 CSP 콘솔에 실제로 생성되어 적용되기까지 수 분 정도의 시간이 소요될 수 있습니다.
또는 role에 user 등록 및 결재까지 완료되어야 등록한 User의 CSP 콘솔 로그인 화면에서 role을 선택할 수 있으므로 User 등록 및 결재 상태를 확인해 보시기 바랍니다.
CSP에서 지원 가능한 JSON 템플릿이 아닌 경우에 나타나는 CSP 오류 현상입니다.
입력한 JSON 을 확인하여 유효한 형태로 작성하시기 바랍니다.
‘Unable to complete due to a CSP error response.’ 에러 메시지가 보이고 role 매핑이 안됩니다.
Role에 매핑되어 있거나 매핑하려는 policy의 JSON이 올바르지 않은 경우에 나타나는 CSP 오류 현상입니다.
해당 policy를 삭제한 후 CSP 에서 지원 가능한 JSON 형태로 신규 policy를 생성하시기 바랍니다.
자원 접속
자원 접속을 위해 사전에 준비해야 할 게 있나요?
‘Access to PRD server resources is restricted to ‘VDI for server connect’ environments where the Internet is blocked.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
‘Resource connect is restricted due to unauthorized IP.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
‘Unable to connect to the resource since the local port you entered is already in use.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
Enroll resource 시 지원되는 OS, DB 밴더와 버전 정보는 어떻게 되나요?
‘The address information you provided is not valid.’ 에러 메시지가 보이고 자원 등록이 안됩니다.
‘Invalid authentication credentials. Please check your credentials, then try again.’ 에러 메시지가 보이고 자원 등록이 안됩니다.
‘Unable to connect to the resource because the PC agent is not connected.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
‘Unable to connect to the resource. Please try again after checking the resource status.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
자원 접속을 위해 사전에 준비해야 할 게 있나요?
CAM 사이트에서 자원에 접속하기 위해서는 계정별, 자원 타입별로 접속 권한을 신청하여 결재를 받아야 합니다.
권한 요청 메뉴에서 사용자가 직접 신청하여 결재를 진행하시기 바랍니다.
결재가 완료된 후에는 접속하려는 PC에 클라이언트 에이전트를 설치하고, 접속 환경의 IP를 등록하는 과정이 필요합니다.
PC 설정 메뉴에서 ‘Download Client Agent’ 버튼을 클릭하여 설치하고, IP는 최대 5개까지 등록할 수 있습니다.
Resource Access > PC 설정을 참고하세요.
‘Access to PRD server resources is restricted to ‘VDI for server connect’ environments where the Internet is blocked.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
일반 사내 네트워크 환경에서는 PRD 자원 접속이 제한됩니다. PRD 자원은 인터넷이 차단된 테넌트별 특정 IP 대역에서만 접속할 수 있습니다. 테넌트별 제한된 환경에 대해서는 테넌트 관리자에게 문의하여 가이드 받으시기 바랍니다.
‘Resource connect is restricted due to unauthorized IP.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
현재 접속하는 IP가 CAM 사이트에 등록되지 않아 자원 접속이 제한되어 발생하는 에러입니다.
CAM 사이트에서 자원에 접속하기 위해서는 접속 환경의 IP를 등록하는 과정이 선행되어야 합니다.
PC 설정 메뉴에서 접속하려는 환경의 IP를 미리 등록하시고 이용하시기 바랍니다.
Resource Access > IP 등록을 참고하세요.
‘Unable to connect to the resource since the local port you entered is already in use.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
접속 정보에 입력하신 local port 가 이미 사용자의 PC에서 다른 용도로 사용중인 경우에 나타나는 메시지입니다.
1024 ~ 65,535 사이 미사용 중인 포트를 입력하고 다시 시도해 보시기 바랍니다.
Enroll resource 시 지원되는 OS, DB 밴더와 버전 정보는 어떻게 되나요?
현재 OS는 Ubuntu와 Amazon Linux, DB는 PostgreSQL, MySQL, Aurora PostgreSQL 및 Aurora MySQL의 일부 버전에 대해서 지원하고 있으며, 앞으로 점차 확대해나갈 예정입니다.
각 OS/DB의 자세한 버전 정보는 사용자 매뉴얼을 참고하시기 바랍니다.
시작하기 > 서비스 범위를 참고하세요.
‘The address information you provided is not valid.’ 에러 메시지가 보이고 자원 등록이 안됩니다.
등록하려는 자원의 address 정보가 올바르지 않은 경우에 나타나는 메시지입니다.
address의 IP와 port 정보를 확인하신 후 다시 시도해 보시기 바랍니다.
‘Invalid authentication credentials. Please check your credentials, then try again.’ 에러 메시지가 보이고 자원 등록이 안됩니다.
등록하려는 자원의 root user 정보가 올바르지 않은 경우에 나타나는 메시지입니다.
root 계정의 ID, Password 정보를 확인하신 후 다시 시도해 보시기 바랍니다.
‘Unable to connect to the resource because the PC agent is not connected.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
PC가 실행될 때 Client Agent가 자동으로 실행하지 못한 경우입니다. PC 재부팅을 통해 Client Agent가 자동으로 실행되도록 하는 것을 추천합니다. 또는 Client Agent를 재설치하여 실행하시기 바랍니다.
‘Unable to connect to the resource. Please try again after checking the resource status.’ 에러 메시지가 보이고 자원 접속이 안됩니다.
접속하려는 자원이 접속할 수 없는 상태인 경우입니다. 자원이 네트워크를 통해 접속할 수 있는 상태인지 확인 및 조치하신 후에 다시 시도해 보시기 바랍니다.
5 - SingleID Authenticatior Manual 개요
SingleID Authenticator는 웹사이트의 사용자의 본인확인 및 복합 인증을 모바일폰을 이용하여 간편하고 안전하게 인증할 수 있는 SingleID 전용 인증 도구입니다.
SingleID Authenticator 인증 방식
생체(지문, 안면)
TOTP(Time base One Time Password)
mOTP(mobile One Time Password)
PIN
안내
등록 가능한 인증 수단은 서비스가 지원하는 인증 수단 및 디바이스 지원범위에 따라 달라질 수 있습니다.
모바일 환경 지원
SingleID Authenticator는 아래와 같은 모바일 환경을 지원합니다.
지원
권장
Android : 8 and later versions
Web Browser: Samsung Internet Latest public version
Android : 8 and later versions
Models released in 2018 and beyond among Samsung Galaxy Mobile Products
Galaxy S9 ↑
Web Browser: Samsung Internet 9.0 ↑
iOS : 16 ,17
Web Browser: Safari , Latest public version
iOS : 16 ,17
iPhone Xs ↑, Models released in 2018 and beyond among Apple iPhone Products
Web Browser: Safari 14.1 ↑
표. 모바일 환경 지원
5.1 - 앱 설치하기
SingleID Authenticator 모바일 앱은 다양한 방식으로 다운로드 가능합니다.
QR을 스캔하여 다운로드
SingleID User Protal에서 인증 설정이나 인증 페이지 등에서 SingleID Authenticator 등록 절차 진행 시 QR를 스캔하여 간편하게 앱 스토어를 방문하여 다운로드 가능합니다.
참고
앱스토어에 접속을 못하는 중국에서 접속하는 사용자라면, 화면에서 QR 바로 아래 “중국 사용자이거나 App Store에 접근할 수 없는 경우, 여기를 클릭하세요” 를 클릭하여 SMS URL를 수신 받으시기 바랍니다.
모바일 앱 스토어에서 검색하여 다운로드
회사 내부 보안으로 인하여 카메라로 QR로 스캔할 수 없다면 안드로이드 및 iOS 운영체제의 앱 스토어를 통해 직접 검색하여 다운로드 가능합니다.
스마트폰에서 Play Store(Android) 또는 App Store를 실행하세요.
‘SingleID’를 입력하여 검색하세요.
‘SingleID Authenticator’를 확인 후 설치 버튼을 눌러 설치하세요.
스마트폰 브라우저로 접속하여 다운로드
모바일에서 추가 인증 페이지에 접속한 경우 아래의 절차를 따라 앱을 다운로드하여 설치하세요.
서비스 등록 안내 페이지에서 아래 버튼을 클릭하세요.
앱 다운로드를 클릭하여 설치 파일을 다운로드 후 설치하세요.
주의
iOS의 경우 설치 후 단말 설정 > 일반 > 기기관리 에서 SAMSUNG SDS를 신뢰함으로 설정 후 사용 가능합니다.
5.2 - 사용자 인증하기
PUSH를 받아 인증하기
서비스가 등록된 사용자는 추가 인증 화면에서 자동으로 사용자의 모바일 앱에 PUSH를 발송합니다.
PUSH를 받아 인증하는 방법은 아래의 절차를 따르세요.
앱에 나타난 OTP와 웹 화면의 OTP가 일치하는지 확인하세요. 일치하는 경우 앱에서 확인을 선택하세요.
인증에 성공하면 브라우저로 돌아가 인증을 완료하세요.
주의
OTP를 지원하지 않는 이전 버전의 앱을 이용 중일 경우 앱을 업데이트 후 OTP 인증을 이용할 수 있습니다. 인증 화면의 가이드에 따라 앱을 업데이트하고 OTP를 등록 후 이용하세요.
5.3 - 인증 수단 관리하기
SingleID Authenticator를 이용하기 위해서는 PIN을 설정해야 하며, 서비스가 지원하는 다른 인증 수단을 추가할 수 있습니다.
PIN 변경하기
SingleID Authenticator에 서비스를 최초 등록 시 필수 인증 수단으로써 PIN을 등록하게 됩니다. PIN을 변경하시려면 아래의 절차를 따르세요.
메인 화면 > 인증 수단으로 이동하세요.
PIN 항목의 변경을 클릭하세요. 본인 확인 절차를 거치고 원하는 번호로 변경하세요.
참고
등록 가능한 인증 수단은 서비스가 지원하는 인증 수단 및 디바이스에 따라 달라질 수 있습니다.
인증 수단 해지하기
등록한 인증 수단을 더 이상 사용하지 않거나 재 등록이 필요한 경우 인증 수단을 해지할 수 있습니다. 인증수단을 해지하려면 아래의 절차를 따르세요.
설정 > 인증 수단 관리로 이동하세요.
메뉴 접근 시 PIN으로 본인 인증이 필요합니다.
해지하고자 하는 인증 수단의 오른쪽 아이콘을 선택하세요.
아래와 같이 삭제 확인 팝업이 나타납니다.
인증 수단이 등록 해지 되면 우측 아이콘이 Off 상태로 변경됩니다.
참고
서비스 등록 후 최초 PIN은 기본 설정으로 해지할 수 없습니다. SingleID Authenticator로 인증을 하지 않으려면 서비스를 삭제하세요.
5.4 - 서비스 목록 관리하기
등록한 서비스의 목록의 순서를 변경하거나 이용하지 않는 서비스를 삭제할 수 있습니다.
목록 순서 변경하기
서비스 목록의 순서를 변경하고자 하는 경우 아래의 절차를 따르세요.
홈에서 아이콘을 선택하여 서비스 목록 변경으로 이동하세요.
순서를 변경하고자 하는 서비스의 아이콘을 누른 상태로 원하는 위치로 끌어서 옮기세요.
원하는 순서로 변경 후 완료를 클릭하세요. 변경된 목록이 저장됩니다.
등록된 서비스 삭제하기
등록된 서비스를 삭제하는 방법은 1개 서비스를 삭제하는 방법과 다수의 서비스를 일괄 삭제하는 방법을 제공합니다.
서비스를 삭제하고자 하는 경우 목록에서 바로 삭제할 수 있습니다. 아래의 절차를 따르세요.
홈에서 삭제하고자 하는 서비스를 선택하여 왼쪽 방향으로 슬라이딩하세요.
휴지통 표시가 오른쪽에 나타나면, 휴지통 표시를 클릭하세요.
선택하신 서비스를 삭제하시겠습니까? 팝업창이 나오면 확인을 클릭하여 삭제하세요.
목록에 해당 서비스가 삭제된 것을 확인합니다.
FAQ
삼성 브라우저 사용 시 앱이 열리지 않습니다. 최신 버전 삼성 브라우저를 사용하는 사용자의 경우 스마트폰 설정에 따라 아래와 같이 브라우저에 앱 로고가 표시되며 앱이 자동으로 열리지 않습니다.
브라우저 주소창 옆의 앱 아이콘을 선택하면 앱을 열 수 있습니다. 앱을 자동으로 열리도록 설정하려면 아래 절차를 따르세요.
삼성 브라우저 > 인터넷 설정 > 유용한 기능으로 이동하세요.
링크를 다른 앱에서 열기 설정을 On 상태로 변경하세요.
브라우저로 돌아가 다시 앱을 실행시키면 정상적으로 앱이 동작합니다.
5.5 - Open Source Licence(Android)
SingleID 솔루션에서 사용하는 오픈소스 라이선스는 다음과 같습니다. 자세한 내용은 아래를 참고하세요.
SingleID_MobileApp_Client-APK
The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact <global.cs@samsung.com.>
JDOM License Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the disclaimer that follows these conditions in the documentation and/or other materials provided with the distribution. 3. The name “JDOM” must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact {request_AT_jdom_DOT_org}. 4. Products derived from this software may not be called “JDOM”, nor may “JDOM” appear in their name, without prior written permission from the JDOM Project Management {request_AT_jdom_DOT_org}.
In addition, we request (but do not require) that you include in the end-user documentation provided with the redistribution and/or in the software itself an acknowledgment equivalent to the following: “This product includes software developed by the JDOM Project (http://www.jdom.org/)." Alternatively, the acknowledgment may be graphical using the logos available at http://www.jdom.org/images/logos.
THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Checker Qual : Copyright 2004-present by the Checker Framework developers
Mocha: Copyright (c) 2011-2022 OpenJS Foundation and contributors, https://openjsf.org
Xamarin.Android.Support.ViewPager , Android - platform - hardware - intel - common - libva: Copyright (c) .NET Foundation Contributors
android-gif-drawable : Copyright (c) 2013 - present Karol Wrótniak, Droids on Roids LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF License Open Source Component License Text MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
SingleID_MobileApp_Client-APK
SingleID_MobileApp_Flutter-UMA
The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact global.cs@samsung.com
License
Open Source Component
License Text
Apache License 2.0
Android Support Library media compat, Converter: Gson, Adapter: RxJava 2, Android Support Library core utils, Android Arch-Runtime, Guava (Google Common Libraries), Android Support AnimatedVectorDrawable, Android Support Library core UI, Android Support Library Custom View - androidx.customview:customview, Android Lifecycle LiveData, OkHttp, Gson, android.support.annotation, Android Support Library Custom View - androidx.swiperefreshlayout:swiperefreshlayout, Android Support Library v4, OkHttp, Android Lifecycle ViewModel, Commons Lang, rxjava, Android Support Library compat, Roboto Fonts, Apache Commons Collections, Android Support Library v4, Android Lifecycle LiveData Core, RxAndroid, joda-time, okio, Apache Commons IO, JetBrains/java-annotations, Android AppCompat Library v7, Android Support Library Collections, Android Support VectorDrawable, Kotlin Stdlib, Android Lifecycle-Common, Android Support Library loader, Retrofit
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
“License” shall me an the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
“Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
“Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.
“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
“Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”
“Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
a. You must give any other recipients of the Work or Derivative Works a copy of this License; and b. You must cause any modified files to carry prominent notices stating that You changed the files; and c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN “AS-IS” BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an “owner”) of an original work of authorship and/or a database (each, a “Work”).
Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works (“Commons”) that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the “Affirmer”), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights (“Copyright and Related Rights”). Copyright and Related Rights include, but are not limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person’s image or likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work
i. in all territories worldwide,
ii. for the maximum duration provided by applicable law or treaty (including future time extensions),
iii. in any current or future medium and for any number of copies, and
iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “Waiver”).
Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer’s heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer’s express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer’s Copyright and Related Rights in the Work
i. in all territories worldwide,
ii. for the maximum duration provided by applicable law or treaty (including future time extensions),
iii. in any current or future medium and for any number of copies, and
iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “License”).
The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not i. exercise any of his or her remaining Copyright and Related Rights in the Work or ii. assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer’s express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person’s Copyright and Related Rights in the Work. Further,
Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Xamarin.Android.Support.ViewPager: Copyright (c) .NET Foundation Contributors All rights reserved.
secure-random: Copyright (C) 2011 by Anton Vodonosov (avodonosov@yandex.ru). All rights reserved.
Xamarin.Android.Support.CursorAdapter: Copyright (c) .NET Foundation Contributors All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
“Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
“Reserved Font Name” refers to any names specified as such after the copyright statement(s).
“Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
“Modified Version” refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
“Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
1. Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
2. Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
3. No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
SingleID_MobileApp_Flutter-UMA
5.6 - Open Source Licence(ISO)
SingleID 솔루션에서 사용하는 오픈소스 라이선스는 다음과 같습니다. 자세한 내용은 아래를 참고하세요.
SingleID_MobileApp_Client-IOS
The following sets forth attribution notices for third party software that may be contained in portions of
This product. If you have any questions, please contact global.cs@samsung.com.
License
Open Source Component
License Text
Apache License 2.0
Open Computer Vision Library (OpenCV): KA ProgressLabel:
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
“License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
“Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
“Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.
“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
“Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”
“Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
1. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
2. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: a. You must give any other recipients of the Work or Derivative Works a copy of this License; and b. You must cause any modified files to carry prominent notices stating that You changed the files; and c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, rademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc.
(“Apple”) in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software.
In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in this original Apple software (the “Apple Software”), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated.
The Apple Software is provided by Apple on an “AS IS” basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 1998-2013, Brian Gladman, Worcester, UK. All rights reserved. The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: source code distributions include the above copyright notice, this list of conditions and the following disclaimer; binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation.
This software is provided ‘as is’ with no explicit or implied warranties in respect of its operation, including, but not limited to, correctness and fitness for purpose.
TPPropertyAnimation: Copyright 2010 A TASTY PIXEL. All rights Reserved
sqlcipher: Copyright (c) 2008-2023, ZETETIC LLC All rights reserved.
ASM All: Copyright (c) 2000-2011 INRIA, France Telecom All rights reserved.
Protocol Buffers [BOM]: Copyright 2008 Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the OpenSSL License and the original SSLeay license apply to the toolkit. See below for the actual license texts. Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact openssl-core@openssl.org.
OpenSSL License —————
Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgment: “This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 4. The names “OpenSSL Toolkit” and “OpenSSL Project” must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org. 5. Products derived from this software may not be called “OpenSSL” nor may “OpenSSL” appear in their names without prior written permission of the OpenSSL Project. 6. Redistributions of any form whatsoever must retain the following acknowledgment:
“This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)"
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).
Original SSLeay License
Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved.
This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL.
This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com). Copyright remains Eric Young’s, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
“This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)” The word ‘cryptographic’ can be left out if the rouines from the library being used are not cryptographic related :-). 4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: “This product includes software written by Tim Hudson (tjh@cryptsoft.com)”
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]
This software is provided ‘as-is’, without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution.
SingleID_MobileApp_Client-APK
SingleID_MobileApp_Flutter-UMA
The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact global.cs@samsung.com
License
Open Source Component
License Text
Apache License 2.0
Android Support Library media compat, Converter: Gson, Adapter: RxJava 2, Android Support Library core utils, Android Arch-Runtime, Guava (Google Common Libraries), Android Support AnimatedVectorDrawable, Android Support Library core UI, Android Support Library Custom View - androidx.customview:customview, Android Lifecycle LiveData, OkHttp, Gson, android.support.annotation, Android Support Library Custom View - androidx.swiperefreshlayout:swiperefreshlayout, Android Support Library v4, OkHttp, Android Lifecycle ViewModel, Commons Lang, rxjava, Android Support Library compat, Roboto Fonts, Apache Commons Collections, Android Support Library v4, Android Lifecycle LiveData Core, RxAndroid, joda-time, okio, Apache Commons IO, JetBrains/java-annotations, Android AppCompat Library v7, Android Support Library Collections, Android Support VectorDrawable, Kotlin Stdlib, Android Lifecycle-Common, Android Support Library loader, Retrofit
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
“License” shall me an the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
“Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
“Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.
“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
“Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”
“Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
a. You must give any other recipients of the Work or Derivative Works a copy of this License; and b. You must cause any modified files to carry prominent notices stating that You changed the files; and c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN “AS-IS” BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an “owner”) of an original work of authorship and/or a database (each, a “Work”).
Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works (“Commons”) that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the “Affirmer”), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights (“Copyright and Related Rights”). Copyright and Related Rights include, but are not limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person’s image or likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work
i. in all territories worldwide,
ii. for the maximum duration provided by applicable law or treaty (including future time extensions),
iii. in any current or future medium and for any number of copies, and
iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “Waiver”).
Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer’s heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer’s express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer’s Copyright and Related Rights in the Work
i. in all territories worldwide,
ii. for the maximum duration provided by applicable law or treaty (including future time extensions),
iii. in any current or future medium and for any number of copies, and
iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “License”).
The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not i. exercise any of his or her remaining Copyright and Related Rights in the Work or ii. assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer’s express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person’s Copyright and Related Rights in the Work. Further,
Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Xamarin.Android.Support.ViewPager: Copyright (c) .NET Foundation Contributors All rights reserved.
secure-random: Copyright (C) 2011 by Anton Vodonosov (avodonosov@yandex.ru). All rights reserved.
Xamarin.Android.Support.CursorAdapter: Copyright (c) .NET Foundation Contributors All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
“Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
“Reserved Font Name” refers to any names specified as such after the copyright statement(s).
“Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
“Modified Version” refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
“Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
1. Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
2. Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
3. No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
SingleID_MobileApp_Flutter-UMA
6 - Open API guides
SingleID Open API Guides
Samsung Cloud Platform SingleID Open API를 사용하려면 먼저 해당 시스템이 Applications 로 등록이 되어 있어야 합니다.
등록된 시스템 정보로 JWT Token을 발급받아 Samsung Cloud Platform SingleID Open API 호출시 JWT Token 정보를 HTTP 헤더에 포함하여 전송해야 합니다.
API 호출 방법
HTTP 헤더에 토큰 (JWT Token) 값을 포함하여 호출
접근 Token 헤더명은 Authorization 으로 설정하고, 접근 Token 타입 값은 Bearer 으로 지정 - Bearer 문자열 다음에 JWT Token 값을 설정합니다.
MFA 인증 페이지로 Redirect 된다.
기본적으로는 response token을 post 방식으로 전달하나, get 방식(query)로 전달하려면 request token에 다음 파라미터를 추가해줍니다.
returnMethod: get
Sample
Request
Response
curl -X GET "https://stg2-cloud.singleid.samsung.net/test-tenant/common-api/open/v1.1/mfa/request?jwtTokenRequest=eyJhbGciOiJIUzI1NiJ9.eyJzeXMiOiJ0ZXN0LXN5c3RlbSIsInJlcSI6Ijc2MWVmZDUyLTk3ZDAtNDUxZi05Y2Y5LWNmODY3NDBlN2NhMyIsInVpZCI6Imppbm9uZS5raW0iLCJydG4iOiJodHRwczovL3Rlc3QuY29tL21mYS9yZXNwb25zZSIsIm5iZiI6MTY5ODIzMjA2OCwiZXhwIjoxNjk4MjM5MjY4LCJpYXQiOjE2OTgyMzIwNjh9.cDgKMHIINaHhBiyAd_OIlVvQwmUs0QaXH_RfJ8B_KdY"
페이지 이동
표. Sample
Error Code
Http Response Code
Error Code
Error Message
조치 방안
400
N/A
N/A
토큰 데이터를 확인합니다.
표. Error Code
API Specification - MFA Consumer Reques(Portal Common)
MFA Consumer Home으로 이동할지 여부를 결정합니다. true일 경우 MFA Consumer Home으로 이동합니다.
표. Request Parameters
Response
registerFlag = true 일 때 : MFA Consumer Home으로 Redirect 된다.
registerFlag = false 일 때 : MFA 인증 페이지로 Redirect 된다.
Sample
Request
Response
curl -X POST "https://stg2-cloud.singleid.samsung.net/test-tenant/common-api/open/v1.1/mfa/request?jwtTokenRequest=eyJhbGciOiJIUzI1NiJ9.eyJzeXMiOiJ0ZXN0LXN5c3RlbSIsInJlcSI6Ijc2MWVmZDUyLTk3ZDAtNDUxZi05Y2Y5LWNmODY3NDBlN2NhMyIsInVpZCI6Imppbm9uZS5raW0iLCJydG4iOiJodHRwczovL3Rlc3QuY29tL21mYS9yZXNwb25zZSIsIm5iZiI6MTY5ODIzMjA2OCwiZXhwIjoxNjk4MjM5MjY4LCJpYXQiOjE2OTgyMzIwNjh9.cDgKMHIINaHhBiyAd_OIlVvQwmUs0QaXH_RfJ8B_KdY®isterFlag=true"
페이지 이동
표. Sample
Error Code
Http Response Code
Error Code
Error Message
조치 방안
400
N/A
N/A
토큰 데이터를 확인합니다.
표. Error Code
API Specification - Send Email about Anomaly Detection(Tenant Admin Portal)
curl -X GET "https://stg1-cloud.singleid.samsung.net/test-tenant/common-api/open/v1.1/asis/test-tenant/user/mfa/token/authentication?userName=mkdir.kim&protocol=uma-uaf&sessionDataKey=sessionDataKey111&redirectUrl=redirectUrl1111&errorRedirectUrl=errorRedirectUrl1111¶ms=params111&language=ko"
Microsoft ADFS (ActiveDirectory Federation Service)는 AD계정을 기반으로 웹서비스에 대해 SAML/Oauth기반의 SSO(Single-Sign-On)을 지원하는 서비스입니다.
MS에서는 SSO 연계된 웹서비스에 대해, 3rd Party 솔루션을 활용한 MFA(복합인증)을 지원하는데,이를 위해 개발/설치되어야 하는 것이 ADFS Adapter입니다.
ADFS Adapter의 구현에는 크게 두가지 방식이 있습니다.
Server-to-Server Call 방식
WebClient 방식
이 중 WebClient방식의 경우, MFA서버 ↔ AD(FS) 間 방화벽 개통을 최소화하고, MFA Provider에서 제공하는 CX를 활용하기에 ADFS Adaptor 경량화가 가능한 장점이 있습니다.
참고
SingleID ADFS Adapter는 WebClient 방식으로 개발되었습니다.
주의
본 문서의 도식에서는 nonce 값을 LDAP에 저장 하는 설정을 가정하여 작성되었습니다.
nonce값은 MFA 결과에 대한 검증을 위해 사용되며, LDAP대신 MFA서버에 저장되도록 설정 변경이 가능합니다.
자세한 내용은 ADFS Adaptor 설정관련 매뉴얼을 참고부탁드립니다.
Server-to-Server Call 방식
그림. Server-to-Server Call 방식
WebClient 방식
그림. WebClient 방식
내부 동작
Adapter 내부 전체 흐름도
그림. Adapter 내부 전체 흐름도
Adapter 첫 실행시 흐름도
그림. Adapter 첫 실행시 흐름도
MFA 수행 후의 흐름도 (MFA PASS인 경우)
그림. MFA 수행 후의 흐름도 (MFA PASS인 경우)
MFA 수행 후의 흐름도 (MFA PASS 못한 경우)
그림. MFA 수행 후의 흐름도 (MFA PASS 못한 경우)
시나리오별 동작
그림. 시나리오별 동작
Case #1
Passcode 입력 화면에서 제한 시간을 넘겨서 Timeout 된 경우입니다.
Timeout이 되면 “코드 재전송” 버튼이 활성화되며, 이 버튼을 눌러서 Passcode 재시도 할 수 있습니다.
Case #2
틀린 Passcode를 입력한 경우입니다.
3번까지 Passcode 입력을 시도할 수 있습니다.
Case #3
Passcode 입력을 3번 틀린 경우입니다.
1분간 Passcode 입력을 할 수 없습니다.
Case #4
정상적인 MFA 프로세스입니다.
Case #5
MFA 선택 화면에서 Passcode 입력하지 않고 새로운 브라우저 탭을 추가하고, MFA 선택까지 진행한 경우입니다.
이 후에 최초의 탭에서 MFA를 성공합니다.
이 후에 새로운 탭에서 Timeout 된 경우입니다.
Case #6
MFA 선택 화면에서 Passcode 입력하지 않고 새로운 브라우저 탭을 추가하고, MFA 선택까지 진행한 경우입니다.
이 후에 최초의 탭에서 MFA를 성공합니다.
이 후에 새로운 탭에서 틀린 Passcode를 입력한 경우입니다.
Case #7
MFA 선택 화면에서 Passcode 입력하지 않고 새로운 브라우저 탭을 추가하고, MFA 선택까지 진행한 경우입니다.
이 후에 최초의 탭에서 MFA를 성공합니다.
이 후에 정상 Passcode를 입력한 경우입니다.+
1st tab, 2nd tab 모두 passcode 입력대기 상태에서 1st 인증 후에 2nd 인증시도하면 2nd에서 아무런 반응 없음 (페이지 멈춤)
1st tab passcode 입력대기, 2nd tab MFA 선택대기 상태에서 1st 인증 후에 2nd MFA 종류 선택하면 에러 발생, 어댑터 동작하기 전에 AD에서 에러 메시지 표시함
시나리오별 동작
Adapter 설치
적용 방법
사전 점검
사전 점검
위치
점검 항목
비고
ADFS서버
MFA서버 접속 가능 여부 (그룹망, TCP 80/443)
품질계: ops-sopenapi.iam.samsung.net(42.15.248.26)
운영계: sopenapi.iam.samsung.net(42.15.248.28)
nonce를 LDAP에 저장하도록 설정한 경우, MFA서버 통신 불필요
.NET Framework 4.8 설치 여부
사용자PC
MFA 서버 접속 가능 여부 (인터넷망, TCP 80/443)
품질계: ops-sopenapi.singleid.samsung.net
운영계: sopenapi.singleid.samsung.net
접속 불가 시 다음 3가지 점검 ① 방화벽 점검 ② 프록시 점검 ③ 웹사이트 차단 점검
표. 개인정보 입력항목
Adapter 배포
주의
ADFS서버가 여러 대로 구성되어 있는 경우, 아래 7단계 중 1 ~ 4단계는 모든 서버에 공통적으로 적용해야 합니다.
Adapter 관련 파일을 ADFS 서버에 업로드 시킴
위치 : [drvie]:\ADFSadapter\
ADFSadapter.dll : Adapter 파일
ADFSadatper.ini : 환경 설정 파일
replace_dll.ps1 : 이미 설치된 Adapter를 개선 버전으로 교체 시 사용하는 스크립트 파일
restart_adfs.ps1 : AD FS 서비스 재시작 스크립트 파일
Assembly_netstandard2.0 폴더 : Adapter 적용 전 사전 설치 dll 파일들
해당 폴더에 ADFS 서비스 계정의 전체 권한 부여
C:\ADFSadapter 폴더 우클릭 > 속성 > 보안 > ADFS 서비스 계정 추가 후 모든 권한 허용 선택
※ ADFS 서비스 계정은 services.msc 실행 > ADFS 서비스 실행 계정 "다음 사용자로 로그온" 으로 확인
Registry 추가
Adapter 관련 이벤트를 Windows 이벤트 로그에 찍기 위한 Registry 생성
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog 아래에 키 및 값(2개) 생성
- 생성 키 : MFA_Adapter
- MFA_Adapter에 값 2개 생성
. 이름 : AutoBackupLogFiles
. 종류 : DWORD(32비트) 값(REG_DWORD)
. 데이터 : 0
. 이름 : MaxSize
. 종류 : DWORD(32비트) 값(REG_DWORD)
. 데이터 : 16진수 80000
MFA_Adapter 키 아래에 키 및 값(1개) 생성
- 생성 키 : AdapterDLL
- AdapterDLL에 값 1개 생성
. 이름 : EventMessageFile
. 종류 : 확장 가능한 문자열 값(REG_EXPAND_SZ)
. 데이터 : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\EventLogMessages.dll
Adapter에 필요한 dll 사전 설치
C:\ADFSadapter 내 Assembly_netstandard2.0 폴더는 사전 설치가 필요한 라이브러리 모음 설치 작업은 다음을 참고한다.
ADFS Adapter가 실행될 때 필요한 어셈블리가 로드될 수 있도록 ADFS 서버 내 전역어셈블리캐시에 dll을 설치한다.
**dll 설치**
#사전 작업
C:\ADFSadapter 폴더에 Assembly_netstandard2.0 폴더 압축을 풀어 복사해둔다.
#관리자 권한으로 Powershell 실행 후 수행 위치 이동
PS>cd C:\ADFSadapter
#dll 설치
PS>.\gacutil.exe /il .\Assembly_netstandard2.0\AssemblyList.txt
#dll 확인
PS>.\gacutil.exe /l
설치 필요한 어셈블리 파일들을 Assembly_netstandard2.0 폴더에 저장해두었으며, 서버에 해당 파일을 복사한 후 오프라인 상태에서 설치 가능
Assembly_netstandard2.0 폴더 : Microsoft.IdentityModel.Tokens v7.2, System.IdentityModel.Tokens.Jwt v7.2 어셈블리 설치를 위한 dll 파일 (dependancy 파일 모두 포함)
설치 dll 리스트
셈블리명
설치 버전
패키지 버전
Microsoft.Bcl.AsyncInterfaces
1.0.0.0
1.0.0
Microsoft.IdentityModel.Abstractions
7.2.0.0
7.2.0
Microsoft.IdentityModel.JsonWebTokens
7.2.0.0
7.2.0
Microsoft.IdentityModel.Logging
7.2.0.0
7.2.0
Microsoft.IdentityModel.Tokens
7.2.0.0
7.2.0
System.Buffers
4.0.3.0
4.5.1
System.IdentityModel.Tokens.Jwt
7.2.0.0
7.2.0
System.Memory
4.0.1.1
4.5.3
System.Numerics.Vectors
4.1.4.0
4.5.0
Microsoft.CSharp
4.0.4.0
4.5.0
System.Runtime.CompilerServices.Unsafe
4.0.4.1
4.5.3
System.Security.Cryptography.Cng
4.3.0.0
5.0.0
System.Text.Encodings.Web
4.0.5.1
4.7.2
System.Text.Json
4.0.1.2
4.7.2
System.Threading.Tasks.Extensions
4.2.0.1
4.5.4
표. 설치 dll 리스트
Adapter 배포
nuget 파일을 다운 받아 설치하였으며, nuget 패키지 버전과 서버에 설치되는 버전 표기가 다르니 주의하세요.
.net framework 4.8을 기준으로 dll은 .net standard2.0(.net framework 4.8 지원) 규격으로 사용하세요
#수행 위치 이동
PS>cd C:\ADFSadapter
#dll 등록
PS>./gacutil.exe /if ADFSadapter.dll
#dll 확인
PS>./gacutil.exe /l ADFSadapter
전역 어셈블리 캐시에 다음 어셈블리가 들어 있습니다.
ADFSadapter, Version=1.2.1.0, Culture=neutral, PublicKeyToken=0e0fe476002e81b3, processorArchitecture=MSIL
#ADFS에 인증 공급자로 등록
PS>$typename="ADFSadapter.AuthenticationAdapter, ADFSadapter, Version=1.2.1.0, Culture=neutral, PublicKeyToken=0e0fe476002e81b3, processorArchitecture=MSIL"
PS>Register-AdfsAuthenticationProvider -TypeName $typename -Name "ADFSadapter"
#ADFS에 인증 공급자 확인
PS>Get-AdfsAuthenticationProvider
AdminName : ADFS MFA Adapter
AllowedForPrimaryExtranet : False
AllowedForPrimaryIntranet : False
AllowedForAdditionalAuthentication : True
AuthenticationMethods : {http://schemas.microsoft.com/ws/2012/12/authmethod/otp}
Descriptions : {[1033, ADFS MFA Adapter], [1042, ADFS MFA Adapter]}
DisplayNames : {[1033, ADFS MFA Adapter], [1042, ADFS MFA Adapter]}
Name : ADFSadapter
IdentityClaims : {http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn}
IsCustom : True
RequiresIdentity : True
#ADFS 서비스 재시작
PS>net stop adfssrv
PS>net start adfssrv
#수행 위치 이동
PS>cd C:\ADFSadapter
#dll 등록
PS>./gacutil.exe /if ADFSadapter.dll
#dll 확인
PS>./gacutil.exe /l ADFSadapter
전역 어셈블리 캐시에 다음 어셈블리가 들어 있습니다.
ADFSadapter, Version=1.2.1.0, Culture=neutral, PublicKeyToken=0e0fe476002e81b3, processorArchitecture=MSIL
#ADFS 서비스 재시작
PS>net stop adfssrv
PS>net start adfssrv
ADFS의 다단계 인증 방법 설정
AD FS 관리 > 서비스 > 인증 방법 > 다단계 인증 방법 > 편집 클릭 후 생성한 mfa(ADFS MFA Adapter) 선택 후 적용 (복수선택 가능)
신뢰 당사자 트러스트에 mfa 정책 적용
AD FS 관리 > 신뢰 당사자 트러스트 > 적용할 신뢰 당사자 트러스트 선택 > 액세스 제어 정책 편집 > ‘모든 사용자를 허용하고 MFA 요구’ 선택 후 적용
Adapter 업그레이드 및 변경
해당 방법은 기존에 ADFS MFA Adapter 가 등록되어 있는 상태에서 해당 Adapter를 업그레이드/변경할 경우에 수행하는 Adapter 교체 작업입니다.
교체 작업 시 해당 스크립트만 수행하면 Adapter 변경 및 적용이 완료 됩니다.
#수행 위치 이동하여 변경된 Adapter.dll 파일 업로드
PS>cd C:\ADFSadapter
#Adapter 교체 수행
PS>./replace_dll.ps1
확인창 출력 시 예(Y) 혹은 모두 예(A) 클릭
- 예(Y) 혹은 모두 예(A) 선택 : ADFS에서 기존 Adapter 제거 후 교체 작업 진행 (정상 절차)
- 아니요(N) 혹은 모두 아니요(L) 선택 : Adapter 제거 안하고 다음 단계로 수행되어 오류 발생
- 일시 중단(S) 선택: 해당 스크립트 중단
참고
※ 주서버와 보조서버에서 모두 수행.
보조 서버에서는 ADFS에 등록 시 오류 발생하나 dll 설치를 위해서 수행 필요
Adapter 설정
Adapter 환경설정 파일에 대한 설명입니다.
ADFS Adapter 적용하기 전에 반드시 환경설정을 먼저 해야 합니다.
안내
adapter 설치위치 변경 사항
adapter 1.2.0.6부터 C 드라이브 이외의 다른 드라이브에 설치가 가능합니다.
기존 : C:/ADFSadapter 에만 설치
변경 : C to Z 드라이브의 root에 설치
예시: C:/ADFSadapter , D:/ADFSadapter , E:/ADFSadapter , …… , Z:/ADFSadapter
주의사항 : 단 1개의 드라이브에만 설치해야 하며, 만일 여러 개의 드라이브에 설치된 경우 C to Z 스캔하면서 가장 먼저 발견된 디렉토리를 사용함
아래의 예시는, adapter를 C:\ADFSadapter 디렉토리에 설치한 경우입니다.
C 이외의 다른 드라이브에 설치한 경우, 아래의 예시에서 드라이브명(drive letter)만 변경하면 됩니다.
예시: D:\ADFSadapter 에 설치한 경우 ini 경로 → D:\ADFSadapter\ADFSadapter.ini
파일명 및 경로
파일명 → ADFSadapter.ini
전체 경로 → C:\ADFSadapter\ADFSadapter.ini
파일 인코딩 → 반드시 UTF-8 로 저장할 것 (그렇지 않으면 한글이 깨짐)
알아두어야 할 점
값을 표현할때 " 와 ’ 를 사용할 수 있으며 = 좌우에 빈칸을 입력해도 됨
Value 의 앞뒤에 있는 공백은 Trim 처리 됨
아래의 Value는 모두 동일함
예1) MAIN_TITLE=DWP MFA Adapter
예2) MAIN_TITLE = DWP MFA Adapter
예3) MAIN_TITLE = “DWP MFA Adapter”
예4) MAIN_TITLE = " DWP MFA Adapter "
섹션 이름들 중에 뒷부분에 -1033, -1042 가 붙는 것들은 locale 을 의미함
최소한 1033 은 반드시 있어야 합니다.
# ADFS MFA Adapter 환경 설정
# 설치위치 변경 사항
# - v1.2.0.6 이전 : C:\ADFSadapter\ADFSadapter.ini
# - v1.2.0.6 부터 : C 이외의 다른 드라이브에 설치할 수 있음 (adapter 리소스 설치한 위치와 동일)
# 예시: C:\ADFSadapter\ADFSadapter.ini , D:\ADFSadapter\ADFSadapter.ini , E:\ADFSadapter\ADFSadapter.ini
# 주의 : DLL 파일명은 ADFSadapter.dll 이며, 기존의 Nexsign 연계한 MFAadapter.dll과는 다름
# 값을 표현할때 " 와 ' 를 사용할 수 있으며 = 좌우에 빈칸을 입력해도 됩니다
# Value 의 앞뒤에 있는 공백은 Trim 처리 됩니다.
# 아래의 Value는 모두 동일합니다.
# 예1) MAIN_TITLE=ADFS MFA Adapter
# 예2) MAIN_TITLE = ADFS MFA Adapter
# 예3) MAIN_TITLE = "ADFS MFA Adapter"
# 예4) MAIN_TITLE = " ADFS MFA Adapter "
# 섹션 이름들 중에 뒷부분에 -1033, -1042 가 붙는 것들은 locale 을 의미합니다
# 최소한 1033 은 반드시 있어야 합니다
# locale number : 1033 (en-us), 1042 (ko)
# locale section : MFA-1033, MFA-1042, TXT-1033, TXT-1042, MSG-1033, MSG-1042
# LOG_LEVEL (Windows 이벤트 로그에 기록하는 기준)
# 0 : Error
# 1 : Error + Warning
# 2 : Error + Warning + Information + Debug
[MAIN]
MAIN_MFA_TITLE="ADFS MFA Adapter"
MAIN_CLAIM1=http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
MAIN_CLAIM2=http://schemas.microsoft.com/ws/2012/12/authmethod/otp
# MFA API 정보
# URL 끝부분에 "/" 붙이지 말 것
#MFA_API_URL="https://stg2-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request"
MFA_API_URL="https://stg1-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request"
CONSUMER_KEY="**************************************"
SECRET_KEY="**************************************"
# Donmain vs Consumer Key 리스트
# 도메인별로 Consumer Key가 다른 경우에는 리스트로 나열 (이런 경우, 위의 CONSUMER_KEY 값을 비울 것)
# Reqeust Token의 sys 값에 대입
# 형태 : DOMAIN_CONSUMER_KEY_##=domain;consumerKey
# 예시: DOMAIN_CONSUMER_KEY_01=aaa.com;**************************************
# DOMAIN_CONSUMER_KEY_02=bbb.com;**************************************
# (주의) CONSUMER_KEY 값과 리스트 값이 모두 있다면, CONSUMER_KEY 값만 사용함
DOMAIN_CONSUMER_KEY_01=aaa.com;**************************************
DOMAIN_CONSUMER_KEY_02=bbb.com;**************************************
# Donmain vs Secret Key 리스트
# 도메인별로 Secret Key가 다른 경우에는 리스트로 나열 (이런 경우, 위의 SECRET_KEY 값을 비울 것)
# 형태 : DOMAIN_SECRET_KEY_##=domain;secretKey
# 예시: DOMAIN_SECRET_KEY_01=aaa.com;**************************************
# DOMAIN_SECRET_KEY_02=bbb.com;**************************************
# (주의) SECRET_KEY 값과 리스트 값이 모두 있다면, SECRET_KEY 값만 사용함
DOMAIN_SECRET_KEY_01=aaa.com;**************************************
DOMAIN_SECRET_KEY_02=bbb.com;**************************************
# LDAP Search 결과에 따른, MFA 진행 여부
# 0 : LDAP Search를 하지 않음 (아래의 LDAP_SERVER, LDAP_USE_IDPW, ... 등의 정보 사용하지 않음. token에는 빈 값 대입)
# 1 : LDAP Search를 시도하지만 실패해도 관계없음 (서버 실패, 정보 없음 등이 발생하여도 MFA 진행함. token에는 빈 값 대입)
# 2 : LDAP Search가 성공 & 사용자 정보가 존재해야 함 (사용자 정보가 존재할 경우에만 진행함. 단, 결과 값이 빈 값이어도 진행함)
USE_LDAP_SEARCH=1
# LDAP 주소와 ID/PW
# LDAP_SERVER는 domain, ipv4, ipv6 등의 3가지 모두 가능하며, 앞부분에 대문자 "LDAP://" 을 붙여야 함 (반드시 대문자)
# 예시: LDAP://adpw5004.hw.dev , LDAP://70.2.180.218 , LDAP://fe80::644b:3c9f:c5ac:ce1c%10
# ID/PW를 사용하려면 LDAP_USE_IDPW 값을 1, 사용하지 않으려면 LDAP_USE_IDPW 값을 0 으로 설정
# SSL/TLS 사용하려면 LDAP_SSLTLS 값을 1, 사용하지 않으려면 LDAP_SSLTLS 값을 0 으로 설정 (단, LDAP_USE_IDPW=1 인 경우에만 해당)
LDAP_SERVER="LDAP://adpw5004.hw.dev"
LDAP_USE_IDPW=1
LDAP_SSLTLS=1
LDAP_ID="isadmin"
LDAP_PW="sds*****"
# DNS Lookup을 하여 LDAP 서버(LDAP_SERVER)의 IP 주소를 확인하고, IP 주소 기반으로 접속 여부
# LDAP_SERVER 값이 IP(ipv4, ipv6)로 설정되어 있어도 DNS Lookup을 수행하며, IP 그대로 리턴됨
# 만약, DNS Lookup을 실패하면, LDAP_SERVER 값 그대로 접속
# 0 : LDAP_SERVER 값 그대로 서버에 접속 (DNS lookup 하지 않음)
# 1 : DNS lookup으로 IP 주소를 확인하여 LDAP 서버에 접속 (DNS lookup 결과 리스트에서 첫번째 IP 사용)
# 2 : DNS lookup으로 IP 주소를 확인하고, LDAP_WHITE_IP_## 리스트에서 가장 먼저 해당되는 IP를 사용 (리스트에 없으면, LDAP_SERVER 사용)
# 3 : DNS lookup으로 IP 주소를 확인하고, LDAP_WHITE_IP_## 리스트에서 가장 먼저 해당되는 IP를 사용 (리스트에 없으면, LDAP 접속 안함)
LDAP_DNS_LOOKUP=1
# DNS Lookup 결과가 여러 개일때, 첫번째 IP 주소로 연결이 안되면 그 다음 IP 주소로 시도할지 여부
# 예시: lookup 결과가 4개 : 1차 IP 연결 실패 -> 2차 IP 연결 시도 & 싪패 -> 3차 IP 연결 시도 & 싪패 -> 4차 IP 연결 시도
LDAP_DNS_IF_FAIL_USE_NEXT=1
# DNS Lookup 결과와 비교하는 접속 허용된 LDAP 서버 IP 리스트 (LDAP_DNS_LOOKUP = 2 or 3 인 경우에만 해당)
# LDAP_WHITE_IP_## 형태이며, 01부터 99까지 순차적으로 기록
# DNS Lookup 결과와 리스트를 순차적으로 비교
# IPv4, IPv6 형태로 기록 (동일한 서버의 IPv4, IPv6가 있다면 리스트의 앞순위에 있는 IP가 적용됨)
# DNS Lookup 결과 순서와 White IP 리스트 순서가 다르다면 -> White IP 리스트 순서를 따름
LDAP_WHITE_IP_01="70.2.180.218"
LDAP_WHITE_IP_02="fe80::644b:3c9f:c5ac:ce1c%10"
# 사용자 정보를 암호화할지 여부 (예: mobile, email 등)
# 대상 : USERINFO_## 리스트
# 암호화 여부에 따라 API 서버에 전송하는 token의 claim 이름이 다름
# 0 : 암호화 하지 않음 -> token의 claim 이름이 plainMobile, plainEmail
# 1 : 암호화 -> token의 claim 이름이 mobile, email
USERINFO_ENCRYPT=0
# LDAP Search할 사용자 정보 attribute name과 JWT token에 사용할 claim name (2개 값을 구분하는 delimeter = ";")
# 형태: USERINFO_## = attribute;encryptedClaim;plainClaim
# 예시: LDAP에서 "mail" 속성을 읽어서, JWT에 "email" claim으로 사용된다면 -> "mail;email;plainEmail"
# key 명칭은 "USERINFO_##" 형태로 하고, 시작은 USERINFO_01
# key 갯수 : 0개 ~ 최대 99개 (0개인 경우, ini에 아무것도 적지 않으면 되며, USERINFO_00 이라고 적지 말 것)
# 주의사항) USERINFO_##에서 ## 에 해당되는 숫자는 반드시 01부터 시작하며, 여러 개인 경우 번호가 끊어지지 않아야 함
# USERINFO_01, USERINFO_02, USERINFO_03 : OK (01, 02, 03 정보가 사용됨)
# USERINFO_01, USERINFO_02, USERINFO_05 : 02까지 읽고, 끊어진 번호 이후는 사용하지 않음 (01, 02 정보가 사용됨)
USERINFO_01=mobile;mobile;plainMobile
USERINFO_02=mail;email;plainEmail
# MFA API 서버가 Callback 해줄때, 결과 Parameter에 사용되는 Key 이름
# 예시: https://adpw5004.hw.dev/adfs/ls?client-request-id=xxxxxx&pullStatus=0&jwtTokenResponse=yyyyyy
KEY_NAME_IN_RESPONSE="jwtTokenResponse"
# JWT Token의 exp에 적용될 더하기 값
# 형테 : 일시분초(dhms) 형태의 문자열 -> 1d=86400, 1h=3600, 1m=60 (dhms 가 전혀 없는 단순 숫자는 초로 판단함)
# 예시1 : 1d02h38m27s -> 95907 초
# 예시2 : 12345 -> 12345 초
TOKEN_EXP_TIME=1d
# API 호출할때 구성하는 token에 client claim을 추가할지 여부
# client : SAML인 경우 issuer, OIDC인 경우 client-id
# 0 : token에 client 포함시키지 않음
# 1 : token에 client 포함
TOKEN_CLAIM_CLIENT=0
# MFA nonce(guid, requset-id) 검증 방법
# 0 : 검증 안함
# 1 : adapter가 생성한 guid를 LDAP에 저장/비교하는 방식 (adapter가 검증)
# -> 관련 설정 값 : CACHE_ATTRIBUTE, CACHE_DELIMETER, SKEW_SECONDS, CACHE_LIFE_TIME
# 2 : API 서버가 생성한 requeset-id를 adapter가 받아서 호출 URL에 사용하는 방식 (API 서버가 검증)
# -> 관련 설정 값 : MFA_VERIFY_URL
MFA_VERIFY_TYPE=2
# MFA 결과검증 URL (서버 to 서버 통신) : URL 뒷부분에 API 서버로부터 받은 {request-id}를 덧붙여서 호출함
# adapter는 리턴 200 (OK) 인지 확인하여 MFA 결과 처리
# URL 끝부분에 "/" 붙이지 말 것
MFA_VERIFY_URL="https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status"
# MFA 결과검증할때 사용할 보안 프로토콜
# 선택 가능한 프로토콜 (대소문자 구분 없음) : TLS12, TLS13
# (주의) SSL3, TLS, TLS11 은 사용하지 않음
MFA_VERIFY_SECURE_PROTOCOL="TLS12"
# 사용자의 req guid 값을 저장할 LDAP attribute의 이름
# (주의) LDAP에 write 권한이 있어야 함
CACHE_ATTRIBUTE="otherPager"
# LDAP에 저장하는 req + 시간 정보를 조합할때 사용하는 delimeter -> "req;시간"
CACHE_DELIMETER=";"
# LDAP에 저장된 req의 시간과 JWT 수신시 시간의 차이 허용치 (초단위)
# MFA 선택화면 누를 때가 아니라, AD 로그인 직후의 시간이므로 (MFA 선택화면 보일때 이미 시간이 저장되었음)
# 사용자가 MFA 선택화면 누르고 Passcode 입력할 때까지의 시간이 아님
# 따라서, tight 하게 시간을 설정하면 안되며, 1시간 정도가 적당?? (MFA 선택을 1시간 고민하는 사람이 있나?)
SKEW_SECONDS=3600
# LDAP에 저장된 req의 수명 -> 다음 access시 시간 확인해서 이전의 오래된 것들 삭제
# 형태 : 일시분초(dhms) 형태의 문자열 -> 1d=86400, 1h=3600, 1m=60 (dhms 가 전혀 없는 단순 숫자는 초로 판단함)
# 예시1 : 1d02h38m27s -> 95907 초
# 예시2 : 12345 -> 12345 초
CACHE_LIFE_TIME=1d
# Adapter 기능을 ByPass 할 것인지 여부 (0=정상 사용, 283901=무력화, 그 외 값들=정상 사용)
# MFA 기능 문제로 급하게 adapter 기능의 무력화가 필요한 비상 상황에서 사용
# 평상시에는 절대로 수정하지 말 것 -> 평상시 값은 0
# 주의 : 무력화하려면 반드시 정확한 값을 설정해야 함 (0 이외의 숫자가 해당되는 것이 아니며 정확한 숫자 필요함. noise 우려)
BYPASS_ADAPTER=0
[API]
API_SYSTEMNAME=SingleID
[MSG-1033]
MSG_INTERNAL_ERROR="Internal error occurred. Contact administrator."
[MSG-1042]
MSG_INTERNAL_ERROR="Internal error occurred. Contact administrator."
[MANAGE]
LOG_LEVEL=2
설정 값 설명
값 고정 : 하단 테이블의 “설정 값” 컬럼에 표시된 값을 ADFS 서버에 설치시에도 그대로 사용한다는 의미
영문, 한국어 이외의 언어를 추가하고자 한다면, 2개 Section에 대해서는 추가가 가능함
→ MSG-1033, MSG-1042
SingleID MFA API 주소 tenant에 따라서 달라질 수 있으므로, 정확한 주소 값을 확인해야 함
CONSUMER_KEY
4312a8b9-75c4-7897-89a7-89347f18943e
SingleID 로부터 발급받은 Consumer Key
SECRET_KEY
gQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd=
SingleID 로부터 발급받은 Secret Key JWT Signautre 검증에 사용 외부 공개 절대 금지
DOMAIN_CONSUMER_KEY_01
4312a8b9-75c4-7897-89a7-89347f18943e
Donmain vs Consumer Key 리스트 도메인별로 Consumer Key가 다른 경우에는 리스트로 나열 (이런 경우, 위의 CONSUMER_KEY 값을 비울 것) 형태 : DOMAIN_CONSUMER_KEY_##=domain;consumerKey 예시: DOMAIN_CONSUMER_KEY_01=aaa.com;4312a8b9-75c4-7897-89a7-89347f18943e DOMAIN_CONSUMER_KEY_02=bbb.com;96567780-2b12-23da-637c-9375a6502d5a (주의) CONSUMER_KEY 값과 리스트 값이 모두 있다면, CONSUMER_KEY 값만 사용함
DOMAIN_CONSUMER_KEY_02
96567780-2b12-23da-637c-9375a6502d5a
DOMAIN_CONSUMER_KEY_##
367c89d5-88f7-978a-9739-8ed21748f36b
DOMAIN_SECRET_KEY_01
gQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd=
Donmain vs Secret Key 리스트 도메인별로 Secret Key가 다른 경우에는 리스트로 나열 (이런 경우, 위의 SECRET_KEY 값을 비울 것) 형태 : DOMAIN_SECRET_KEY_##=domain;secretKey 예시: DOMAIN_SECRET_KEY_01=aaa.com;gQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd= DOMAIN_SECRET_KEY_02=bbb.com;kgkWRnLygQhsRgrLVbtKlO6FiLdABupEgoMR8v/ilfJ= (주의) SECRET_KEY 값과 리스트 값이 모두 있다면, SECRET_KEY 값만 사용함
DOMAIN_SECRET_KEY_02
kgkWRnLygQhsRgrLVbtKlO6FiLdABupEgoMR8v/ilfJ=
DOMAIN_SECRET_KEY_##
dABupkRnLygQhsrLgWVRbt8vRgkLilLKlO1FioMgfJE=
USE_LDAP_SEARCH
0 or 1 or 2
LDAP Search 결과에 따른, MFA 진행 여부 0 : LDAP Search를 하지 않음 (아래의 LDAP_SERVER, LDAP_USE_IDPW, … 등의 정보 사용하지 않음. token에는 빈 값 대입) 1 : LDAP Search를 시도하지만 실패해도 관계없음 (서버 실패, 정보 없음 등이 발생하여도 MFA 진행함. token에는 빈 값 대입) 2 : LDAP Search가 성공 & 사용자 정보가 존재해야 함 (사용자 정보가 존재할 경우에만 진행함. 단, 결과 값이 빈 값이어도 진행함)
LDAP_SERVER
LDAP://adpw5004.hw.dev
AD 사용자 정보를 Query 할 수 있는 LDAP 주소 domain, ipv4, ipv6 등의 3가지 모두 가능하며, 앞부분에 “LDAP://” 을 붙여야 함
LDAP_USE_IDPW
0 or 1
LDAP 접속시 id/pw를 사용하는지 여부 adapter는 시스템 권한으로 동작하므로 id/pw 필요없이 LDAP 접속이 되는 것이 일반적이나, 그렇지 않은 경우도 존재함 id/pw 사용하지 않고 접속하도록 설정한 상태에서 이벤트 로그에 AD 접속 에러가 있다면, id/pw를 사용하여 접속하도록 설정 필요 이 값을 1로 설정하면, LDAP_ID, LDAP_PW 값을 반드시 설정하여야 함
LDAP_SSLTLS
0 or 1
LDAP 연결시 SSL/TLS를 사용할지 여부 일반적으로 사용하도록 설정
LDAP_ID
LDAP 접속 id
LDAP 접속 id (LDAP_USE_IDPW=1 인 경우)
LDAP_PW
LDAP 접속 pw
LDAP 접속 pw (LDAP_USE_IDPW=1 인 경우)
LDAP_DNS_LOOKUP
0 or 1 or 2 or 3
DNS Lookup을 하여 LDAP 서버(LDAP_SERVER)의 IP 주소를 확인하고, IP 주소 기반으로 접속 여부 0 : LDAP_SERVER 값 그대로 서버에 접속 (DNS lookup 하지 않음) 1 : DNS lookup으로 IP 주소를 확인하여 LDAP 서버에 접속 (DNS lookup 결과 리스트에서 첫번째 IP 사용) 2 : DNS lookup으로 IP 주소를 확인하고, LDAP_WHITE_IP_## 리스트에서 가장 먼저 해당되는 IP를 사용 (리스트에 없으면, LDAP_SERVER 사용) 3 : DNS lookup으로 IP 주소를 확인하고, LDAP_WHITE_IP_## 리스트에서 가장 먼저 해당되는 IP를 사용 (리스트에 없으면, LDAP 접속 안함)
LDAP_DNS_IF_FAIL_USE_NEXT
0 or 1
DNS Lookup 결과가 여러 개일때, 첫번째 IP 주소로 연결이 안되면 그 다음 IP 주소로 시도할지 여부 예시: lookup 결과가 4개 : 1차 IP 연결 실패 -> 2차 IP 연결 시도 & 실패 -> 3차 IP 연결 시도 & 실패 -> 4차 IP 연결 시도
LDAP_WHITE_IP_01
70.2.180.218
DNS Lookup 결과와 비교하는 접속 허용된 LDAP 서버 IP 리스트 (LDAP_DNS_LOOKUP = 2 or 3 인 경우에만 해당) LDAP_WHITE_IP_## 형태이며, 01부터 99까지 순차적으로 기록 DNS Lookup 결과와 리스트를 순차적으로 비교 IPv4, IPv6 형태로 기록 (동일한 서버의 IPv4, IPv6가 있다면 리스트의 앞순위에 있는 IP가 적용됨) DNS Lookup 결과 순서와 White IP 리스트 순서가 다르다면 → White IP 리스트 순서를 따름
LDAP_WHITE_IP_02
fe80::644b:3c9f:c5ac:ce1c%10
LDAP_WHITE_IP_##
A. : 01 ~ 99 White IP 주소 (IPv4 or IPv6)
USERINFO_ENCRYPT
0 or 1
사용자 정보를 암호화할지 여부 (예: mobile, email 등) 대상 : USERINFO_## 리스트 암호화 여부에 따라 API 서버에 전송하는 token의 claim 이름이 다름 0 : 암호화 하지 않음 -> token의 claim 이름이 plainMobile, plainEmail 1 : 암호화 -> token의 claim 이름이 mobile, email
USERINFO_01
mobile;mobile;plainMobile
O
LDAP Search할 사용자 정보 attribute name과 JWT token에 사용할 claim name (3개 값을 구분하는 delimeter = “;”) 형태: USERINFO_## = attribute;encryptedClaim;plainClaim 예시: LDAP에서 “mail” 속성을 읽어서, JWT에 암호화된 값은 “email” claim으로 , 평문 값은 “plainEmail” claim으로 사용된다면 → “mail;email;plainEmail”
JWT Token의 exp에 적용될 더하기 값 일시분초(dhms) 형태의 문자열 1d=86400, 1h=3600, 1m=60 dhms 가 전혀 없는 단순 숫자는 초로 판단함 예시1 : 1d02h38m27s → 95907 초 예시2 : 12345 → 12345 초
TOKEN_CLAIM_CLIENT
0 or 1
API 호출할때 구성하는 token에 client claim을 추가할지 여부 client : SAML인 경우 issuer, OIDC인 경우 client-id 0 : token에 client 포함시키지 않음 1 : token에 client 포함
MFA_VERIFY_TYPE
0 or 1 or 2
MFA nonce(guid, requset-id) 검증 방법 0 : 검증 안함 1 : adapter가 생성한 guid를 LDAP에 저장/비교하는 방식 (adapter가 검증) → 관련 설정 값 : CACHE_ATTRIBUTE, CACHE_DELIMETER, SKEW_SECONDS, CACHE_LIFE_TIME 2 : API 서버가 생성한 requeset-id를 adapter가 받아서 호출 URL에 사용하는 방식 (API 서버가 검증) → 관련 설정 값 : MFA_VERIFY_URL
MFA 결과검증 URL (서버 to 서버 통신) : URL 뒷부분에 API 서버로부터 받은 {request-id}를 덧붙여서 호출함 → adapter는 리턴 200 (OK) 인지 확인하여 MFA 결과 처리 URL 끝부분에 “/” 붙이지 말 것
MFA_VERIFY_SECURE_PROTOCOL
TLS12 or TLS13
MFA 결과검증할때 사용할 보안 프로토콜 선택 가능한 프로토콜 (대소문자 구분 없음) : TLS12, TLS13 (주의) SSL3, TLS, TLS11 은 사용하지 않음
CACHE_ATTRIBUTE
otherPager
O
사용자의 req guid 값을 저장할 LDAP attribute의 이름
CACHE_DELIMETER
“;”
LDAP에 저장하는 req + 시간 정보를 조합할때 사용하는 delimeter -> “req;시간”
SKEW_SECONDS
3600
LDAP에 저장된 req의 시간과 JWT 수신시 시간의 차이 허용치 (초단위) MFA 선택화면 누를 때가 아니라, AD 로그인 직후의 시간이므로 (MFA 선택화면 보일때 이미 시간이 저장되었음) 사용자가 MFA 선택화면 누르고 Passcode 입력할 때까지의 시간이 아님 따라서, tight 하게 시간을 설정하면 안되며, 1시간 정도가 적당?? (MFA 선택을 1시간 고민하는 사람이 있나?)
CACHE_LIFE_TIME
1d
LDAP에 저장된 req의 수명 -> 다음 access시 시간 확인해서 이전의 오래된 것들 삭제 일시분초(dhms) 형태의 문자열 1d=86400, 1h=3600, 1m=60 (dhms 가 전혀 없는 단순 숫자는 초로 판단함)
BYPASS_ADAPTER
0 or 283901
Adapter 기능을 ByPass 할 것인지 여부 (0=정상 사용, 283901=무력화, 그 외 값들=정상 사용) MFA 기능 문제로 급하게 adapter 기능의 무력화가 필요한 비상 상황에서 사용 평상시에는 절대로 수정하지 말 것 -> 평상시 값은 0 주의 : 무력화하려면 반드시 정확한 값을 설정해야 함 (0 이외의 숫자가 해당되는 것이 아니며 정확한 숫자 필요함. noise 우려)
API
API_SYSTEMNAME
SingleID
O
(MFA 기능에 영향 없음)
MSG-1033
MSG_INTERNAL_ERROR
“Internal error occurred. Contact administrator.”
인증중단, 오류발생 등으로 진행을 멈출때 사용자에게 보여주는 메시지 (영문)
MSG-1042
MSG_INTERNAL_ERROR
“Internal error occurred. Contact administrator.”
인증중단, 오류발생 등으로 진행을 멈출때 사용자에게 보여주는 메시지 (한글) 한글 입력하면 에러 발생하니, 영문으로 입력할 것
MANAGE
LOG_LEVEL
0 또는 1 또는 2
윈도우 이벤트 로그에 기록하는 기준 0 = 에러만 기록 1 = 에러 + 경고만 기록 2 = 에러 + 경고 + 안내 등 모두 기록
표. 설정값 설명
INI 설정 방법
LDAP Search 관련
LDAP 서버의 hostName으로 DNS Lookup 사용하고자 할 때
여러개의 DNS Lookup 결과 중에서 첫번째 주소만 사용하고자 할 때
여러개의 DNS Lookup 결과를 모두 순차적으로 접속 시도하고자 할 때
LDAP 서버 접속시 id/pw를 사용하고자 할 때
허용된 LDAP 주소만 접속하고자 할 때 (White IP list)
LDAP에서 조회할 사용자 attribute 설정
API 연결 관련
API 서버에 전송할 token에 포함되는 사용자 정보의 암호화 여부
MFA 무결성 검증 방법 : 어댑터가 검증
MFA 무결성 검증 방법 : API 서버가 검증
기타
절대로 변경하면 안되는 옵션
SingleID 운영부서에게서 발급받아서 설정해야 하는 옵션
설치 환경에 맞게 설정해야 하는 옵션
주의
본 페이지에서 사용된 consumer key, secret key는 sample data입니다. (fake value)
MFA API 서버에 전송할 Request Token에 포함시킬 사용자 정보 claim입니다.
ini에 설정한 리스트 갯수만큼 LDAP에서 조회하고, 결과를 token에 포함시켜서 MFA API 서버에 전송합니다.
설정 규칙은 아래 페이지의 테이블에서 “USERINFO_##” 설명을 참고하시기 바랍니다.
본 페이지에서 사용된 consumer key, secret key는 sample data입니다. (fake value)
USERINFO_ENCRYPT
USERINFO_ENCRYPT=0
어댑터가 MFA API 서버에 전송하는 token에 포함되는 사용자 정보가 암호화인지 평문인지 여부를 설정합니다. (예를 들면, mobile, email)
어댑터 버전 v1.2.0.8 (‘24년 4월) 현재, AES/GCM/NoPadding을 사용할 수 없으므로 평문으로 설정합니다.
즉, USERINFO_ENCRYPT=0 으로 고정입니다.
후일, 어댑터가 AES/GCM/NoPadding을 지원할 수 있으면, 설정을 변경할 수 있습니다.
USE_LDAP_SEARCH
USE_LDAP_SEARCH=0
LDAP_SERVER=“LDAP://adpw5004.hw.dev”
USE_LDAP_SEARCH가 0 이므로, LDAP_SERVER 값은 사용되지 않습니다.
즉, USE_LDAP_SEARCH가 0 이면, LDAP_SERVER를 빈 값으로 하거나 삭제해도 됩니다.
USE_LDAP_SEARCH=1
LDAP 검색이 실패한다면?
사용자 정보를 빈 값 처리하여 다음 단계로 진행합니다.
실패의 원인이 서버 연결 실패이든 정보 없음이든 관계없습니다.
USE_LDAP_SEARCH=2
LDAP 검색이 실패한다면?
사용자에게 에러를 표시하며 진행을 중지합니다.
서버 로그에는 아래와 같이 기록됩니다. (또는 유사한 내용)
“LDAP에서 사용자 정보를 가져올 수 없습니다.”
이 옵션은 매우 신중하게 사용해야 하며, 가급적 USE_LDAP_SEARCH=1 로 설정하시기 바랍니다.
사용자 정보가 없는 것에 대한 처리는 MFA API 측에 맡기는 것이 바람직할 것입니다.
어댑터는 이러한 상황에 대한 사용자 안내처리 및 기능이 미흡할 수 밖에 없기 때문입니다.
어댑터는 DNS lookup 결과를 메모리에 리스트 형태로 기억해둡니다. (순서가 있는 리스트) → LDAP 주소 리스트
LDAP 서버 이중화이고 각각의 IP가 아래와 같다고 가정합니다. (DNS에서 lookup이 되는 IP)
IP#1 : 10.10.10.10
IP#2 : 10.10.10.20
DNS lookup 결과는 IPv4, IPv6 모두 해당되므로, 아래처럼 결과가 나옵니다. (아래는 sample이며, 실제와 다름)
IP#1 = fe80::644b:3c9f:c5ac:ce1c%10
IP#2 = fe80::f03d:b045:8dc3:f5ed%3
IP#3 = 10.10.10.10
IP#4 = 10.10.10.20
이 상태에서 다음의 Case들을 생각해볼 수 있습니다.
Case 1) DNS Lookup 실패했다면
LDAP 주소 리스트의 갯수는 1개이며, LDAP_SERVER 값을 그대로 대입됩니다.
즉, LDAP 주소 리스트의 1번째 값 = “LDAP://adpw5004.hw.dev”
Case 2) DNS Lookup 성공하고, White IP 리스트 설정 값이 있다면 (LDAP_WHITE_IP_##=“x.x.x.x”)
White IP 리스트의 순서대로 LDAP 주소 리스트가 만들어집니다.
위의 sample의 경우, LDAP 주소 리스트의 값은 아래와 같습니다.
1번째 값 = 10.10.10.10
2번째 White IP 10.10.10.30 은 DNS Lookup 결과에 없기 때문에 LDAP 주소 리스트에 반영하지 않습니다.
Case 3) DNS Lookup 성공하고, White IP 리스트 설정 값이 없다면 (LDAP_WHITE_IP_##=”" 또는 LDAP_WHITE_IP_## 없음)
DNS Lookup 결과를 LDAP 주소 리스트에 반영합니다.
위의 sample의 경우, LDAP 주소 리스트의 값은 아래와 같습니다.
1번째 값 = fe80::644b:3c9f:c5ac:ce1c%10
2번째 값 = fe80::f03d:b045:8dc3:f5ed%3
3번째 값 = 10.10.10.10
4번째 값 = 10.10.10.20
LDAP_DNS_IF_FAIL_USE_NEXT
LDAP_DNS_IF_FAIL_USE_NEXT=0
LDAP 주소 리스트가 아래와 같다고 가정합니다.
1번째 값 = 10.10.10.10
2번째 값 = 10.10.10.20
1번째 주소 10.10.10.10 으로 접속시도 후 실패하면 더 이상 진행하지 않습니다.
LDAP 검색 결과(사용자 정보)는 빈 값으로 설정합니다.
LDAP_DNS_IF_FAIL_USE_NEXT=1
LDAP 주소 리스트가 아래와 같다고 가정합니다.
1번째 값 = 10.10.10.10
2번째 값 = 10.10.10.20
1번째 주소 10.10.10.10 으로 접속시도 후 실패하면 2번째 주소로 접속시도 합니다.
2번째 접속까지 실패하면, LDAP 검색 결과(사용자 정보)는 빈 값으로 설정합니다.
LDAP_USE_IDPW
LDAP_USE_IDPW=0
LDAP_ID="******"
LDAP_PW="******"
LDAP_USE_IDPW가 0 이면, LDAP_ID, LDAP_PW 값은 사용되지 않습니다.
즉, LDAP_USE_IDPW가 0 이면, LDAP_ID, LDAP_PW를 빈 값으로 하거나 삭제해도 됩니다.
LDAP_USE_IDPW=1
LDAP_ID=""
LDAP_PW=""
LDAP_USE_IDPW가 1 이면, LDAP_ID, LDAP_PW 값이 반드시 필요합니다.
따라서, 위의 sample처럼 LDAP_ID, LDAP_PW 값을 비워두거나 삭제하면, LDAP 서버에 접속이 되지 않습니다.
LDAP_USE_IDPW=1
LDAP_ID="******"
LDAP_PW="******"
LDAP 접속에 id/pw를 사용한다는 의미인데, 접속이 실패한다면 id/pw가 정확한지 확인해 봅니다.
INI 파일은 plain text 이므로, id/pw가 노출될 우려가 있습니다.
따라서, 가급적 id/pw 사용하지 않아도 LDAP 접속이 되도록 서버 환경 구성이 필요합니다.
MFA_VERIFY_TYPE
MFA_VERIFY_TYPE=0
어댑터 관점에서의 MFA 결과 검증이란,
사용자의 MFA 수행은 MFA API를 통해서 하는 것인데, 그 결과를 어댑터가 재확인하는 것을 의미합니다.
MFA_VERIFY_TYPE 값이 0 이면, MFA 결과 검증을 안한다는 의미입니다.
정상적인 운영상태에서는 0 으로 설정하지 않습니다.
ADFSadapter.ini 설정에서 LOG_LEVEL 값을 조정하면, 에러, 경고, 일반로그를 선택적으로 기록할 수 있습니다.
ADFSadapter.ini 에서 LOG_LEVEL 설정
값 설정
기록하는 로그
LOG_LEVEL=0
에러 기록
LOG_LEVEL=1
에러, 경고 기록
LOG_LEVEL=2
에러, 경고, 일반 메시지 모두 기록
윈도우 이벤트 로그 위치
컴퓨터 관리(로컬) > 시스템 도구 > 이벤트 뷰어 > 응용 프로그램 및 서비스 로그 > MFA_Adapter
계정별 로그의 시작에는 MFA 버전과 계정명이 표시되어 있음 → 로그 분석/추적에 참고
운영시에는, “오류” 또는 “경고” 로 표시된 부분을 집중적으로 모니터링
윈도우 이벤트 로그 설명 및 조치방법
[#0000] Success
Err.Success
에러가 아니고, 단순한 로그입니다.
불필요한 로그이며, 이 로그가 보인다면 개발자에게 해당 로그 삭제하라고 하시면 됩니다.
[#0001] Invalid Arguments
Err.InvalidArguments
에러 : adapter 프로그램 내부의 함수 호출할 때, 함수 인자(argument) 누락이 있다는 뜻입니다.
조치 : 심각한 에러이며, 개발자에게 즉시 전달하여 신속히 조치되도록 합니다.
참고
별다른 증상없이 adapter가 동작할 수도 있으나, 심각한 에러 잠재성이 있으므로 방치하면 안됩니다.
[#1000] identityClaim 에서 계정정보(account)를 추출할 수 없습니다.
Err.IdentityClaimHasNoAccount
에러 : adapter 실행 초기에 AD 서버로부터 현재 사용자의 정보를 받는데, account 정보를 찾을 수 없습니다.
조치 : AD 서버 상태를 확인해봅니다.
참고
LDAP에서 Query 하는 것이 아니라, ADFS 내부적으로 처리되는 정보 흐름으로서, 이 상황이 발생하면 adapter가 정상 동작할 수 없는 환경이라고 보면 됩니다.
[#1001] INI 파일을 load 할 수 없습니다.
Err.FailToLoadIni
에러 : 서버에서 MFA 환경설정 INI 파일을 읽을 수 없습니다.
조치 : 서버에 다음의 경로에 파일이 있는지 확인
C:\ ADFSadapter \ ADFSadapter.ini
참고
만일, 파일이 있다면, 파일 속성 또는 권한 확인합니다.
[#1002] HTML 파일들을 load 할 수 없습니다.
Err.FailToLoadHtml
에러 : 서버에서 HTML 파일을 읽을 수 없습니다.
조치 : 서버에 다음의 경로에 파일이 있는지 확인합니다.
C:\ ADFSadapter \ Html_*.txt
참고
만일, 파일이 있다면, 파일 속성 또는 권한 확인합니다. 1개라도 없으면 에러 발생힙니다. 어떤 것이 누락되었는지는 서버 이벤트 로그에서 알 수 있습니다.
[#1003] LDAP에서 사용자 정보를 가져올 수 없습니다.
Err.FailToLdapSearch
에러 : LDAP 서버에 Query를 헀으나, AD 사용자 정보를 가져오지 못했습니다.
조치 : AD 서버 상태를 확인해봅니다.
참고
Token 구성에 mobile, email 정보가 필요한데, 이 정보들을 가져올때 실패한 것입니다. 사용자 정보가 존재한다면, mobile, email이 빈 값이어도 에러로 처리하지 않습니다. 그래서, 본 에러가 발생한 것은 LDAP Query 자체가 안된다고 보면 됩니다.
[#1004] BeginAuthentication 함수의 request에 URL 정보가 없습니다.
Err.NoURLInRequest
에러 : Adapter 실행 초기에 실행되는 BeginAuthentication 함수의 인자 request에 URL 정보가 없습니다.
조치 : SingleID MFA API 서버가 정상적으로 response를 보내는지 확인합니다.
참고
URL 정보가 없으면, SingleID MFA API 서버가 GET 방식으로 전송한 response를 사용할 수 없습니다.
[#1005] JWT token 생성을 할 수 없습니다.
Err.FailToMakeJwtToken
에러 : GenerateRequestToken 함수가 token 생성에 실패했습니다.
조치 : 정확한 원인은 서버 이벤트 로그에서 확인 가능하며, 개발자에게 원인 분석을 요청합니다.
[#1006] ADFSadapter 디렉토리 또는 INI 파일을 찾을 수 없습니다. C to Z 드라이브 중의 한 곳에 [drive]:/ADFSadapter/ADFSadapter.ini 파일이 존재해야 합니다.
Err.CannotFindDirOrIni
에러 : adapter 버전 1.2.0.6 부터 adapter 설치 위치가 C 드라이브 고정이 아닌 C to Z 드라이브 중의 한 곳에 설치할 수 있으며, adapter는 C to Z 드라이브 스캔을 통해서 설치된 위치를 알아냅니다. [drive]:/ADFSadapter/ADFSadapter.ini 파일이 존재해야 합니다.
조치 : 서버에 adapter 설치가 제대로 되었는지, 디렉토리명과 파일명이 정확한지 확인합니다. 드라이브 억세스가 막혀있는지 확인합니다.
[#2000] TryEndAuthentication()에 계정정보(account)가 없습니다.
Err.TryEndHasNoAccount
에러 : TryEndAuthentication 단계로 넘어왔으나, 계정 정보를 알 수 없습니다. (adpater 자체 에러)
조치 : 개발자에게 신속히 상황 전달 및 원인 분석을 요청합니다.
참고
이러한 경우는 절대 발생할 수 없으며, 발생해서도 안됩니다.
[#2001] Step 정보가 없습니다.
Err.NoStepInfo
에러 : MFA 진행 단계(step) 정보가 없습니다. (adpater 자체 에러)
조치 : 개발자에게 신속히 상황 전달 및 원인 분석을 요청합니다.
참고
이러한 경우는 절대 발생할 수 없으며, 발생해서도 안됩니다.
[#2002] 잘못된 Step 정보입니다.
Err.InvalidStepInfo
에러 : MFA 진행 단계(step) 정보가 잘 못 되었습니다. (adpater 자체 에러)
조치 : 개발자에게 신속히 상황 전달 및 원인 분석을 요청합니다.
참고
이러한 경우는 절대 발생할 수 없으며, 발생해서도 안됩니다.
[#3000] HTML 문자열을 가져옵니다.
Err.SucceedInGetHtml
에러가 아니고, 단순한 로그입니다. 서버의 Html_.txt 파일을 읽은 내용을 보여줍니다. Html_.txt 파일 내용 수정 후에 adpater가 파일 내용을 제대로 읽었는지 확인할 때 도움이 됩니다.
[#3001] HTML을 가져올 수 없습니다.
Err.FailToGetHtml
에러 : 서버의 Html_*.txt 파일을 읽지 못한 것입니다.
조치 : 파일이 존재하는지, Read 권한이 있는지, Lock 걸려있는지 등을 확인해봅니다.
[#4000] Html 파일이 존재하지 않습니다.
Err.HtmlFileNotFound
에러 : 서버의 Html_*.txt 파일을 읽지 못한 것입니다.
조치 : 파일이 존재하는지, 확인해봅니다.
[#4001] Html 파일이 존재하나, 파일 내용이 없습니다.
Err.HtmlFileIsEmpty
에러 : 서버의 Html_*.txt 파일을 읽지 못한 것입니다.
조치 : 파일 Read 권한이 있는지, Lock 걸려있는지 등을 확인해봅니다.
[#4002] HtmlPrefix 리스트에 없는 step 입니다.
Err.StepNotInHtmlPrefixList
에러 : adapter 내부에는 처리 step 별로 정의해 둔 keyword 리스트가 있는데, 그 리스트에 없는 keyword가 발견되었다는 뜻입니다.
조치 : 개발자에게 신속히 상황 전달 및 원인 분석을 요청합니다.
참고
이러한 경우는 절대 발생할 수 없으며, 발생해서도 안됩니다.
[#4003] HtmlPrefix 리스트에서 prefix 값이 비어 있습니다.
Err.EmptyPrefixInHtmlPrefixList
에러 : adapter 내부에는 처리 step 별로 정의해 둔 keyword 리스트가 있는데, 그 리스트에 아무런 내용이 없다는 뜻입니다.
조치 : 개발자에게 신속히 상황 전달 및 원인 분석을 요청합니다.
참고
이러한 경우는 절대 발생할 수 없으며, 발생해서도 안됩니다.
[#5000] ini 파일을 읽을 수 없습니다.
Err.FailToReadIniFile
에러 : INI 파일을 읽을 수 없습니다.
조치 : 서버에 다음의 경로에 파일이 있는지 확인
C:\ ADFSadapter \ ADFSadapter.ini
참고
만일, 파일이 있다면, 파일 속성 또는 권한 확인합니다.
[#5001] 시스템명칭(API_SYSTEMNAME)이 ini 에 없습니다.
Err.NoSystemNameInIni
에러 : INI 파일에 "API_SYSTEMNAME" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5002] claim1(MAIN_CLAIM1)이 ini 에 없습니다.
Err.NoClaim1InIni
에러 : INI 파일에 "MAIN_CLAIM1" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5003] claim2(MAIN_CLAIM2)가 ini 에 없습니다.
Err.NoClaim2InIni
에러 : INI 파일에 "MAIN_CLAIM2" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5004] ini 파일이 존재하지 않습니다.
Err.IniFileNotFound
에러 : 서버에서 MFA 환경설정 INI 파일을 찾을 수 없습니다.
조치 : 서버에 다음의 경로에 파일이 있는지 확인
C:\ ADFSadapter \ ADFSadapter.ini
[#5005] ini 리스트에 AddToList() 실패했습니다.
Err.FailToAddIniList
에러 : adapter 내부 에러입니다.
조치 : 개발자에게 신속히 상황 전달 및 원인 분석을 요청합니다.
참고
이러한 경우는 절대 발생할 수 없으며, 발생해서도 안됩니다.
[#5006] ini 파일에서 읽어온 key, value가 아무것도 없습니다.
Err.NoKeyValueInIni
에러 : INI 파일을 읽었으나, key, value 조합으로 설정된 것이 전혀 없습니다.
조치 : INI 파일 내용을 확인힙니다.
[#5007] LDAP 서버 정보가 ini 에 없습니다. (LDAP_SERVER)
Err.NoLdapServerValueInIni
에러 : INI 파일에 "LDAP_SERVER" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5008] MFA API URL이 ini 에 없습니다. (MFA_API_URL)
Err.NoMfaApiUrlValueInIni
에러 : INI 파일에 "MFA_API_URL" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5009] Consumer Key 값이 ini 에 없습니다. (CONSUMER_KEY)
Err.NoConsumerKeyValueInIni
에러 : INI 파일에 "CONSUMER_KEY" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5010] Secret Key 값이 ini 에 없습니다. (SECRET_KEY)
Err.NoSecretKeyValueInIni
에러 : INI 파일에 "SECRET_KEY" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5011] Cache Attribute 값이 ini 에 없습니다. (CACHE_ATTRIBUTE)
Err.NoCacheAttributeValueInIni
에러 : INI 파일에 "CACHE_ATTRIBUTE" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5012] Cache Delimeter 값이 ini 에 없습니다. (CACHE_DELIMETER)
Err.NoCacheDelimeterValueInIni
에러 : INI 파일에 "CACHE_DELIMETER" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5013] Skew Seconds 값이 ini 에 없습니다. (SKEW_SECONDS)
Err.NoSkewSecondsValueInIni
에러 : INI 파일에 "SKEW_SECONDS" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5014] Token expiration time 값이 ini 에 없습니다. (TOKEN_EXP_TIME)
Err.NoTokenExpTimeInIni
에러 : INI 파일에 "TOKEN_EXP_TIME" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5015] Cache life time 값이 ini 에 없습니다. (CACHE_LIFE_TIME)
Err.NoCacheLifeTimeInIni
에러 : INI 파일에 "CACHE_LIFE_TIME" 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#5016] 사용자 정보 claim 리스트가 ini 에 없습니다. (USERINFO_##)
Err.NoUserinfoListInIni
reserved (예약된 에러 코드이며, 향후 사용 예정)
[#5017] LDAP 연결시 id/pw 사용하도록 설정되어 있으나(LDAP_USE_IDPW=1), LDAP id 또는 pw가 ini 에 없습니다. (LDAP_ID, LDAP_PW)
Err.NoLdapIdPwInIni
에러 : LDAP 접속시 id/pw 사용하도록 설정되어 있으나, INI 파일에 LDAP_ID, LDAP_PW 설정 값이 없습니다.
조치 : INI 전체적으로 누락된 것이 없는지, INI 가 구버전의 것인지 등을 확인힙니다.
[#6000] AD(LDAP)에서 사용자 정보를 검색하는 과정에 Exception이 발생했습니다.
Err.ExceptionInAD
에러 : LDAP 서버에 Query를 헀으나, 그 과정 중에 Exception이 발생했습니다.
조치 : INI에 설정한 AD 서버 주소가 정확한지 확인해봅니다. 그리고, AD 서버 상태를 확인해봅니다.
참고
이벤트 로그에 있는 자세한 Exception 내용을 개발자에게 전달합니다.
[#6001] AD(LDAP)에서 사용자 정보를 찾을 수 없습니다.
Err.CannotFindUserInAD
에러 : LDAP 서버에 Query를 헀으나, AD 사용자 정보를 가져오지 못했습니다.
조치 : AD 서버 상태를 확인해봅니다.
참고
Token 구성에 mobile, email 정보가 필요한데, 이 정보들을 가져올때 실패한 것입니다. 사용자 정보가 존재한다면, mobile, email이 빈 값이어도 에러로 처리하지 않습니다. 그래서, 본 에러가 발생한 것은 LDAP Query 자체가 안된다고 보면 됩니다
사용자 에러 메시지
MFA 진행 과정에 에러가 발생하면, 사용자 PC 화면에 에러 메시지를 표시합니다.
에러 메시지는 “Internal error occurred. Contact administrator.” 로 고정되어 있으며, 다음 라인에 에러코드가 함께 표시됩니다.
아래는 에러코드에 대한 원인과 조치방법에 대한 설명입니다. ※ 사용자 에러 메시지 이외의 서버 내부처리 과정의 이벤트 로그 참고
ErrorCode : 0001
* Err.IdentityClaimHasNoAccount
* 함수 호출시 인자(arguments)가 잘 못 되었음
* 사용자에게 보여주는 에러는 아님
+ → 혹시 보인다면, 개발자에게 문의
+ → 이 시점의 서버 이벤트 로그를 봐야 함
ErrorCode : 1000
* Err.IdentityClaimHasNoAccount
* "identityClaim 에서 계정정보(account)를 추출할 수 없습니다."
* adapter 실행 초기에 AD 서버로부터 현재 사용자의 정보를 받는데, account 정보를 찾을 수 없음
* LDAP에서 Query 하는 것이 아니라, ADFS 내부적으로 처리되는 정보 흐름으로서,
+ 이 상황이 발생하면 adapter가 정상 동작할 수 없는 환경이라고 보면 됨
* AD 서버 상태를 먼저 확인해 볼 것
ErrorCode : 1001
* Err.FailToLoadIni
* 서버에서 MFA 환경설정 INI 파일을 읽을 수 없음
* 서버에 다음의 경로에 파일이 있는지 확인
+ C:\ ADFSadapter \ ADFSadapter.ini
* 만일, 파일이 있다면, 파일 속성 또는 권한 확인
ErrorCode : 1002
* Err.FailToLoadHtml
* 서버에서 HTML 파일을 읽을 수 없음
* 서버에 다음의 경로에 파일이 있는지 확인
+ C:\ ADFSadapter \ Html_*.txt
* 만일, 파일이 있다면, 파일 속성 또는 권한 확인
* 1개라도 없으면 에러 발생함 → 어떤 것이 누락되었는지는 서버 이벤트 로그에서 알 수 있음
ErrorCode : 1003
* Err.FailToLdapSearch
* "LDAP에서 사용자 정보를 가져올 수 없습니다."
* LDAP 서버에 Query를 헀으나, AD 사용자 정보를 가져오지 못함
* Token 구성에 mobile, email 정보가 필요한데, 이 정보들을 가져올때 실패하였음
* mobile, email이 빈 값이어도 에러로 처리하지 않음
* 그래서, 본 에러가 발생한 것은 LDAP Query 자체가 안된다고 보면 됨
ErrorCode : 1004
* Err.NoURLInRequest
* "BeginAuthentication 함수의 request에 URL 정보가 없습니다."
* Adapter 실행 초기에 실행되는 BeginAuthentication 함수의 인자 request에 URL 정보가 없음
* URL 정보가 없으면, SingleID MFA API 서버가 GET 방식으로 전송한 response를 사용할 수 없음
* SingleID MFA API 서버가 정상적으로 response를 보내는지 확인 필요
ErrorCode : 1005
* Err.FailToMakeJwtToken
* "JWT token 생성을 할 수 없습니다."
* GenerateRequestToken 함수가 token 생성에 실패하였음
* 정확한 원인은 서버 이벤트 로그에서 확인
ErrorCode : 1006
* Err.CannotFindDirOrIni
* "JWT token 생성을 할 수 없습니다."
* ADFSadapter 디렉토리 또는 INI 파일을 찾을 수 없음
* adapter 버전 1.2.0.6 부터 adapter 설치 위치가 C 드라이브 고정이 아닌 C to Z 드라이브 중의 한 곳에 설치할 수 있으며,
+ adapter는 C to Z 드라이브 스캔을 통해서 설치된 위치를 알아냄
* [drive]:/ADFSadapter/ADFSadapter.ini 파일이 존재해야 함
* 서버에 adapter 설치가 제대로 되었는지, 디렉토리명과 파일명이 정확한지 확인
* 드라이브 억세스가 막혀있는지 확인
ErrorCode : 2000
* Err.TryEndHasNoAccount
* "TryEndAuthentication()에 계정정보(account)가 없습니다."
* TryEndAuthentication 단계로 넘어왔으나, 계정 정보를 알 수 없음
* 이러한 경우는 절대 발생할 수 없음 (발생하였다면, 개발자에게 문의)
ErrorCode : 2001
* Err.NoStepInfo
* MFA 진행 단계(step) 정보가 없음
* 상세 정보와 원인은 서버의 이벤트 로그를 확인할 것
ErrorCode : 2002
* Err.InvalidStepInfo
* MFA 진행 단계(step) 정보가 잘 못 되었음
* 상세 정보와 원인은 서버의 이벤트 로그를 확인할 것
ADFS 로그인 페이지 수정
onload.js 편집
배경
MFA를 여러 개 설정한 경우, 사용자는 아래와 같은 선택 화면을 보게 됩니다.
화면을 처음 보는 상황에서는(MFA를 아직 완료하지 않음), 이 화면에서 선택이 필요합니다.
ADFS 로그인 페이지 수정
문제점은, MFA를 거친 후에 선택 화면이 다시 표시된다는 것이며, 사용자가 선택하는 행위를 다시 해줘야 합니다.
이는 사용자 불편 사항이 되며, 두번째 선택에 다른 MFA를 선택하면 원치않은 결과가 나올 것입니다.
MFA가 완료된 후에 위의 선택 화면이 나올때, 자동으로 넘어가는 기능이 필요합니다. (auto submit)
이를 위해서, ADFS에 이미 존재하는 onload.js 파일의 내용을 편집하는 것입니다.
Multi MFA가 아닌 경우에는 onload.js 파일 편집이 필요없습니다.
파일 경로
AD 서버의 아래 경로에 존재합니다.
디렉토리 = C:/default_WebTheme/script
파일명 = onload.js
파일 편집
파일 내용의 끝부분에 아래의 스크립트를 추가합니다.
주의
아래 예시의 Script Text를 복사 붙여넣기로 사용하면 안됩니다.
다국어 메시지가 아래 Text에서는 정상적으로 입력이 안되어 있습니다.
정상적인 Script Text가 포함된 파일을 별도로 준비하여야 합니다.
onload.js 는 UTF-8로 저장되어야 합니다.
// ------------------------------------------ SingleID MFA : begin
function singleidMfa() {
var authOptions = document.getElementById('authOptions')
if (authOptions) {
var noticeflag = document.getElementById('mfaGreeting');
var url = document.location.href;
var isToken = url.indexOf('jwtTokenResponse');
if (noticeflag && isToken < 1) {
var browserLang = navigator.language || navigator.userLanguage;
// 다국어 처리
// 한국어
if (lang == 'ko-KR' || lang == 'ko') {
document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ 신규 복합인증솔루션 테스트 중 (13:00~15:00) <br/> 'My Authentication Provider' 메뉴를 이용해주세요. </h3>";
}
// 중국어
else if (lang == "zh" || lang.indexOf("zh-") > -1) {
document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ 正在??新的?合??解?方案 (13:00~15:00) <br/> ?登? 'My Authentication Provider' 菜?。 </h3>";
}
// 베트남어
else if (lang == "vi") {
document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ đang ki?m tra gi?i phap xac th?c k?t h?p m?i (13:00~15:00) <br/> Xin vui long đ?ng nh?p vao trinh đ?n 'My Authentication Provider'. </h3>";
}
// 스페인어
else if (lang == "es" || lang.indexOf("es-") > -1) {
document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ Prueba de una nueva solucion de autenticacion compleja (13:00~15:00) <br/> Inicie sesion en el menu 'My Authentication Provider'. </h3>";
}
// 영어
else {
document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ Testing a new MFA solution (13:00~15:00) <br/> Please use 'My Authentication Provider' menu. </h3>";
}
}
var opt = document.getElementById('optionSelection');
if (opt && isToken > 0) {
opt.value = 'ADFSadapter';
document.forms['options'].submit();
}
}
}
window.addEventListener('load', function () {
singleidMfa();
});
// ------------------------------------------ SingleID MFA : end
스크립트의 기능
페이지의 컨트롤 중에 authOptions 가 있는 경우에 해당됩니다.
페이지 load가 모두 완료된 이후에 동작하는 방식입니다. (그 전에 실행되면 에러가 발생하기 때문)
window.addEventListener 를 이용해서 load 이벤트에 추가 (window.onload 이벤트와 동일)
Case 1 : 컨트롤 중에 mfaGreeting 이 있고, URL에 jwtTokenResponse 가 없는 경우 브라우저 언어 설정에 맞추어 사용자 안내 메시지 출력 (다국어)
Case 2 : 컨트롤 중에 optionSelection 이 있고, URL에 jwtTokenResponse 가 있는 경우 optionSelection 에 ADFSadapter를 할당하고, options form을 강제로 submit 처리
스크립트 추가시 주의 사항
기존 스크립트에 영향을 주지 않고 관리가 용이하도록, 스크립트의 마지막 부분에 넣는 것이 안전합니다.
onload.js 적용
onload.js 파일을 수정 반영하여 ADFS Sign-in Page customization 가능
주의
악성스크립트로 오탐 가능한 명령어가 포함되어있어, 실제 입력하셔야 하는 명령어와 다르게 표기된 명령어가 있습니다.
-ON-LOADScriptPath 는 실제로 다음의 명령어이니 혼선 없으시길 바랍니다.
적용 방법
현황 확인
PS> Get-AdfsWebConfig ## 적용된(활성화 상태인) WebTheme 확인
PS> Get-AdfsWebTheme ## 생성된 WebTheme 리스트 확인
테마 적용
테마 적용 방법 1) default 테마에서 새로 만들기
PS> New-AdfsWebTheme -Name "custom_stg" -SourceName default ## 새로운 WebTheme 생성
PS> Set-AdfsWebTheme -TargetName "custom_stg" -Illustration @{Path="C:\adfs_Login_dev\illustration\image_0624\8.jpg"} -Logo @{Path="C:\adfs_Login_dev\images\logo.png"} -StyleSheet @{Path="C:\adfs_Login_dev\css\style.css"} -ON-LOADScriptPath "C:\adfs_Login_dev\script\ON-LOAD_new.js" ## custom 한 js 파일 적용
테마 적용 방법 2) 전자 테마에서 업데이트 하기
PS> New-AdfsWebTheme -Name "custom_stg" -SourceName [전자테마] ## 새로운 WebTheme 생성
PS > Set-AdfsWebTheme -TargetName "custom_stg" -OnLoadScriptPath "C:\adfs_Login_dev\script\onload_stg.js" ## custom 한 js 파일 적용
그림. 테마 적용
※ 테마 적용 방법 1), 2) 방법 서버 명령어 캡쳐본. Confluence 정리 시 OnLoad 명령어가 자동 변경되어 캡처본 첨부
PS> Set-AdfsWebConfig -ActiveThemeName "custom_stg" ## 생성된 WebTheme 활성화
기존 테마 복구
PS> Set-AdfsWebConfig -ActiveThemeName "default" ## 기존 WebTheme 활성화
참고
하나의 WebTheme 에는 custom js 파일 하나만 적용 가능
MS에도 문의하였으나, 공식적으로 한 개의 onload.js 파일만 적용 가능하며, 추가적으로 제시한 방법은 적용 안됨
“the ON-LOAD.js is an integrated part of the HTML (the last script in the body) which always executes when the ADFS Page is loaded
There can be only one named ON-LOAD.JS per Web theme.
What is possible though is that additional ('external') scripts can be loaded as part of the actual ON-LOAD.js execution
let’s say in a specific part of your ON-LOAD.JS you want to load a bootstap.js which implements additional functionality
you would firstly import that additional JS to the webpage as AdditionalFileResource //it should not be named ON-LOAD.js
eg
Set-AdfsWebTheme -TargetName custom -AdditionalFileResource @{Uri='/adfs/portal/script/bootstrap.js';path="c:\theme\script\bootstrap.js"}
then you implement a loading functionality in the ON-LOAD.js which dynamically loads your additional script as needed”
주의사항 : 단 1개의 드라이브에만 설치해야 하며, 만일 여러 개의 드라이브에 설치된 경우 C to Z 스캔하면서 가장 먼저 발견된 디렉토리를 사용함
아래의 예시는, adapter를 C:\ADFSadapter 디렉토리에 설치한 경우입니다. C 이외의 다른 드라이브에 설치한 경우, 아래의 예시에서 드라이브명(drive letter)만 변경하면 됩니다.
예시: D:\ADFSadapter 에 설치한 경우 ini 경로 → D:\ADFSadapter\ADFSadapter.ini
파일명 및 경로
파일명: ADFSadapter.ini
전체 경로: C:\ADFSadapter\ADFSadapter.ini
파일 인코딩: 반드시 UTF-8 로 저장할 것 (한글이 깨짐현상 발생)
알아두어야 할 점
* 값을 표현할때 "와" 를 사용할 수 있으며 = 좌우에 빈칸을 입력해도 됩니다.
+ Value 의 앞뒤에 있는 공백은 Trim 처리 됩니다.
+ 아래의 Value는 모두 동일함
+ 예1) MAIN_TITLE = DWP MFA Adapter
+ 예2) MAIN_TITLE = DWP MFA Adapter
+ 예3) MAIN_TITLE = "DWP MFA Adapter"
+ 예4) MAIN_TITLE = " DWP MFA Adapter "
* 섹션 이름들 중에 뒷부분에 -1033, -1042 가 붙는 것들은 locale 을 의미합니다.
+ 최소한 1033 은 반드시 있어야 합니다.
+ locale number : 1033 (en-us), 1042 (ko)
+ locale section : MFA-1033, MFA-1042, TXT-1033, TXT-1042, MSG-1033, MSG-1042
ini 파일 구조 예시
아래의 설정 값 예시 중에 보안 목적으로 masking 한 값들이 있으며, 실제 값은 asterisk 가 아닙니다.
# ADFS MFA Adapter 환경 설정
# 설치위치 변경 사항
# - v1.2.0.6 이전 : C:\ADFSadapter\ADFSadapter.ini
# - v1.2.0.6 부터 : C 이외의 다른 드라이브에 설치할 수 있음 (adapter 리소스 설치한 위치와 동일)
# 예시: C:\ADFSadapter\ADFSadapter.ini , D:\ADFSadapter\ADFSadapter.ini , E:\ADFSadapter\ADFSadapter.ini
# 주의 : DLL 파일명은 ADFSadapter.dll 이며, 기존의 Nexsign 연계한 MFAadapter.dll과는 다름
# 값을 표현할때 " 와 ' 를 사용할 수 있으며 = 좌우에 빈칸을 입력해도 됩니다
# Value 의 앞뒤에 있는 공백은 Trim 처리 됩니다.
# 아래의 Value는 모두 동일합니다.
# 예1) MAIN_TITLE=ADFS MFA Adapter
# 예2) MAIN_TITLE = ADFS MFA Adapter
# 예3) MAIN_TITLE = "ADFS MFA Adapter"
# 예4) MAIN_TITLE = " ADFS MFA Adapter "
# 섹션 이름들 중에 뒷부분에 -1033, -1042 가 붙는 것들은 locale 을 의미합니다
# 최소한 1033 은 반드시 있어야 합니다
# locale number : 1033 (en-us), 1042 (ko)
# locale section : MFA-1033, MFA-1042, TXT-1033, TXT-1042, MSG-1033, MSG-1042
# LOG_LEVEL (Windows 이벤트 로그에 기록하는 기준)
# 0 : Error
# 1 : Error + Warning
# 2 : Error + Warning + Information + Debug
[MAIN]
MAIN_MFA_TITLE="ADFS MFA Adapter"
MAIN_CLAIM1=http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
MAIN_CLAIM2=http://schemas.microsoft.com/ws/2012/12/authmethod/otp
# MFA API 정보
# URL 끝부분에 "/" 붙이지 말 것
#MFA_API_URL="https://stg2-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request"
MFA_API_URL="https://stg1-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request"
CONSUMER_KEY="**************************************"
SECRET_KEY="**************************************"
# Donmain vs Consumer Key 리스트
# 도메인별로 Consumer Key가 다른 경우에는 리스트로 나열 (이런 경우, 위의 CONSUMER_KEY 값을 비울 것)
# Reqeust Token의 sys 값에 대입
# 형태 : DOMAIN_CONSUMER_KEY_##=domain;consumerKey
# 예시: DOMAIN_CONSUMER_KEY_01=aaa.com;**************************************
# DOMAIN_CONSUMER_KEY_02=bbb.com;**************************************
# (주의) CONSUMER_KEY 값과 리스트 값이 모두 있다면, CONSUMER_KEY 값만 사용함
DOMAIN_CONSUMER_KEY_01=aaa.com;**************************************
DOMAIN_CONSUMER_KEY_02=bbb.com;**************************************
# Donmain vs Secret Key 리스트
# 도메인별로 Secret Key가 다른 경우에는 리스트로 나열 (이런 경우, 위의 SECRET_KEY 값을 비울 것)
# 형태 : DOMAIN_SECRET_KEY_##=domain;secretKey
# 예시: DOMAIN_SECRET_KEY_01=aaa.com;**************************************
# DOMAIN_SECRET_KEY_02=bbb.com;**************************************
# (주의) SECRET_KEY 값과 리스트 값이 모두 있다면, SECRET_KEY 값만 사용함
DOMAIN_SECRET_KEY_01=aaa.com;**************************************
DOMAIN_SECRET_KEY_02=bbb.com;**************************************
# LDAP Search 결과에 따른, MFA 진행 여부
# 0 : LDAP Search를 하지 않음 (아래의 LDAP_SERVER, LDAP_USE_IDPW, ... 등의 정보 사용하지 않음. token에는 빈 값 대입)
# 1 : LDAP Search를 시도하지만 실패해도 관계없음 (서버 실패, 정보 없음 등이 발생하여도 MFA 진행함. token에는 빈 값 대입)
# 2 : LDAP Search가 성공 & 사용자 정보가 존재해야 함 (사용자 정보가 존재할 경우에만 진행함. 단, 결과 값이 빈 값이어도 진행함)
USE_LDAP_SEARCH=1
# LDAP 주소와 ID/PW
# LDAP_SERVER는 domain, ipv4, ipv6 등의 3가지 모두 가능하며, 앞부분에 대문자 "LDAP://" 을 붙여야 함 (반드시 대문자)
# 예시: LDAP://adpw5004.hw.dev , LDAP://70.2.180.218 , LDAP://fe80::644b:3c9f:c5ac:ce1c%10
# ID/PW를 사용하려면 LDAP_USE_IDPW 값을 1, 사용하지 않으려면 LDAP_USE_IDPW 값을 0 으로 설정
# SSL/TLS 사용하려면 LDAP_SSLTLS 값을 1, 사용하지 않으려면 LDAP_SSLTLS 값을 0 으로 설정 (단, LDAP_USE_IDPW=1 인 경우에만 해당)
LDAP_SERVER="LDAP://adpw5004.hw.dev"
LDAP_USE_IDPW=1
LDAP_SSLTLS=1
LDAP_ID="isadmin"
LDAP_PW="sds*****"
# DNS Lookup을 하여 LDAP 서버(LDAP_SERVER)의 IP 주소를 확인하고, IP 주소 기반으로 접속 여부
# LDAP_SERVER 값이 IP(ipv4, ipv6)로 설정되어 있어도 DNS Lookup을 수행하며, IP 그대로 리턴됨
# 만약, DNS Lookup을 실패하면, LDAP_SERVER 값 그대로 접속
# 0 : LDAP_SERVER 값 그대로 서버에 접속 (DNS lookup 하지 않음)
# 1 : DNS lookup으로 IP 주소를 확인하여 LDAP 서버에 접속 (DNS lookup 결과 리스트에서 첫번째 IP 사용)
# 2 : DNS lookup으로 IP 주소를 확인하고, LDAP_WHITE_IP_## 리스트에서 가장 먼저 해당되는 IP를 사용 (리스트에 없으면, LDAP_SERVER 사용)
# 3 : DNS lookup으로 IP 주소를 확인하고, LDAP_WHITE_IP_## 리스트에서 가장 먼저 해당되는 IP를 사용 (리스트에 없으면, LDAP 접속 안함)
LDAP_DNS_LOOKUP=1
# DNS Lookup 결과가 여러 개일때, 첫번째 IP 주소로 연결이 안되면 그 다음 IP 주소로 시도할지 여부
# 예시: lookup 결과가 4개 : 1차 IP 연결 실패 -> 2차 IP 연결 시도 & 싪패 -> 3차 IP 연결 시도 & 싪패 -> 4차 IP 연결 시도
LDAP_DNS_IF_FAIL_USE_NEXT=1
# DNS Lookup 결과와 비교하는 접속 허용된 LDAP 서버 IP 리스트 (LDAP_DNS_LOOKUP = 2 or 3 인 경우에만 해당)
# LDAP_WHITE_IP_## 형태이며, 01부터 99까지 순차적으로 기록
# DNS Lookup 결과와 리스트를 순차적으로 비교
# IPv4, IPv6 형태로 기록 (동일한 서버의 IPv4, IPv6가 있다면 리스트의 앞순위에 있는 IP가 적용됨)
# DNS Lookup 결과 순서와 White IP 리스트 순서가 다르다면 -> White IP 리스트 순서를 따름
LDAP_WHITE_IP_01="70.2.180.218"
LDAP_WHITE_IP_02="fe80::644b:3c9f:c5ac:ce1c%10"
# 사용자 정보를 암호화할지 여부 (예: mobile, email 등)
# 대상 : USERINFO_## 리스트
# 암호화 여부에 따라 API 서버에 전송하는 token의 claim 이름이 다름
# 0 : 암호화 하지 않음 -> token의 claim 이름이 plainMobile, plainEmail
# 1 : 암호화 -> token의 claim 이름이 mobile, email
USERINFO_ENCRYPT=0
# LDAP Search할 사용자 정보 attribute name과 JWT token에 사용할 claim name (2개 값을 구분하는 delimeter = ";")
# 형태: USERINFO_## = attribute;encryptedClaim;plainClaim
# 예시: LDAP에서 "mail" 속성을 읽어서, JWT에 "email" claim으로 사용된다면 -> "mail;email;plainEmail"
# key 명칭은 "USERINFO_##" 형태로 하고, 시작은 USERINFO_01
# key 갯수 : 0개 ~ 최대 99개 (0개인 경우, ini에 아무것도 적지 않으면 되며, USERINFO_00 이라고 적지 말 것)
# 주의사항) USERINFO_##에서 ## 에 해당되는 숫자는 반드시 01부터 시작하며, 여러 개인 경우 번호가 끊어지지 않아야 함
# USERINFO_01, USERINFO_02, USERINFO_03 : OK (01, 02, 03 정보가 사용됨)
# USERINFO_01, USERINFO_02, USERINFO_05 : 02까지 읽고, 끊어진 번호 이후는 사용하지 않음 (01, 02 정보가 사용됨)
USERINFO_01=mobile;mobile;plainMobile
USERINFO_02=mail;email;plainEmail
# MFA API 서버가 Callback 해줄때, 결과 Parameter에 사용되는 Key 이름
# 예시: https://adpw5004.hw.dev/adfs/ls?client-request-id=xxxxxx&pullStatus=0&jwtTokenResponse=yyyyyy
KEY_NAME_IN_RESPONSE="jwtTokenResponse"
# JWT Token의 exp에 적용될 더하기 값
# 형테 : 일시분초(dhms) 형태의 문자열 -> 1d=86400, 1h=3600, 1m=60 (dhms 가 전혀 없는 단순 숫자는 초로 판단함)
# 예시1 : 1d02h38m27s -> 95907 초
# 예시2 : 12345 -> 12345 초
TOKEN_EXP_TIME=1d
# API 호출할때 구성하는 token에 client claim을 추가할지 여부
# client : SAML인 경우 issuer, OIDC인 경우 client-id
# 0 : token에 client 포함시키지 않음
# 1 : token에 client 포함
TOKEN_CLAIM_CLIENT=0
# MFA nonce(guid, requset-id) 검증 방법
# 0 : 검증 안함
# 1 : adapter가 생성한 guid를 LDAP에 저장/비교하는 방식 (adapter가 검증)
# -> 관련 설정 값 : CACHE_ATTRIBUTE, CACHE_DELIMETER, SKEW_SECONDS, CACHE_LIFE_TIME
# 2 : API 서버가 생성한 requeset-id를 adapter가 받아서 호출 URL에 사용하는 방식 (API 서버가 검증)
# -> 관련 설정 값 : MFA_VERIFY_URL
MFA_VERIFY_TYPE=2
# MFA 결과검증 URL (서버 to 서버 통신) : URL 뒷부분에 API 서버로부터 받은 {request-id}를 덧붙여서 호출함
# adapter는 리턴 200 (OK) 인지 확인하여 MFA 결과 처리
# URL 끝부분에 "/" 붙이지 말 것
MFA_VERIFY_URL="https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status"
# MFA 결과검증할때 사용할 보안 프로토콜
# 선택 가능한 프로토콜 (대소문자 구분 없음) : TLS12, TLS13
# (주의) SSL3, TLS, TLS11 은 사용하지 않음
MFA_VERIFY_SECURE_PROTOCOL="TLS12"
# 사용자의 req guid 값을 저장할 LDAP attribute의 이름
# (주의) LDAP에 write 권한이 있어야 함
CACHE_ATTRIBUTE="otherPager"
# LDAP에 저장하는 req + 시간 정보를 조합할때 사용하는 delimeter -> "req;시간"
CACHE_DELIMETER=";"
# LDAP에 저장된 req의 시간과 JWT 수신시 시간의 차이 허용치 (초단위)
# MFA 선택화면 누를 때가 아니라, AD 로그인 직후의 시간이므로 (MFA 선택화면 보일때 이미 시간이 저장되었음)
# 사용자가 MFA 선택화면 누르고 Passcode 입력할 때까지의 시간이 아님
# 따라서, tight 하게 시간을 설정하면 안되며, 1시간 정도가 적당?? (MFA 선택을 1시간 고민하는 사람이 있나?)
SKEW_SECONDS=3600
# LDAP에 저장된 req의 수명 -> 다음 access시 시간 확인해서 이전의 오래된 것들 삭제
# 형태 : 일시분초(dhms) 형태의 문자열 -> 1d=86400, 1h=3600, 1m=60 (dhms 가 전혀 없는 단순 숫자는 초로 판단함)
# 예시1 : 1d02h38m27s -> 95907 초
# 예시2 : 12345 -> 12345 초
CACHE_LIFE_TIME=1d
# Adapter 기능을 ByPass 할 것인지 여부 (0=정상 사용, 283901=무력화, 그 외 값들=정상 사용)
# MFA 기능 문제로 급하게 adapter 기능의 무력화가 필요한 비상 상황에서 사용
# 평상시에는 절대로 수정하지 말 것 -> 평상시 값은 0
# 주의 : 무력화하려면 반드시 정확한 값을 설정해야 함 (0 이외의 숫자가 해당되는 것이 아니며 정확한 숫자 필요함. noise 우려)
BYPASS_ADAPTER=0
[API]
API_SYSTEMNAME=SingleID
[MSG-1033]
MSG_INTERNAL_ERROR="Internal error occurred. Contact administrator."
[MSG-1042]
MSG_INTERNAL_ERROR="Internal error occurred. Contact administrator."
[MANAGE]
LOG_LEVEL=2
설정 값 설명
값 고정 : 하단 테이블의 설정 값 컬럼에 표시된 값을 ADFS 서버에 설치시에도 그대로 사용한다는 의미합니다.
영문, 한국어 이외의 언어를 추가하고자 한다면, 2개 Section에 대해서는 추가가 가능합니다.