Docker 연동
- 인쇄
- PDF
Docker 연동
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
VPC 환경에서 이용 가능합니다.
도커에서 컨테이너를 생성하고 해당 컨테이너에서 호스트에 연결된 HSM을 사용하는 방법을 설명합니다.
참고
Docker 연동은 Thales 공식 문서를 기반으로 작성되었습니다. 사용 가이드에서 안내하는 내용 외에 더 많은 내용을 살펴보려면 Docker 연동 가이드를 참고해 주십시오.
도커 호스트(클라이언트) 설정
도커 호스트 서버의 경우 HSM 연결 또는 SafeNet Luna Client 사용에 언급된 설치 방법과 다른 별도의 스크립트를 사용하여 클라이언트를 설치해야 합니다.
클라이언트를 설치하고 도커에서 HSM 접속을 확인하는 방법은 다음과 같습니다.
- 호스트 서버에서 다음의 스크립트를 실행하여 클라이언트를 설치해 주십시오.
#!/bin/sh result=$(curl --location --request GET 'https://hardwaresecuritymodule.apigw.gov-ntruss.com/api/v1/client/configs') IFS=',' read -ra ADDR <<< "$result" DOWNLOAD_URL=${ADDR[5]} HSM1_URL=${ADDR[2]} HSM2_URL=${ADDR[3]} HSM3_URL=${ADDR[4]} cd ~ wget DOWNLOAD_URL tar -xf 610-000401-003_SW_Linux_Luna_Minimal_Client_V10.3.0_RevA.tar // 도커 작업 디렉터리 생성 mkdir $HOME/luna-docker mkdir $HOME/luna-docker/config mkdir $HOME/luna-docker/config/certs export ChrystokiConfigurationPath=$HOME/luna-docker/config cp LunaClient-Minimal-10.3.0-275.x86_64/Chrystoki-template.conf ~/luna-docker/config/Chrystoki.conf // HSM 서버 등록 /usr/safenet/lunaclient/bin/vtl addServer -n $HSM1_URL -c ~/LunaClient-Minimal-10.3.0-275.x86_64/cert/fin-hsm001.pem /usr/safenet/lunaclient/bin/vtl addServer -n $HSM2_URL -c ~/LunaClient-Minimal-10.3.0-275.x86_64/cert/fin-hsm002.pem /usr/safenet/lunaclient/bin/vtl addServer -n $HSM3_URL -c ~/LunaClient-Minimal-10.3.0-275.x86_64/cert/fin-hsm003.pem cd ~ rm -rf LunaClient-Minimal-10.3.0-275.x86_64
- 도커 환경에 맞게 config 파일 내부의 라이브러리 경로를 수정해 주십시오.
sed -i -e 's#\./certs#/usr/local/luna/config/certs#g' -e 's#/usr/safenet/lunaclient/lib/libCryptoki2_64.so#/usr/local/luna/libs/64/libCryptoki2.so#g' -e 's#/usr/safenet/lunaclient/lib/libSoftToken.so#/usr/local/luna/libs/64/libSoftToken.so#g' config/Chrystoki.conf
- 도커 파일을 생성해 주십시오.
- 도커 파일에서 필요한 lunaclient binary(예시의 lunacm, vtl, multitoken, ckdemo)는
/usr/safenet/lunaclient/bin
에서 작업 디렉터리로 복사해 주십시오.
FROM centos:centos7 ARG MIN_CLIENT COPY $MIN_CLIENT.tar /tmp RUN mkdir -p /usr/local/luna RUN tar xvf /tmp/$MIN_CLIENT.tar --strip 1 -C /usr/local/luna ENV ChrystokiConfigurationPath=/usr/local/luna/config COPY lunacm /usr/local/bin COPY vtl /usr/local/bin COPY multitoken /usr/local/bin COPY ckdemo /usr/local/bin ENTRYPOINT /bin/bash #End of the Dockerfile
- 도커 파일에서 필요한 lunaclient binary(예시의 lunacm, vtl, multitoken, ckdemo)는
- 도커 파일을 빌드해 주십시오.
docker build . --build-arg MIN_CLIENT=LunaClient-Minimal-V10.3.0.x86_64 -t lunaclient-image
- 빌드 결과를 확인해 주십시오.
[root@intg-server luna-docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE lunaclient-image latest 712055d395c1 2 hours ago 285MB centos centos7 8652b9f0cb4c 6 months ago 204MB
- 도커에 접속해 주십시오.
docker run -it --name lunaclient -v $PWD/config:/usr/local/luna/config lunaclient-image
- 도커 내부에서
lunacm
을 실행해 HSM 접속을 확인해 주십시오.[root@intg-server luna-docker]# docker run -it --name lunaclient -v $PWD/config:/usr/local/luna/config lunaclient-image [root@d356e4e300ac /]# [root@d356e4e300ac /]# lunacm lunacm (64-bit) v10.3.0-275. Copyright (c) 2020 SafeNet. All rights reserved. Available HSMs: Slot Id -> 0 Label -> Oracle Serial Number -> 1467067938952 Model -> LunaSA 7.7.0 Firmware Version -> 7.7.0 Bootloader Version -> 1.1.2 Configuration -> Luna User Partition With SO (PW) Key Export With Cloning Mode Slot Description -> Net Token Slot FM HW Status -> FM Ready Current Slot Id: 0
이 문서가 도움이 되었습니까?