6.10. 언더클라우드 CA를 신뢰하는 환경 파일 생성
언더클라우드가 TLS를 사용하고 CA(인증 기관)가 공개적으로 신뢰되지 않은 경우, 언더클라우드가 수행하는 SSL 엔드포인트 암호화에 CA를 사용할 수 있습니다. 배포의 나머지 부분에서 언더클라우드 엔드포인트에 액세스할 수 있게 하려면 언더클라우드 CA를 신뢰하도록 오버클라우드 노드를 설정합니다.
이 방법이 성공하려면 오버클라우드 노드에 언더클라우드의 공용 엔드포인트에 대한 네트워크 경로가 있어야 합니다. 스파인-리프형 네트워킹을 사용하는 배포에는 이 구성을 적용해야 합니다.
다음은 언더클라우드에서 사용할 수 있는 두 가지 유형의 사용자 지정 인증서입니다.
-
사용자 제공 인증서 - 이 정의는 사용자가 고유 인증서를 제공한 경우에 적용됩니다. 고유 CA의 인증서이거나 자체 서명된 인증서일 수 있습니다.
undercloud_service_certificate
옵션을 사용하여 전달됩니다. 이 경우 배포에 따라 자체 서명된 인증서 또는 CA를 신뢰해야 합니다. -
자동 생성 인증서 - 이 정의는
certmonger
를 사용하여 자체 로컬 CA를 사용하여 인증서를 생성하는 경우에 적용됩니다.undercloud.conf
파일의generate_service_certificate
옵션을 사용하여 활성화됩니다. 이 예제에서 director는/etc/pki/ca-trust/source/anchors/cm-local-ca.pem
에 CA 인증서를 생성하고, 서버 인증서를 사용하도록 언더클라우드의 HAProxy 인스턴스를 구성합니다. 이 인증서를 OpenStack에 제공하려면inject-trust-anchor-hiera.yaml
파일에 CA 인증서를 추가합니다.
이 예에서는 /home/stack/ca.crt.pem
에 있는 자체 서명 인증서를 사용합니다. 자동 생성 인증서를 사용하는 경우 대신 /etc/pki/ca-trust/source/anchors/cm-local-ca.pem
을 사용하십시오.
절차
인증서 파일을 열고 인증서 부분만 복사합니다. 키를 포함하지 마십시오.
$ vi /home/stack/ca.crt.pem
필요한 인증서 부분은 다음의 단축된 예와 비슷합니다.
-----BEGIN CERTIFICATE----- MIIDlTCCAn2gAwIBAgIJAOnPtx2hHEhrMA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV BAYTAlVTMQswCQYDVQQIDAJOQzEQMA4GA1UEBwwHUmFsZWlnaDEQMA4GA1UECgwH UmVkIEhhdDELMAkGA1UECwwCUUUxFDASBgNVBAMMCzE5Mi4xNjguMC4yMB4XDTE3 -----END CERTIFICATE-----
다음 내용으로
/home/stack/inject-trust-anchor-hiera.yaml
이라는 새 YAML 파일을 만들고, PEM 파일에서 복사한 인증서를 추가합니다.parameter_defaults: CAMap: ... undercloud-ca: content: | -----BEGIN CERTIFICATE----- MIIDlTCCAn2gAwIBAgIJAOnPtx2hHEhrMA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV BAYTAlVTMQswCQYDVQQIDAJOQzEQMA4GA1UEBwwHUmFsZWlnaDEQMA4GA1UECgwH UmVkIEhhdDELMAkGA1UECwwCUUUxFDASBgNVBAMMCzE5Mi4xNjguMC4yMB4XDTE3 -----END CERTIFICATE-----
참고인증서 문자열이 PEM 포맷을 따라야 합니다.
오버클라우드를 배포하는 동안 CA 인증서가 각 오버클라우드 노드에 복사되므로, 각 노드가 언더클라우드의 SSL 엔드포인트에서 제공하는 암호화를 신뢰하게 됩니다. 환경 파일에 대한 자세한 내용은 6.13절. “오버클라우드 배포에 환경 파일 포함”을 참조하십시오.