メインコンテンツまでスキップ

3) SKMS 앱 등록

MASTER-TENANT 앱 등록

설명
  • SKMS는 클라이언트에게 서비스를 제공하기 위해 Security365 인증/인가 서비스와 유기적으로 동작한다.
  • 이를 위해 앱에 대한 기본적인 정보를 Security365 앱 서비스에 등록 해야 한다. (수동 작업)

master-tenant에 앱(서비스) 등록

  • SKMS가 인증/인가 서비스 API를 사용하기 위한 앱 등록
  • SKMS는 멀티 테넌트(회사)를 지원할 예정이므로 master-tenant에 등록한다. (최초 1번)
skms_master_appRegi
  • 앱 서비스 이름 : SKMS
  • 인증 타입 : client_credentials
  • 인증/인가 API를 사용하기 위해 접근 범위(scope) 필수 설정<br/>ClientAppInfo.ReadWrite, PolicyInfo.ReadWrite, UserInfo.ReadWrite, CompanyInfo.Read
  • Notify 설정 : 전체 회사 리스트의 공개키 캐싱 및 master-tenant에 등록한 앱서비스의 built-in 프로파일 업데이트를 위해 사용
  • Notify URL : http://cloud-skms-service.dev.svc.cluster.local/api
  • Notify target : company, profile

등록 완료 후 표시되는 앱 서비스 ID 및 Secret key는 SKMS Deploy 시 ConfigMap의 해당하는 키의 값으로 입력

  • 앱 서비스 Secret key는 최초에만 확인이 가능하므로 별도 저장 필요(중요)
skms_master_idSecret

<b>[ConfigMap 입력 항목]</b>

  • CUSTOM_AUTH_SERVICE_EXTRA : mater-tenant 의 회사ID (tenant ID)
  • CUSTOM_APP_TENANT_ID : master-tenant에 등록된 앱 서비스 ID(client id) 값 입력
  • CUSTOM_APP_TENANT_SECRET : master-tenant에 등록된 앱 서비스 Secret key 값 입력
  • AZURE_INFO : AZURE 공통 앱 ID|SECRET(파이프 구분자)<br/>예) 7e82e70d-4386-419d-9dfd-6c8d6e6068fc|LBd8Q~.aDAmOjOhZSbcgu.sakTgSPrb_zNPxrbuM

master-tenant의 정책 프로파일 설정

  • master-tenant에 등록된 속성은 모든 회사에 자동으로 생성 된다.
  • BUILT-IN-PROFILE 메뉴에서 master-tenant 선택 후 프로파일 속성 값의 Key만 입력한다. (대문자 입력)
  • TENANT_APP_ID : 회사별 APP_ID
  • TENANT_APP_SECRET : 회사별 APP_SECRET
  • DS_KEY_ENCRYPTION_KEY : 보안 취약점 대응으로 암복호화용 키 생성 시 사용됨
    • 해당 정책은 Value 입력 필요(고정값) : CwI3FmhjG01Qd28JV3IreA==
    • SKMS 서비스 실행 시 자동으로 추가됨

회사 별 앱 등록

신규 추가된 회사에 앱(서비스) 등록

  • 추가된 회사가 SKMS 서비스를 사용하기 위한 앱 등록
  • SKMS를 사용하려는 회사별로 앱 등록이 필요
skms_company_appRegi
  • 앱 서비스 이름 : SKMS
  • 인증 타입 : authorization_code, client_credentials
  • Redirect URL : https://{서버ip:port}/api/oauth/loginCallback/{회사 company_id(테넌트ID)}
  • 인증/인가 API를 사용하기 위해 접근 범위(scope) 필수 설정<br/>PolicyInfo.ReadWrite
  • Notify 설정 : 등록한 앱서비스의 built-in 프로파일 업데이트를 위해 사용
  • Notify URL : http://cloud-skms-service.dev.svc.cluster.local/api
  • Notify target : profile

등록 완료 후 표시되는 앱 서비스 ID 및 Secret key는 각 회사별 정책 프로파일 관리 > BUILT-IN-PROFILE 탭 메뉴에서 사용

  • 등록 후 생성된 App Secret은 최초에만 확인이 가능하므로 별도 저장 필요(중요)

  • 앱 사용을 위해 앱 서비스 관리 > 회사 선택 > SKMS 앱 서비스 사용 활성화 필수

