2.9.2. 배포할 수 있는 이미지 소스 제어
원하는 이미지가 실제로 배포되고 포함된 콘텐츠를 포함하는 이미지가 신뢰할 수 있는 소스의 이미지이며 변경되지 않은 것이 중요합니다. 암호화 서명을 사용하면 이를 보장할 수 있습니다. OpenShift Container Platform을 사용하면 클러스터 관리자는 배포 환경 및 보안 요구 사항을 반영하여 광범위하거나 한정된 보안 정책을 적용할 수 있습니다. 이 정책을 정의하는 매개변수는 다음 두 가지입니다.
- 선택적 프로젝트 네임스페이스가 있는 레지스트리 하나 이상
- 공개 키 수락, 거부 또는 필수와 같은 신뢰 유형
이러한 정책 매개변수를 사용하여 전체 레지스트리, 레지스트리 일부 또는 개별 이미지의 신뢰 관계를 허용, 거부 또는 필수로 지정할 수 있습니다. 신뢰할 수 있는 공개 키를 사용하면 암호화 방식으로 소스를 확인할 수 있습니다. 정책 규칙은 노드에 적용됩니다. 정책은 모든 노드에 균일하게 적용되거나 다른 노드 워크로드(예 : 빌드, 영역 또는 환경)를 대상으로 할 수 있습니다.
이미지 서명 정책 파일 예
{
"default": [{"type": "reject"}],
"transports": {
"docker": {
"access.redhat.com": [
{
"type": "signedBy",
"keyType": "GPGKeys",
"keyPath": "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release"
}
]
},
"atomic": {
"172.30.1.1:5000/openshift": [
{
"type": "signedBy",
"keyType": "GPGKeys",
"keyPath": "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release"
}
],
"172.30.1.1:5000/production": [
{
"type": "signedBy",
"keyType": "GPGKeys",
"keyPath": "/etc/pki/example.com/pubkey"
}
],
"172.30.1.1:5000": [{"type": "reject"}]
}
}
}
정책은 /etc/containers/policy.json으로 노드에 저장될 수 있습니다. 이 파일을 노드에 저장할 때는 새로운 MachineConfig 오브젝트를 사용하는 것이 가장 좋습니다. 이 예에서는 다음 규칙을 적용합니다.
-
Red Hat 공개 키로 Red Hat Registry(
registry.access.redhat.com)의 이미지에 서명해야 합니다. -
openshift네임스페이스에 있는 OpenShift Container Registry의 이미지에 Red Hat 공개 키로 서명해야 합니다. -
production네임스페이스에 있는 OpenShift Container Registry의 이미지에example.com의 공개 키로 서명해야 합니다. -
글로벌
default정의로 지정되지 않은 다른 모든 레지스트리는 거부됩니다.