12장. 끝점 구성
YAML 구성 파일을 사용하여 RHACS(Red Hat Advanced Cluster Security for Kubernetes)의 엔드포인트를 구성하는 방법을 알아봅니다.
YAML 구성 파일을 사용하여 노출된 엔드포인트를 구성할 수 있습니다. 이 구성 파일을 사용하여 Kubernetes용 Red Hat Advanced Cluster Security에 대한 끝점을 하나 이상 정의하고 각 끝점에 대한 TLS 설정을 사용자 지정하거나 특정 엔드포인트에 대해 TLS를 비활성화할 수 있습니다. 클라이언트 인증이 필요한지 여부와 허용할 클라이언트 인증서를 정의할 수도 있습니다.
12.1. 사용자 정의 YAML 구성
Red Hat Advanced Cluster Security for Kubernetes는 YAML 구성을 ConfigMap
으로 사용하므로 구성을 보다 쉽게 변경하고 관리할 수 있습니다.
사용자 정의 YAML 구성 파일을 사용하는 경우 각 끝점에 대해 다음을 구성할 수 있습니다.
-
HTTP
,gRPC
또는 둘 다와 같이 사용할 프로토콜입니다. - TLS를 활성화 또는 비활성화합니다.
- 서버 인증서를 지정합니다.
- 클라이언트 인증을 신뢰하는 클라이언트 인증 기관(CA)입니다.
-
mTLS
(클라이언트 인증서 인증)가 필요한지 여부를 지정합니다.
구성 파일을 사용하여 설치 중 또는 Kubernetes용 Red Hat Advanced Cluster Security의 기존 인스턴스에서 끝점을 지정할 수 있습니다. 그러나 기본 포트 8443
이외의 추가 포트를 노출하는 경우 해당 추가 포트에서 트래픽을 허용하는 네트워크 정책을 생성해야 합니다.
다음은 Red Hat Advanced Cluster Security for Kubernetes의 샘플 endpoints.yaml
구성 파일입니다.
# Sample endpoints.yaml configuration for Central. # # # CAREFUL: If the following line is uncommented, do not expose the default endpoint on port 8443 by default. # # This will break normal operation. # disableDefault: true # if true, do not serve on :8443 1 endpoints: 2 # Serve plaintext HTTP only on port 8080 - listen: ":8080" 3 # Backend protocols, possible values are 'http' and 'grpc'. If unset or empty, assume both. protocols: 4 - http tls: 5 # Disable TLS. If this is not specified, assume TLS is enabled. disable: true 6 # Serve HTTP and gRPC for sensors only on port 8444 - listen: ":8444" 7 tls: 8 # Which TLS certificates to serve, possible values are 'service' (For service certificates that Red Hat Advanced Cluster Security for Kubernetes generates) # and 'default' (user-configured default TLS certificate). If unset or empty, assume both. serverCerts: 9 - default - service # Client authentication settings. clientAuth: 10 # Enforce TLS client authentication. If unset, do not enforce, only request certificates # opportunistically. required: true 11 # Which TLS client CAs to serve, possible values are 'service' (CA for service # certificates that Red Hat Advanced Cluster Security for Kubernetes generates) and 'user' (CAs for PKI auth providers). If unset or empty, assume both. certAuthorities: 12 # if not set, assume ["user", "service"] - service
- 1
- 기본 포트 번호
8443
에서 노출을 비활성화하려면true
를 사용합니다. 기본값은false
입니다.true
로 변경하면 기존 기능이 손상될 수 있습니다. - 2
- 중앙 노출을 위한 추가 끝점 목록입니다.
- 3 7
- 수신 대기할 주소 및 포트 번호입니다.
끝점
을 사용하는 경우 이 값을 지정해야 합니다. 형식 포트 , :port
또는address
를 사용하여 값을 지정할 수 있습니다. 예를 들면 다음과 같습니다.:port
-
8080
또는:8080
- 모든 인터페이스의 포트8080
에서 수신 대기합니다. -
0.0.0.0:8080
- 모든 IPv4(IPv6) 인터페이스가 아닌 포트8080
에서 수신 대기합니다. -
127.0.0.1:8080
- 로컬 루프백 장치의 포트8080
에서만 수신 대기합니다.
-
- 4
- 지정된 엔드포인트에 사용할 프로토콜입니다. 허용 가능한 값은
http
및grpc
입니다. 값을 지정하지 않으면 Central은 지정된 포트에서 HTTP 및 gRPC 트래픽을 모두 수신 대기합니다. RHACS 포털 전용 끝점을 노출하려면http
를 사용합니다. 그러나 이러한 클라이언트에 gRPC 및 HTTP가 모두 필요하므로 service-to-service 통신 또는roxctl
CLI에 끝점을 사용할 수 없습니다. 엔드포인트에 HTTP 및 gRPC 프로토콜을 모두 활성화하려면 이 키의 값을 지정하지 않는 것이 좋습니다. 엔드포인트를 Red Hat Advanced Cluster Security for Kubernetes 서비스에만 제한하려면 clientAuth 옵션을 사용합니다. - 5 8
- 이를 사용하여 엔드포인트의 TLS 설정을 지정합니다. 값을 지정하지 않으면 Red Hat Advanced Cluster Security for Kubernetes는 다음 모든 중첩된 키에 대한 기본 설정으로 TLS를 활성화합니다.
- 6
- 지정된 끝점에서 TLS를 비활성화하려면
true
를 사용합니다. 기본값은false
입니다.true
로 설정하면serverCerts
및clientAuth
에 대한 값을 지정할 수 없습니다. - 9
- 서버 TLS 인증서를 구성할 소스 목록을 지정합니다.
serverCerts
목록은 순서에 따라, 목록의 첫 번째 항목이 일치하는 SNI(서버 이름 표시)가 없는 경우 중앙에서 기본적으로 사용하는 인증서를 결정하는 것을 의미합니다. 이를 사용하여 여러 인증서를 지정할 수 있으며 Central은 SNI를 기반으로 올바른 인증서를 자동으로 선택합니다. 허용 가능한 값은 다음과 같습니다.-
Default
: 존재하는 경우 이미 구성된 사용자 정의 TLS 인증서를 사용합니다. -
Service
: Red Hat Advanced Cluster Security for Kubernetes가 생성하는 내부 서비스 인증서를 사용합니다.
-
- 10
- 이를 사용하여 TLS 사용 끝점의 클라이언트 인증서 인증 동작을 구성합니다.
- 11
- 유효한 클라이언트 인증서가 있는 클라이언트만 허용하려면
true
를 사용합니다. 기본값은false
입니다. Red Hat Advanced Cluster Security for Kubernetes 서비스에서 이 엔드포인트에 연결할 수 있도록certAuthorities
설정과 함께true
를 사용할 수 있습니다. - 12
- 클라이언트 인증서를 확인하는 CA 목록입니다. 기본값은
["service", "user"]
입니다.certAuthorities
목록은 순서 독립적이므로 이 목록에 있는 항목의 위치가 중요하지 않습니다. 또한 이를 빈 목록[]
로 설정하면 이 값을 설정되지 않은 상태로 두는 끝점의 클라이언트 인증서 인증이 비활성화됩니다. 허용 가능한 값은 다음과 같습니다.-
Service
: Red Hat Advanced Cluster Security for Kubernetes가 생성하는 서비스 인증서를 위한 CA입니다. -
User
: PKI 인증 공급자가 구성한 CA입니다.
-