Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

6.9. 언더클라우드 CA를 신뢰하도록 오버클라우드 노드 구성

언더클라우드에서 TLS를 사용하고 CA가 공개적으로 신뢰되지 않은 경우 다음 절차를 따라야 합니다. 언더클라우드는 SSL 끝점 암호화에 대해 자체 CA(인증 기관)를 작동합니다. 배포의 나머지 부분에서 언더클라우드 엔드포인트에 액세스할 수 있도록 하려면 언더클라우드 CA를 신뢰하도록 오버클라우드 노드를 구성합니다.

참고

이 방법이 작동하려면 오버클라우드 노드에 언더클라우드의 공용 엔드포인트에 대한 네트워크 경로가 필요합니다. 스파인-리프형 네트워킹을 사용하는 배포에는 이 구성을 적용해야 합니다.

언더클라우드 인증서 이해

언더클라우드에서 사용할 수 있는 사용자 정의 인증서에는 사용자 제공 인증서 및 자동 생성된 인증서의 두 가지 유형이 있습니다.

  • 사용자 제공 인증서 - 이 정의는 사용자가 고유 인증서를 제공한 경우에 적용됩니다. 고유 CA의 인증서이거나 자체 서명된 인증서일 수 있습니다. undercloud_service_certificate 옵션을 사용하여 전달됩니다. 이 경우 배포에 따라 자체 서명된 인증서 또는 CA를 신뢰해야 합니다.
  • 자동 생성 인증서 - 이 정의는 certmonger 를 사용하여 자체 로컬 CA를 사용하여 인증서를 생성할 때 적용됩니다. 이는 generate_service_certificate 옵션을 사용하여 활성화됩니다. 이 경우 CA 인증서(/etc/pki/ca-trust/source/anchors/cm-local-ca.pem)가 있으며 언더클라우드의 HAProxy 인스턴스에서 사용하는 서버 인증서가 있습니다. 이 인증서를 OpenStack에 제공하려면 inject-trust-anchor-hiera.yaml 파일에 CA 인증서를 추가해야 합니다.

undercloud_service_certificategenerate_service_certificate 옵션의 설명 및 사용은 4.9절. “director 설정 매개변수” 을 참조하십시오.

언더클라우드에서 사용자 정의 인증서 사용

이 예에서는 /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:
        overcloud-ca:
          content: |
            -----BEGIN CERTIFICATE-----
            MIIDlTCCAn2gAwIBAgIJAOnPtx2hHEhrMA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV
            BAYTAlVTMQswCQYDVQQIDAJOQzEQMA4GA1UEBwwHUmFsZWlnaDEQMA4GA1UECgwH
            UmVkIEhhdDELMAkGA1UECwwCUUUxFDASBgNVBAMMCzE5Mi4xNjguMC4yMB4XDTE3
            -----END CERTIFICATE-----
        undercloud-ca:
          content: |
            -----BEGIN CERTIFICATE-----
            MIIDlTCCAn2gAwIBAgIJAOnPtx2hHEhrMA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV
            BAYTAlVTMQswCQYDVQQIDAJOQzEQMA4GA1UEBwwHUmFsZWlnaDEQMA4GA1UECgwH
            UmVkIEhhdDELMAkGA1UECwwCUUUxFDASBgNVBAMMCzE5Mi4xNjguMC4yMB4XDTE3
            -----END CERTIFICATE-----
    참고

    인증서 문자열이 PEM 포멧을 따라야 하며 content 매개변수 내에서 올바른 YAML 들여쓰기를 사용해야 합니다.

오버클라우드 배포 중에 CA 인증서가 각 오버클라우드 노드에 복사되어 언더클라우드의 SSL 끝점에서 제공하는 암호화를 신뢰하게 됩니다. 환경 파일을 포함하는 방법에 대한 자세한 내용은 6.12절. “오버클라우드 생성에 환경 파일 포함” 을 참조하십시오.