This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.8.3.6. 입력 보안
일부 시나리오에서는 빌드 작업을 할 때 종속 리소스에 액세스하기 위한 인증서가 필요하지만 빌드에서 생성한 최종 애플리케이션 이미지에서 해당 인증서가 사용 가능한 것은 바람직하지 않습니다. 이러한 목적으로 입력 보안을 정의할 수 있습니다.
예를 들어 Node.js 애플리케이션을 빌드할 때 Node.js 모듈에 맞게 개인용 미러를 설정할 수 있습니다. 해당 프라이빗 미러에서 모듈을 다운로드하려면 URL, 사용자 이름 및 암호가 포함된 빌드에 사용할 사용자 정의 .npmrc 파일을 제공해야 합니다. 보안상의 이유로 애플리케이션 이미지에 자격 증명을 노출해서는 안 됩니다.
이 예제에서는 Node.js를 설명하지만 /etc/ssl/certs 디렉터리, API 키 또는 토큰, 라이센스 파일 등에 SSL 인증서를 추가하는 데 동일한 접근 방식을 사용할 수 있습니다.
8.3.6.1. 입력 보안 추가
기존 BuildConfig
에 입력 보안을 추가하려면 다음을 수행합니다.
보안이 없으면 다음과 같이 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic secret-npmrc \ --from-file=.npmrc=<path/to/.npmrc>
$ oc create secret generic secret-npmrc \ --from-file=.npmrc=<path/to/.npmrc>
이렇게 하면 ~/.npmrc 파일의 base64 인코딩 콘텐츠가 포함된 secret-npmrc 라는 새 보안이 생성됩니다.
다음과 같이 기존
BuildConfig
의source
섹션에 보안을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow source: git: uri: https://github.com/openshift/nodejs-ex.git secrets: - secret: name: secret-npmrc
source: git: uri: https://github.com/openshift/nodejs-ex.git secrets: - secret: name: secret-npmrc
다음 명령을 실행하여 새 BuildConfig
에 보안을 포함시킵니다.
oc new-build \ openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git \ --build-secret secret-npmrc
$ oc new-build \
openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git \
--build-secret secret-npmrc
빌드 중에 .npmrc 파일이 소스 코드가 있는 디렉터리로 복사됩니다. OpenShift Container Platform S2I 빌더 이미지에서 이 디렉터리는 Dockerfile 의 WORKDIR
명령을 사용하여 설정된 이미지 작업 디렉터리입니다. 다른 디렉터리를 지정하려면 보안 정의에 destinationDir
을 추가합니다.
source: git: uri: https://github.com/openshift/nodejs-ex.git secrets: - secret: name: secret-npmrc destinationDir: /etc
source:
git:
uri: https://github.com/openshift/nodejs-ex.git
secrets:
- secret:
name: secret-npmrc
destinationDir: /etc
새 BuildConfig
를 생성할 때 대상 디렉터리를 지정할 수도 있습니다.
oc new-build \ openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git \ --build-secret “secret-npmrc:/etc”
$ oc new-build \
openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git \
--build-secret “secret-npmrc:/etc”
두 경우 모두 빌드 환경의 /etc 디렉토리에 .npmrc 파일이 추가됩니다. Docker 전략 의 경우 대상 디렉터리는 상대 경로여야 합니다.