4.11. 수신 인증서
4.11.1. 목적
Ingress Operator에서는 다음을 위해 인증서를 사용합니다.
- Prometheus의 지표에 대한 액세스 보안
- 경로에 대한 액세스 보안
4.11.2. 위치
Ingress Operator 및 Ingress Controller 지표에 대한 액세스를 보호하기 위해 Ingress Operator에서는 서비스 제공 인증서를 사용합니다. Operator가 service-ca
컨트롤러에서 고유 지표에 맞는 인증서를 요청하고, service-ca
컨트롤러가 metrics-tls
라는 보안의 인증서를 openshift-ingress-operator
네임스페이스에 둡니다. 또한 Ingress Operator에서 각 Ingress Controller의 인증서를 요청하고 service-ca
컨트롤러에서 router-metrics-certs-<name>
라는 보안에 인증서를 넣습니다. 여기서 <name>
은 openshift-ingress
네임스페이스의 Ingress Controller의 이름입니다.
각 Ingress Controller에는 고유 인증서를 지정하지 않는 보안 경로에 사용하는 기본 인증서가 있습니다. 사용자 정의 인증서를 지정하지 않으면 Operator에서 기본적으로 자체 서명된 인증서를 사용합니다. Operator는 자체 서명된 서명 인증서를 사용하여 생성하는 기본 인증서에 서명합니다. Operator는 이 서명 인증서를 생성하여 openshift-ingress-operator
네임스페이스의 router-ca
라는 보안에 둡니다. Operator가 기본 인증서를 생성하고 openshift-ingress
네임스페이스의 router-certs-<name>
라는 보안에 기본 인증서를 둡니다(여기서 <name>
은 Ingress Controller의 이름임).
사용자가 사용자 정의 기본 인증서를 구성할 때까지 Ingress Operator가 자리 표시자로 사용될 Ingress Controller의 기본 인증서를 생성합니다. 프로덕션 클러스터에서는 operator가 생성한 기본 인증서를 사용하지 마십시오.
4.11.3. 워크플로
그림 4.1. 사용자 정의 인증서 워크플로
그림 4.2. 기본 인증서 워크플로
defaultCertificate
필드가 비어 있으면 Ingress Operator에서 자체 서명된 CA를 사용하여 지정된 도메인의 제공 인증서를 생성합니다.
Ingress Operator에서 생성한 기본 CA 인증서 및 키. Operator 생성 기본 제공 인증서에 서명하는 데 사용합니다.
기본 워크플로에서는 Ingress Operator가 작성하고 생성된 기본 CA 인증서를 사용하여 서명한 와일드카드 기본 제공 인증서입니다. 사용자 정의 워크플로에서 이 인증서는 사용자 제공 인증서입니다.
라우터 배포. secrets/router-certs-default
의 인증서를 기본 프론트 엔드 서버 인증서로 사용합니다.
기본 워크플로에서 와일드카드 기본 제공 인증서(공용 및 개인용 부분)의 콘텐츠가 여기에 복사되므로 OAuth 통합이 가능합니다. 사용자 정의 워크플로에서 이 인증서는 사용자 제공 인증서입니다.
기본 제공 인증서의 공용(인증서) 부분입니다. configmaps/router-ca
리소스를 교체합니다.
사용자는 ingresscontroller
제공 인증서에 서명한 CA 인증서로 클러스터 프록시 구성을 업데이트합니다. 그러면 auth
, console
및 레지스트리와 같은 구성요소가 제공 인증서를 신뢰할 수 있습니다.
사용자 번들이 제공되지 않은 경우 RHCOS(Red Hat Enterprise Linux CoreOS) 및 사용자 제공 CA 번들 또는 RHCOS 전용 번들을 포함하는 클러스터 전체의 신뢰할 수 있는 CA 번들입니다.
사용자 정의 인증서로 구성된 ingresscontroller
를 신뢰하도록 다르 구성요소(예: auth
및 console
)에 지시하는 사용자 정의 CA 인증서 번들입니다.
trustedCA
필드는 사용자 제공 CA 번들을 참조하는 데 사용됩니다.
Cluster Network Operator에서 신뢰할 수 있는 CA 번들을 proxy-ca
구성 맵에 삽입합니다.
OpenShift Container Platform 4.12 및 최신 버전은 default-ingress-cert
를 사용합니다.
4.11.4. 만료
Ingress Operator 인증서의 만료 기간은 다음과 같습니다.
-
service-ca
컨트롤러가 생성하는 메트릭 인증서의 만료 날짜는 생성일로부터 2년입니다. - Operator 서명 인증서의 만료 날짜는 생성일로부터 2년입니다.
- Operator가 생성하는 기본 인증서의 만료 날짜는 생성일로부터 2년입니다.
Ingress Operator 또는 service-ca
컨트롤러에서 생성하는 인증서에 사용자 정의 만료 기간을 지정할 수 없습니다.
Ingress Operator 또는 Service-CA
컨트롤러가 생성하는 인증서에 맞게 OpenShift Container Platform을 설치하면 만료 조건을 지정할 수 없습니다.
4.11.5. 서비스
Prometheus에서는 메트릭을 보호하는 인증서를 사용합니다.
Ingress Operator에서는 서명 인증서를 사용하여 사용자 정의 기본 인증서를 설정하지 않은 Ingress Controller용으로 생성한 기본 인증서에 서명합니다.
보안 경로를 사용하는 클러스터 구성요소는 기본 Ingress Controller의 기본 인증서를 사용할 수 있습니다.
보안 경로를 통해 클러스터로 수신할 때는 경로에서 고유 인증서를 지정하지 않는 한 경로에 액세스하는 Ingress Controller의 기본 인증서를 사용합니다.
4.11.6. 관리
수신 인증서는 사용자가 관리합니다. 자세한 내용은 기본 수신 인증서 교체 를 참조하십시오.
4.11.7. 갱신
service-ca
컨트롤러에서는 발급한 인증서가 자동으로 순환됩니다. 그러나 oc delete secret <secret>
을 사용하여 서비스 제공 인증서를 직접 순환할 수 있습니다.
Ingress Operator에서는 자체 서명 인증서 또는 생성된 기본 인증서가 순환되지 않습니다. Operator가 생성한 기본 인증서는 구성하는 사용자 정의 기본 인증서의 자리 표시자로 사용됩니다.