12.3. OpenShift CLI를 사용하여 이미지 서명 확인
oc adm verify-image-signature
명령을 사용하여 OpenShift Container Registry로 가져온 이미지의 서명을 확인할 수 있습니다. 이 명령은 공개 GPG 키를 사용하여 서명 자체를 확인하여 이미지 서명에 포함된 이미지 ID를 신뢰할 수 있는지 여부를 확인하고 제공된 예상 ID와 지정된 이미지의 ID(pull spec)와 일치시킵니다.
기본적으로 이 명령은 경로 ~/.gnupg 에 있는 공개 GPG 인증 키를 $GNUPGHOME/pubring.gpg 에 사용합니다. 기본적으로 이 명령은 확인 결과를 이미지 오브젝트로 다시 저장하지 않습니다. 이렇게 하려면 다음과 같이 --save
플래그를 지정해야 합니다.
이미지 서명을 확인하려면 사용자에게 image-auditor
클러스터 역할이 있어야 합니다. 클러스터 관리자는 다음을 사용하여 이를 추가할 수 있습니다.
$ oc adm policy add-cluster-role-to-user system:image-auditor <user_name>
잘못된 GPG 키 또는 유효하지 않은 ID와 함께 이미 확인된 이미지에 --save
플래그를 사용하면 저장된 확인 상태와 모든 서명이 제거되고 이미지가 확인되지 않습니다.
모든 서명을 실수로 삭제하지 않도록 하려면 --save
플래그 없이 명령을 실행하고 잠재적인 문제가 있는지 로그를 확인할 수 있습니다.
이미지 서명을 확인하려면 다음 형식을 사용합니다.
$ oc adm verify-image-signature <image> --expected-identity=<pull_spec> [--save] [options]
<pull_spec>
은 이미지 스트림을 설명하여 찾을 수 있습니다. 이미지 스트림 태그를 설명하여 <image>
를 찾을 수 있습니다. 다음 예제 명령 출력을 참조하십시오.
이미지 서명 확인 예
$ oc describe is nodejs -n openshift Name: nodejs Namespace: openshift Created: 2 weeks ago Labels: <none> Annotations: openshift.io/display-name=Node.js openshift.io/image.dockerRepositoryCheck=2017-07-05T18:24:01Z Docker Pull Spec: 172.30.1.1:5000/openshift/nodejs ... $ oc describe istag nodejs:latest -n openshift Image Name: sha256:2bba968aedb7dd2aafe5fa8c7453f5ac36a0b9639f1bf5b03f95de325238b288 ... $ oc adm verify-image-signature \ sha256:2bba968aedb7dd2aafe5fa8c7453f5ac36a0b9639f1bf5b03f95de325238b288 \ --expected-identity 172.30.1.1:5000/openshift/nodejs:latest \ --public-key /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \ --save
oc adm verify-image-signature
명령에서 알 수 없는 기관 오류로 서명된 x509: certificate signed
를 반환하는 경우 시스템에서 신뢰할 수 있는 CA 목록에 레지스트리의 CA(인증 기관)를 추가해야 할 수 있습니다. 다음 단계를 수행하여 이 작업을 수행할 수 있습니다.
클러스터에서 클라이언트 시스템으로 CA 인증서를 전송합니다.
예를 들어 docker-registry.default.svc 의 CA를 추가하려면 /etc/docker/certs.d/docker-registry.default.svc\:5000/node-client-ca.crt 에 있는 파일을 전송합니다.
CA 인증서를 /etc/pki/ca-trust/source/anchors/ 디렉터리에 복사합니다. 예를 들면 다음과 같습니다.
# cp </path_to_file>/node-client-ca.crt \ /etc/pki/ca-trust/source/anchors/
update-ca-trust
를 실행하여 신뢰할 수 있는 CA 목록을 업데이트합니다.# update-ca-trust