7.2. 암호화 구성
Red Hat OpenShift 서비스 인증서 또는 사용자 정의 TLS 인증서를 사용하여 클라이언트와 Data Grid 노드 간의 연결을 암호화합니다.
7.2.1. Red Hat OpenShift Service 인증서로 암호화
Data Grid Operator는 Red Hat OpenShift 서비스 CA에서 서명한 TLS 인증서를 자동으로 생성합니다. 그런 다음 Data Grid Operator는 인증서와 키를 시크릿에 저장하므로 이를 검색하고 원격 클라이언트와 함께 사용할 수 있습니다.
Red Hat OpenShift 서비스 CA를 사용할 수 있는 경우 Data Grid Operator는 다음 spec.security.endpointEncryption
구성을 Infinispan
CR에 추가합니다.
spec: ... security: endpointEncryption: type: Service certServiceName: service.beta.openshift.io 1 certSecretName: example-infinispan-cert-secret 2
서비스 인증서는 Data Grid 클러스터의 내부 DNS 이름을 CN(일반 이름)으로 사용합니다. 예를 들면 다음과 같습니다.
제목: CN = example-infinispan.mynamespace.svc
이러한 이유로 서비스 인증서는 OpenShift 내에서만 완전히 신뢰할 수 있습니다. OpenShift 외부에서 실행 중인 클라이언트와의 연결을 암호화하려면 사용자 지정 TLS 인증서를 사용해야 합니다.
서비스 인증서는 1년 동안 유효하며 만료되기 전에 자동으로 교체됩니다.
7.2.2. TLS 인증서 검색
암호화 시크릿에서 TLS 인증서를 가져와 클라이언트 신뢰 저장소를 생성합니다.
-
다음과 같이 암호화 보안에서
tls.crt
를 검색합니다.
$ oc get secret example-infinispan-cert-secret \ -o jsonpath='{.data.tls\.crt}' | base64 --decode > tls.crt
7.2.3. 암호화 비활성화
클라이언트가 Data Grid로 연결을 설정하는 데 TLS 인증서가 필요하지 않도록 암호화를 비활성화할 수 있습니다.
Data Grid는 spec.expose.type
을 통해 OpenShift 클러스터 외부에 끝점이 노출되는 프로덕션 환경에서 암호화를 비활성화하는 것을 권장하지 않습니다.
프로세스
Infinispan
CR의spec.security.endpointEncryption.type
필드 값으로None
을 설정한 다음 변경 사항을 적용합니다.spec: ... security: endpointEncryption: type: None 1
- 1
- Data Grid 엔드포인트에 대한 암호화를 비활성화합니다.
7.2.4. 사용자 정의 TLS 인증서 사용
사용자 지정 PKCS12 키 저장소 또는 TLS 인증서/키 쌍을 사용하여 클라이언트와 데이터 그리드 클러스터 간의 연결을 암호화합니다.
프로세스
OpenShift 네임스페이스에 암호화 보안을 추가합니다. 예를 들면 다음과 같습니다.
$ oc apply -f tls_secret.yaml
Infinispan
CR에서spec.security.endpointEncryption
을 사용하여 암호화 보안을 지정한 다음 변경 사항을 적용합니다.spec: ... security: endpointEncryption: 1 type: Secret 2 certSecretName: tls-secret 3
7.2.4.1. 인증서 보안
apiVersion: v1 kind: Secret metadata: name: tls-secret type: Opaque data: tls.key: "LS0tLS1CRUdJTiBQUk ..." 1 tls.crt: "LS0tLS1CRUdJTiBDRVl ..." 2
7.2.4.2. 키 저장소 보안
apiVersion: v1 kind: Secret metadata: name: tls-secret type: Opaque stringData: alias: server 1 password: password 2 data: keystore.p12: "MIIKDgIBAzCCCdQGCSqGSIb3DQEHA..." 3