7장. 오버클라우드 공용 끝점에서 SSL/TLS 활성화

기본적으로 오버클라우드는 오버클라우드 서비스에 암호화되지 않은 엔드포인트를 사용합니다. 오버클라우드에서 SSL/TLS를 활성화하려면 CA(인증 기관) 솔루션을 사용하는 것이 좋습니다.

CA 솔루션을 사용하는 경우 인증서 갱신, 인증서 해지 목록(CRL) 및 업계 허용 암호화와 같은 프로덕션 준비 솔루션이 있습니다. Red Hat IdM(Identity Manager)을 CA로 사용하는 방법에 대한 자세한 내용은 Ansible을 사용하여 TLS-e 구현을 참조하십시오.

다음 수동 프로세스를 사용하여 공용 API 엔드포인트에 대해 SSL/TLS만 활성화할 수 있으며 Internal 및 Admin API는 암호화되지 않은 상태로 유지됩니다. CA를 사용하지 않는 경우 SSL/TLS 인증서도 수동으로 업데이트해야 합니다. 자세한 내용은 SSL/TLS 인증서 수동 업데이트를 참조하십시오.

사전 요구 사항

  • 공용 API의 끝점을 정의하는 네트워크 격리입니다.
  • openssl-perl 패키지가 설치되어 있습니다.
  • SSL/TLS 인증서가 있습니다. 자세한 내용은 사용자 정의 SSL/TLS 인증서 구성을 참조하십시오.

7.1. SSL/TLS 활성화

오버클라우드에서 SSL/TLS를 활성화하려면 SSL/TLS 인증서 및 개인 키에 대한 매개변수가 포함된 환경 파일을 생성해야 합니다.

절차

  1. heat 템플릿 컬렉션에서 enable-tls.yaml 환경 파일을 복사합니다.

    $ cp -r /usr/share/openstack-tripleo-heat-templates/environments/ssl/enable-tls.yaml ~/templates/.
  2. 이 파일을 편집하고 다음 매개변수를 변경합니다.

    SSLCertificate

    인증서 파일(server.crt.pem)의 콘텐츠를 SSLCertificate 매개변수로 복사합니다.

    parameter_defaults:
      SSLCertificate: |
        -----BEGIN CERTIFICATE-----
        MIIDgzCCAmugAwIBAgIJAKk46qw6ncJaMA0GCSqGS
        ...
        sFW3S2roS4X0Af/kSSD8mlBBTFTCMBAj6rtLBKLaQ
        -----END CERTIFICATE-----
    중요

    인증서 콘텐츠에서는 모든 새 행에 대해 동일한 들여쓰기 수준이 필요합니다.

    SSLIntermediateCertificate

    중간 인증서가 있는 경우 중간 인증서의 내용을 SSLIntermediateCertificate 매개변수로 복사합니다.

    parameter_defaults:
      SSLIntermediateCertificate: |
        -----BEGIN CERTIFICATE-----
        sFW3S2roS4X0Af/kSSD8mlBBTFTCMBAj6rtLBKLaQbIxEpIzrgvpBCwUAMFgxCzAJB
        ...
        MIIDgzCCAmugAwIBAgIJAKk46qw6ncJaMA0GCSqGSIb3DQE
        -----END CERTIFICATE-----
    중요

    인증서 콘텐츠에서는 모든 새 행에 대해 동일한 들여쓰기 수준이 필요합니다.

    SSLKey

    개인 키(server.key.pem)의 콘텐츠를 SSLKey 매개변수로 복사합니다.

    parameter_defaults:
      ...
      SSLKey: |
        -----BEGIN RSA PRIVATE KEY-----
        MIIEowIBAAKCAQEAqVw8lnQ9RbeI1EdLN5PJP0lVO
        ...
        ctlKn3rAAdyumi4JDjESAXHIKFjJNOLrBmpQyES4X
        -----END RSA PRIVATE KEY-----
    중요

    개인 키 콘텐츠에서는 모든 새 행에 대해 동일한 들여쓰기 수준이 필요합니다.