7.12. 언더클라우드 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 Platform에 제공하려면 inject-trust-anchor-hiera.yaml 파일에 CA 인증서를 추가합니다.

이 예에서는 /home/stack/ca.crt.pem에 있는 자체 서명 인증서를 사용합니다. 자동 생성 인증서를 사용하는 경우 대신 /etc/pki/ca-trust/source/anchors/cm-local-ca.pem을 사용하십시오.

절차

  1. 인증서 파일을 열고 인증서 부분만 복사합니다. 키를 포함하지 마십시오.

    $ vi /home/stack/ca.crt.pem

    필요한 인증서 부분은 다음의 단축된 예와 비슷합니다.

    -----BEGIN CERTIFICATE-----
    MIIDlTCCAn2gAwIBAgIJAOnPtx2hHEhrMA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV
    BAYTAlVTMQswCQYDVQQIDAJOQzEQMA4GA1UEBwwHUmFsZWlnaDEQMA4GA1UECgwH
    UmVkIEhhdDELMAkGA1UECwwCUUUxFDASBgNVBAMMCzE5Mi4xNjguMC4yMB4XDTE3
    -----END CERTIFICATE-----
  2. 다음 내용으로 /home/stack/inject-trust-anchor-hiera.yaml이라는 새 YAML 파일을 만들고, PEM 파일에서 복사한 인증서를 추가합니다.

    parameter_defaults:
      CAMap:
        undercloud-ca:
          content: |
            -----BEGIN CERTIFICATE-----
            MIIDlTCCAn2gAwIBAgIJAOnPtx2hHEhrMA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV
            BAYTAlVTMQswCQYDVQQIDAJOQzEQMA4GA1UEBwwHUmFsZWlnaDEQMA4GA1UECgwH
            UmVkIEhhdDELMAkGA1UECwwCUUUxFDASBgNVBAMMCzE5Mi4xNjguMC4yMB4XDTE3
            -----END CERTIFICATE-----
참고

인증서 문자열이 PEM 포멧을 따라야 합니다.

참고

CAMap 매개변수에는 SSL/TLS 구성과 관련된 다른 인증서가 포함될 수 있습니다.

오버클라우드를 배포하는 동안 director가 CA 인증서를 각 오버클라우드 노드에 복사하므로, 각 노드가 언더클라우드의 SSL 엔드포인트에서 제공하는 암호화를 신뢰하게 됩니다. 환경 파일에 대한 자세한 내용은 7.15절. “오버클라우드 배포에 환경 파일 포함”을 참조하십시오.