신규 추가된 회사의 정책 프로파일 설정

  • BUILT-IN-PROFILE 메뉴에서 신규 회사 선택 후 프로파일 속성 값의 Value를 입력한다.
skms_company_builtIn
  • TENANT_APP_ID : 회사 앱 등록 시 발급받은 APP_ID
  • TENANT_APP_SECRET : 회사 앱 등록 시 발급받은 APP_SECRET
  • EDGE_KMS_URL : EDGE 서버 사용 시 키볼트 URL 정보 입력(https://devkms.softcamp.co.kr)
  • EDGE_EKMS_URL : EDGE 서버 사용 시 EKMS URL 정보 입력(https://devekms.softcamp.co.kr)

등록된 회사의 빌트인 프로파일 정책 설명

  • Key : TENANT_APP_ID
  • Information
회사 별 App Id
  • Value
70ce0461-264c-4506-809c-2f2088b5730e
  • Key : TENANT_APP_SECRET
  • Information
회사 별 App Secret
  • Value
JicqKismISYkIi0mKiQtKCosJiolKSQjJyomJi0jJCs
  • Key : KEY_MANAGER_INFO
  • Information
암호 키 관리 페이지 설정 정보
key_type : 키매니저 키타입 (사용안함)
execute_time : 스케줄러 실행 시간(24시간 단위)
sl_uid : 키매니저 SL_UID
service_id : SCI 서비스 아이디
renewal_cycle : 스케줄러 실행 주기 (현재 24만 수행)
server_ip : SCI 서버 아이피
regist_ip : 등록된 서버 IP
key_count : 키볼트 데이터 저장 후 처리된 키 카운트 (총 16자리로 "|" 로 구분)
총합계|성공합계|실패합계|중복합계|
MAC합계|MAC성공|MAC실패|MAC중복|
DAC합계|DAC성공|DAC실패|DAC중복|
GRADE합계|GRADE성공|GRADE실패|GRADE중복
server_port : SCI 서버 포트
  • Value
{
"key_type": "0",
"execute_time": "5",
"sl_uid": "SL2307120000000",
"renewal_cycle": "24",
"service_id": "03",
"server_ip": "10.50.10.201",
"regist_ip": "10.20.10.91",
"key_count": "117|0|0|117|9|0|0|9|105|0|0|105|3|0|0|3",
"server_port": "62000"
}
  • Key : KEY_UPDATE_TIME
  • Information
첫번째 자리 : 키볼트에 키 정보 업데이트 시간 millisecond (UTC 기준)
두번째 자리 : 키볼트에 키 정보 저장 시 소요 시간 millisecond
  • Value
1663574932538|11705
  • Key : KEY_VAULT_OPTION
  • Information
키파일/키볼트 사용 여부
E : RSA키파일, M : 키볼트
  • Value
M
  • Key : CONNECTOR_INFO
  • Information
각 회사 별 연동 서비스 정보 - 마스터 테넌트의 빌트인프로파일에 저장됨
  • Value
[
"{\"ecLicense\":\"1CF4-70CE6-9D5D-72C5C\",\"systemDomain\":\"TEST\",
\"systemNameEn\":\"TEST\",\"systemDetail\":\"\",\"connectorUseAvailable\":true,
\"updateDate\":\"2022-11-17 07:31:05\",
\"companyId\":\"ks69wQjL-emPAibk0-bOZxzcnw-pUXBi5iK\"}"
,.............
]
  • Key : DS_KEY_ENCRYPTION_KEY
  • Information
보안 취약점 대응으로 고객사 별 암복호화용 키 생성 시 사용됨
SCI 서버 커스텀 정책에 등록된 값과 동일하게 입력
  • Value
CwI3FmhjG01Qd28JV3IreA==
  • Key : EDGE_KMS_URL
  • Information
EDGE 서버의 키볼트 URL 정보
  • Value
https://devkms.softcamp.co.kr
  • Key : EDGE_EKMS_URL
  • Information
EDGE 서버의 EKMS URL 정보
  • Value
https://devekms.softcamp.co.kr