5.2. 프록시 인증서

5.2.1. 목적

프록시 인증서를 사용하면 송신 연결을 만들 때 플랫폼 구성요소에서 사용하는 하나 이상의 사용자 정의 인증 기관(CA) 인증서를 지정할 수 있습니다.

Proxy 오브젝트의 trustedCA 필드는 사용자 제공 신뢰할 수 있는 인증 기관(CA) 번들을 포함하는 구성 맵에 대한 참조입니다. 이 번들은 RHCOS(Red Hat Enterprise Linux CoreOS) 신뢰 번들과 병합되어 송신 HTTPS 호출을 수행하는 플랫폼 구성요소의 신뢰 저장소에 삽입됩니다. 예를 들어 image-registry-operator에서 이미지를 다운로드하도록 외부 이미지 레지스트리를 호출합니다. trustedCA를 지정하지 않으면 프록시 HTTPS 연결에 RHCOS 신뢰 번들만 사용됩니다. 자체 인증서 인프라를 사용하려면 RHCOS 신뢰 번들에 사용자 정의 CA 인증서를 제공합니다.

trustedCA 필드는 프록시 유효성 검증기만 사용해야 합니다. 유효성 검증기를 통해서는 필수 키 ca-bundle.crt에서 인증서 번들을 읽고 openshift-config-managed 네임스페이스의 trusted-ca-bundle이라는 구성 맵에 복사해야 합니다. trustedCA에서 참조하는 구성 맵의 네임스페이스는 openshift-config입니다.

apiVersion: v1
kind: ConfigMap
metadata:
  name: user-ca-bundle
  namespace: openshift-config
data:
  ca-bundle.crt: |
    -----BEGIN CERTIFICATE-----
    Custom CA certificate bundle.
    -----END CERTIFICATE-----
추가 리소스

5.2.2. 설치 중 프록시 인증서 관리

설치 프로그램 구성의 additionalTrustBundle 값은 설치 중 프록시 신뢰 CA 인증서를 지정하는 데 사용됩니다. 예를 들면 다음과 같습니다.

$ cat install-config.yaml

출력 예

...
proxy:
  httpProxy: http://<https://username:password@proxy.example.com:123/>
  httpsProxy: https://<https://username:password@proxy.example.com:123/>
	noProxy: <123.example.com,10.88.0.0/16>
additionalTrustBundle: |
    -----BEGIN CERTIFICATE-----
   <MY_HTTPS_PROXY_TRUSTED_CA_CERT>
    -----END CERTIFICATE-----
...

5.2.3. 위치

사용자 제공 신뢰 번들은 구성 맵으로 표시됩니다. 구성 맵은 송신 HTTPS 호출을 수행하는 플랫폼 구성 요소의 파일 시스템에 마운트됩니다. 일반적으로 Operator는 구성 맵을 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem에 마운트하지만 프록시에는 필요하지 않습니다. 프록시는 HTTPS 연결을 수정하거나 검사할 수 있습니다. 두 경우 모두 프록시는 연결을 위해 새 인증서를 생성하고 서명해야 합니다.

완전한 프록시 지원이란 지정된 프록시에 연결하고 생성된 서명을 신뢰한다는 의미입니다. 따라서 사용자가 신뢰할 수 있는 루트를 지정하고 이 신뢰할 수 있는 루트에 연결된 인증서 체인도 신뢰할 수 있게 해야 합니다.

RHCOS 신뢰 번들을 사용하는 경우 /etc/pki/ca-trust/source/anchors에 CA 인증서를 둡니다.

자세한 정보는 Red Hat Enterprise Linux 설명서에서 공유 시스템 인증서 사용을 참조하십시오.

5.2.4. 만료

사용자가 사용자 제공 신뢰 번들의 만료 기간을 설정합니다.

기본 만료 기간은 CA 인증서 자체를 통해 정의됩니다. OpenShift Container Platform 또는 RHCOS에서 사용하기 전에 인증서에 맞게 기본 만료 기간을 구성하는 것은 CA 관리자의 책임입니다.

참고

Red Hat에서는 CA 만료 시점을 모니터링하지 않습니다. 그러나 CA의 수명이 길기 때문에 일반적으로 문제가 되지 않습니다. 그러나 신뢰 번들을 정기적으로 업데이트해야 할 수도 있습니다.

5.2.5. 서비스

기본적으로 송신 HTTPS 호출을 수행하는 모든 플랫폼 구성요소에서는 RHCOS 신뢰 번들을 사용합니다. trustedCA가 정의된 경우에도 사용됩니다.

RHCOS 노드에서 실행 중인 모든 서비스는 노드의 신뢰 번들을 사용할 수 있습니다.

5.2.6. 관리

이러한 인증서는 사용자가 아닌 시스템에서 관리합니다.

5.2.7. 사용자 정의

사용자 제공 신뢰 번들 업데이트는 다음 중 하나로 구성됩니다.

  • trustedCA에서 참조하는 구성 맵에서 PEM 인코딩 인증서 업데이트
  • 새 신뢰 번들이 포함된 네임스페이스 openshift-config에 구성 맵을 생성하고 새 구성 맵 이름을 참조하도록 trustedCA 업데이트

