3) SKMS 앱 등록
MASTER-TENANT 앱 등록
설명
- SKMS는 클라이언트에게 서비스를 제공하기 위해 Security365 인증/인가 서비스와 유기적으로 동작한다.
- 이를 위해 앱에 대한 기본적인 정보를 Security365 앱 서비스에 등록 해야 한다. (수동 작업)
master-tenant에 앱(서비스) 등록
- SKMS가 인증/인가 서비스 API를 사용하기 위한 앱 등록
- SKMS는 멀티 테넌트(회사)를 지원할 예정이므로 master-tenant에 등록한다. (최초 1번)
- 앱 서비스 이름 : 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는 최초에만 확인이 가능하므로 별도 저장 필요(중요)
<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
- 인증 타입 : 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를 입력한다.
- 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