RHCOS 신뢰 번들에 CA 인증서를 작성하는 메커니즘은 다른 파일을 RHCOS에 작성하는 방법과 같습니다. 이 방법은 머신 구성을 사용하여 수행됩니다. MCO(Machine Config Operator)에서 새 CA 인증서가 포함된 새로운 머신 구성을 적용하면 노드가 재부팅됩니다. 다음 번 부팅 중에 coreos-update-ca-trust.service 서비스는 RHCOS 노드에서 실행되며 새 CA 인증서를 사용하여 신뢰 번들을 자동으로 업데이트합니다. 예를 들면 다음과 같습니다.

apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: worker
  name: 50-examplecorp-ca-cert
spec:
  config:
    ignition:
      version: 3.1.0
    storage:
      files:
      - contents:
          source: data:text/plain;charset=utf-8;base64,LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVORENDQXh5Z0F3SUJBZ0lKQU51bkkwRDY2MmNuTUEwR0NTcUdTSWIzRFFFQkN3VUFNSUdsTVFzd0NRWUQKV1FRR0V3SlZVekVYTUJVR0ExVUVDQXdPVG05eWRHZ2dRMkZ5YjJ4cGJtRXhFREFPQmdOVkJBY01CMUpoYkdWcApBMmd4RmpBVUJnTlZCQW9NRFZKbFpDQklZWFFzSUVsdVl5NHhFekFSQmdOVkJBc01DbEpsWkNCSVlYUWdTVlF4Ckh6QVpCZ05WQkFNTUVsSmxaQ0JJWVhRZ1NWUWdVbTl2ZENCRFFURWhNQjhHQ1NxR1NJYjNEUUVKQVJZU2FXNW0KWGpDQnBURUxNQWtHQTFVRUJoTUNWVk14RnpBVkJnTlZCQWdNRGs1dmNuUm9JRU5oY205c2FXNWhNUkF3RGdZRApXUVFIREFkU1lXeGxhV2RvTVJZd0ZBWURWUVFLREExU1pXUWdTR0YwTENCSmJtTXVNUk13RVFZRFZRUUxEQXBTCkFXUWdTR0YwSUVsVU1Sc3dHUVlEVlFRRERCSlNaV1FnU0dGMElFbFVJRkp2YjNRZ1EwRXhJVEFmQmdrcWhraUcKMHcwQkNRRVdFbWx1Wm05elpXTkFjbVZrYUdGMExtTnZiVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUApCRENDQVFvQ2dnRUJBTFF0OU9KUWg2R0M1TFQxZzgwcU5oMHU1MEJRNHNaL3laOGFFVHh0KzVsblBWWDZNSEt6CmQvaTdsRHFUZlRjZkxMMm55VUJkMmZRRGsxQjBmeHJza2hHSUlaM2lmUDFQczRsdFRrdjhoUlNvYjNWdE5xU28KSHhrS2Z2RDJQS2pUUHhEUFdZeXJ1eTlpckxaaW9NZmZpM2kvZ0N1dDBaV3RBeU8zTVZINXFXRi9lbkt3Z1BFUwpZOXBvK1RkQ3ZSQi9SVU9iQmFNNzYxRWNyTFNNMUdxSE51ZVNmcW5obzNBakxRNmRCblBXbG82MzhabTFWZWJLCkNFTHloa0xXTVNGa0t3RG1uZTBqUTAyWTRnMDc1dkNLdkNzQ0F3RUFBYU5qTUdFd0hRWURWUjBPQkJZRUZIN1IKNXlDK1VlaElJUGV1TDhacXczUHpiZ2NaTUI4R0ExVWRJd1FZTUJhQUZIN1I0eUMrVWVoSUlQZXVMOFpxdzNQegpjZ2NaTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnR0dNQTBHQ1NxR1NJYjNEUUVCCkR3VUFBNElCQVFCRE52RDJWbTlzQTVBOUFsT0pSOCtlbjVYejloWGN4SkI1cGh4Y1pROGpGb0cwNFZzaHZkMGUKTUVuVXJNY2ZGZ0laNG5qTUtUUUNNNFpGVVBBaWV5THg0ZjUySHVEb3BwM2U1SnlJTWZXK0tGY05JcEt3Q3NhawpwU29LdElVT3NVSks3cUJWWnhjckl5ZVFWMnFjWU9lWmh0UzV3QnFJd09BaEZ3bENFVDdaZTU4UUhtUzQ4c2xqCjVlVGtSaml2QWxFeHJGektjbGpDNGF4S1Fsbk92VkF6eitHbTMyVTB4UEJGNEJ5ZVBWeENKVUh3MVRzeVRtZWwKU3hORXA3eUhvWGN3bitmWG5hK3Q1SldoMWd4VVp0eTMKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
        mode: 0644
        overwrite: true
        path: /etc/pki/ca-trust/source/anchors/examplecorp-ca.crt

머신의 신뢰 저장소는 노드의 신뢰 저장소 업데이트도 지원해야 합니다.

5.2.8. 갱신

RHCOS 노드에서 인증서를 자동 갱신할 수 있는 Operator가 없습니다.

참고

Red Hat에서는 CA 만료 시점을 모니터링하지 않습니다. 그러나 CA의 수명이 길기 때문에 일반적으로 문제가 되지 않습니다. 그러나 신뢰 번들을 정기적으로 업데이트해야 할 수도 있습니다.