6부 - 설치 후 구성

부하 분산 장치에서 Tableau Server로의 SSL/TLS 구성

일부 조직의 경우 클라이언트에서 백엔드 서비스에 이르는 엔드 투 엔드 암호화 채널을 요구합니다. 지금까지 설명한 기본 참조 아키텍처는 클라이언트에서 부하 분산 장치(조직의 웹 계층에서 실행됨)로의 SSL을 구성할 것을 명시합니다.

이 섹션에서는 AWS 참조 아키텍처 예제에서 Tableau Server와 독립 게이트웨이에 대한 SSL/TLS를 구성하는 방법을 설명합니다. AWS 참조 아키텍처에서 Apache에 SSL/TLS를 구성하는 방법을 설명하는 구성 예제는 예제: AWS 참조 아키텍처에서 SSL/TLS 구성을 참조하십시오.

지금은 8000~9000 범위에서 실행되는 백엔드 Tableau Server 프로세스에 대해 TLS가 지원되지 않습니다. TLS를 사용하려면 Tableau Server에 대한 릴레이 연결로 독립 게이트웨이를 구성해야 합니다.

이 절차는 독립 게이트웨이와 Tableau Server 간의 연결에 TLS를 사용하고 구성하는 방법을 설명합니다. 이 절차에서는 HTTPS/443을 통해 릴레이 트래픽을 암호화하고 HTTPS/21319를 통해 하우스키핑 트래픽을 암호화합니다.

이 예 전반에 걸친 Linux 절차는 RHEL와 같은 배포에 대한 명령을 보여줍니다. 특히 여기에 나온 명령은 Amazon Linux 2 배포를 통해 개발되었습니다. Ubuntu 배포를 실행 중인 경우 그에 따라 명령을 편집합니다.

여기의 지침은 이 가이드에 나온 특정 AWS 예제 참조 아키텍처에 권장되는 것입니다. 따라서 선택적 구성은 포함되어 있지 않습니다. 전체 참조 설명서는 독립 게이트웨이에서 TLS 구성(Linux(링크가 새 창에서 열림))을 참조하십시오.

TLS를 구성하기 전에

업무 시간이 아닐 때 TLS 구성을 수행합니다. 구성할 때는 Tableau Server를 한 번 이상 다시 시작해야 합니다. 전체 4노드 참조 아키텍처 배포를 실행하는 경우 다시 시작하는 데 시간이 걸릴 수 있습니다.

  • 클라이언트에서 HTTP를 통해 Tableau Server에 연결할 수 있는지 확인합니다. 독립 게이트웨이를 통해 TLS를 구성하는 프로세스는 여러 단계를 포함하며 문제 해결이 필요할 수 있습니다. 따라서 TLS를 구성하기 전에 완벽하게 작동하는 Tableau Server 배포로 시작하는 것이 좋습니다.
  • TLS/SSL 인증서, 키 및 관련 자산을 수집합니다. 독립 게이트웨이 및 Tableau Server에 대한 SSL 인증서가 필요합니다. 인증서 관리 및 배포를 간소화하고 보안을 위한 모범 사례를 적용하기 위해 신뢰할 수 있는 주요 외부 CA(인증 기관)에서 생성된 인증서를 사용할 것을 권장합니다. 또는 자체 서명 인증서를 생성하거나 TLS용 PKI의 인증서를 사용할 수도 있습니다.

    이 항목의 구성 예에서는 설명을 위해 다음 자산 이름을 사용합니다.

    • tsig-ssl.crt: 독립 게이트웨이의 TLS/SSL 인증서입니다.
    • tsig-ssl.key: 독립 게이트웨이의 tsig-ssl.crt 관련 개인 키입니다.
    • ts-ssl.crt: Tableau Server용 TLS/SSL 인증서입니다.
    • ts-ssl.key: Tableau Server의 tsig-ssl.crt 관련 개인 키입니다.
    • tableau-server-CA.pem: Tableau Server 컴퓨터에 대한 인증서를 생성하는 CA의 루트 인증서입니다. 신뢰할 수 있는 주요 타사의 인증서를 사용하는 경우에는 일반적으로 이 인증서가 필요하지 않습니다.
    • rootTSIG-CACert.pem: 독립 게이트웨이 컴퓨터에 대한 인증서를 생성하는 CA의 루트 인증서입니다. 신뢰할 수 있는 주요 타사의 인증서를 사용하는 경우에는 일반적으로 이 인증서가 필요하지 않습니다.
    • SAML에 필요한 다른 인증서 및 키 파일 자산이 있습니다. 해당 정보는 이 가이드의 5부에 나와 있습니다.
    • 구현 시 인증서 체인 파일을 사용해야 하는 경우 기술 자료 문서 인증서 체인이 있는 인증서를 사용할 때 독립 게이트웨이에서 TLS 구성(영문)(링크가 새 창에서 열림)을 참조하십시오.

  • IdP에 액세스할 수 있는지 확인합니다. IdP를 인증에 사용하는 경우 SSL/TLS를 구성한 후 IdP에서 수신자 및 대상 URL을 변경해야 할 가능성이 높습니다.

TLS에 대해 독립 게이트웨이 컴퓨터 구성

TLS를 구성하는 프로세스에서는 오류가 많이 발생합니다. 독립 게이트웨이의 두 인스턴스에서 문제를 해결하려면 많은 시간이 소모될 수 있으므로 EDG 배포에서 독립 게이트웨이 1개로 TLS를 사용하도록 설정하고 구성하는 것이 좋습니다. 배포에서 TLS가 작동하는 것을 확인한 후 두 번째 독립 게이트웨이 컴퓨터를 구성합니다.

1단계: 독립 게이트웨이 컴퓨터에 인증서 및 키 배포

tsig-httpd 사용자에게 파일에 대한 읽기 액세스 권한이 있기만 하면 임의의 모든 디렉터리에 자산을 배포해도 됩니다. 이러한 파일의 경로는 다른 절차에 언급되어 있습니다. 이 항목에서는 아래에 표시된 것과 같이 /etc/ssl의 예제 경로를 사용합니다.

  1. 개인 키에 대한 디렉터리를 만듭니다.

    sudo mkdir -p /etc/ssl/private
  2. 인증서와 키 파일을 /etc/ssl 경로에 복사합니다. 예를 들면 다음과 같습니다.

    sudo cp tsig-ssl.crt /etc/ssl/certs/
    sudo cp tsig-ssl.key /etc/ssl/private/
  3. (선택 사항) 자체 서명 또는 PKI 인증서를 Tableau Server의 SSL/TLS에 사용하는 경우 CA 루트 인증서 파일을 독립 게이트웨이 컴퓨터에도 복사해야 합니다. 예를 들면 다음과 같습니다.

    sudo cp tableau-server-CA.pem /etc/ssl/certs/

2단계: TLS의 환경 변수 업데이트

독립 게이트웨이 구성에 대한 포트 및 프로토콜 환경 변수를 업데이트해야 합니다.

다음과 같이 /etc/opt/tableau/tableau_tsig/environment.bash 파일을 업데이트하여 이러한 값을 변경합니다.

TSIG_HK_PROTOCOL="https"
TSIG_PORT="443"
TSIG_PROTOCOL="https"

3단계: HK 프로토콜에 대한 stub 구성 파일 업데이트

stub 구성 파일(/var/opt/tableau/tableau_tsig/config/httpd.conf.stub)을 수동으로 업데이트하여 HK(하우스키핑) 프로토콜에 대한 TLS 관련 Apache httpd 지시문을 설정합니다.

stub 구성 파일에는 #TLS# 마커로 주석 처리된 TLS 관련 지시문 블록이 포함되어 있습니다. 아래 예제에 표시된 것과 같이 지시문에서 마커를 제거하십시오. 이 예제에서는 SSLCACertificateFile 옵션을 사용하여 Tableau Server에 사용된 SSL 인증서에 루트 CA 인증서를 사용합니다.

#TLS# SSLPassPhraseDialog exec:/path/to/file
<VirtualHost *:${TSIG_HK_PORT}>
SSLEngine on
#TLS# SSLHonorCipherOrder on
#TLS# SSLCompression off
SSLCertificateFile /etc/ssl/certs/tsig-ssl.crt
SSLCertificateKeyFile /etc/ssl/private/tsig-ssl.key
SSLCACertificateFile /etc/ssl/certs/tableau-server-CA.pem
#TLS# SSLCARevocationFile /path/to/file
</VirtualHost>

독립 게이트웨이를 다시 설치하면 이러한 변경 내용이 손실됩니다. 따라서 백업 복사본을 만드는 것이 좋습니다.

4단계: stub 파일 복사 및 서비스 다시 시작

  1. 마지막 단계에서 업로드한 파일을 복사하여 httpd.conf를 변경 내용으로 업데이트합니다.

    cp /var/opt/tableau/tableau_tsig/config/httpd.conf.stub /var/opt/tableau/tableau_tsig/config/httpd.conf
  2. 독립 게이트웨이 서비스를 다시 시작합니다.

    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit

다시 시작한 후 Tableau Server에서 다음 집합의 단계를 실행하기 전까지는 독립 게이트웨이가 작동하지 않습니다. Tableau Server에서 단계를 완료하면 독립 게이트웨이가 변경 내용을 가져오고 온라인으로 전환됩니다.

TLS에 대해 Tableau Server 노드 1 구성

Tableau Server 배포의 노드 1에서 다음 단계를 실행합니다.

1단계: 인증서 및 키를 복사하고 TSM을 중지

  1. Tableau Server “외부 SSL” 인증서와 키가 노드 1에 복사되었는지 확인합니다.

  2. 가동 중단을 최소화하려면 TSM을 중지하고 다음 단계를 실행한 다음 변경 내용이 적용된 후 TSM을 시작하는 것이 좋습니다.

    tsm stop

2단계: 인증서 자산을 설정하고 독립 게이트웨이 구성을 사용하도록 설정

  1. 독립 게이트웨이에 대한 인증서 및 키 파일의 위치를 지정합니다. 이러한 경로는 독립 게이트웨이 컴퓨터의 위치를 참조합니다. 참고로 이 예제에서는 HTTPS 및 하우스키핑 트래픽 보호에 동일한 인증서 및 키 쌍이 사용된다고 가정합니다.

    tsm configuration set -k gateway.tsig.ssl.cert.file_name -v /etc/ssl/certs/tsig-ssl.crt --force-keys 
    tsm configuration set -k gateway.tsig.ssl.key.file_name -v /etc/ssl/private/tsig-ssl.key --force-keys	
  2. 독립 게이트웨이의 HTTPS 및 HK 프로토콜에 TLS를 사용하도록 설정합니다.

    tsm configuration set -k gateway.tsig.ssl.enabled -v true --force-keys
    tsm configuration set -k gateway.tsig.hk.ssl.enabled -v true --force-keys
  3. (선택 사항) 자체 서명 또는 PKI 인증서를 독립 게이트웨이의 SSL/TLS에 사용하는 경우 CA 루트 인증서 파일을 업로드해야 합니다. CA 루트 인증서 파일은 독립 게이트웨이 컴퓨터에 대한 인증서를 생성하는 데 사용된 루트 인증서입니다. 예를 들면 다음과 같습니다.

    tsm security custom-cert add -c rootTSIG-CACert.pem
  4. (선택 사항) 자체 서명 또는 PKI 인증서를 Tableau Server의 SSL/TLS에 사용하는 경우 CA 루트 인증서 파일을 독립 게이트웨이의 /etc/ssl/certs 디렉터리에도 복사해야 합니다. CA 루트 인증서 파일은 Tableau Server 컴퓨터에 대한 인증서를 생성하는 데 사용된 루트 인증서입니다. 독립 게이트웨이에 인증서를 복사한 후 다음 tsm 명령을 사용하여 노드 1의 인증서 위치를 지정해야 합니다. 예를 들면 다음과 같습니다.

    tsm configuration set -k gateway.tsig.ssl.proxy.gateway_relay_cluster.cacertificatefile -v /etc/ssl/certs/tableau-server-CA.pem --force-keys
  5. (선택 사항: 테스트 전용) 자체 서명 또는 PKI 인증서를 여러 컴퓨터에서 공유하기 때문에 인증서의 주체 이름이 컴퓨터 이름과 일치하지 않는 경우 인증서 유효성 검사를 사용하지 않도록 설정해야 합니다. 

    tsm configuration set -k gateway.tsig.ssl.proxy.verify -v optional_no_ca --force-keys

3단계: Tableau Server에 "외부 SSL"을 사용하도록 설정하고 변경 내용을 적용

  1. Tableau Server에서 "외부 SSL"을 사용하도록 설정하고 구성합니다.

    tsm security external-ssl enable --cert-file ts-ssl.crt --key-file ts-ssl.key
  2. 변경 내용을 적용합니다.

    tsm pending-changes apply

4단계: 게이트웨이 구성 JSON 파일을 업데이트하고 tsm을 시작

  1. Tableau Server 측의 독립 게이트웨이 구성 파일(예: tsig.json)을 업데이트하여 독립 게이트웨이 개체에 대한 https 프로토콜을 지정합니다.

    "protocol" : "https",
  2. 독립 게이트웨이의 두 번째 인스턴스에 대한 연결 정보를 제거(또는 주석 처리)합니다. JSON을 저장하기 전에 외부 편집기에서 이를 확인하십시오.

    독립 게이트웨이 인스턴스 1개에 대한 TLS를 구성하고 확인한 후 독립 게이트웨이의 두 번째 인스턴스에 대한 연결 정보로 이 JSON 파일을 업데이트합니다.

  3. 다음 명령을 실행하여 독립 게이트웨이 구성을 업데이트합니다.

    tsm topology external-services gateway update -c tsig.json
  4. TSM을 시작합니다.

    tsm start
  5. TSM을 시작하는 동안 독립 게이트웨이 인스턴스에 로그인하고 tsig-httpd 서비스를 다시 시작합니다.

    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit

IdP 인증 모듈 URL을 HTTPS로 업데이트

Tableau에 대한 외부 ID 공급자를 구성한 경우 IdP 관리 대시보드의 반환 URL을 업데이트해야 할 수 있습니다.

예를 들어 Okta 사전 인증 응용 프로그램을 사용하는 경우 수신자 URL 및 대상 URL에 HTTPS 프로토콜을 사용하도록 응용 프로그램을 업데이트해야 합니다.

HTTPS에 대한 AWS 부하 분산 장치 구성

이 가이드에 설명된 대로 AWS 부하 분산 장치를 배포하는 경우 독립 게이트웨이를 실행하는 컴퓨터로 HTTPS 트래픽을 보내도록 AWS 부하 분산 장치를 다시 구성해야 합니다.

  1. 기존 HTTP 대상 그룹을 삭제합니다.

    대상 그룹에서 부하 분산 장치에 구성된 HTTP 대상 그룹을 선택하고 동작을 클릭한 다음 삭제를 클릭합니다.

  2. HTTPS 대상 그룹을 만듭니다.

    대상 그룹 > 대상 그룹 만들기

    • "인스턴스" 선택
    • 대상 그룹 이름 입력(예: TG-internal-HTTPS)
    • VPC 선택
    • 프로토콜: HTTPS 443
    • 상태 확인 > 고급 상태 확인 설정 > 성공 코드에서 읽을 코드 목록(200,303)을 추가합니다.
    • 만들기를 클릭합니다.
  3. 방금 만든 대상 그룹을 선택한 다음 대상 탭을 클릭합니다. 

    • 편집을 클릭합니다.
    • 이전에 구성하여 Tableau Server 독립 게이트웨이를 실행 중인 EC2 인스턴스를 선택한 다음 등록된 항목에 추가를 클릭합니다.
    • 저장을 클릭합니다.
  4. 대상 그룹이 만들어지면 연결 유지를 사용하도록 설정해야 합니다.

    • AWS 대상 그룹 페이지(EC2 > 부하 분산 > 대상 그룹)를 열고 방금 설정한 대상 그룹 인스턴스를 선택합니다. 동작 메뉴에서 특성 편집을 선택합니다.
    • 특성 편집 페이지에서 연결 유지를 선택하고 기간을 1 day로 지정한 다음 변경 내용을 저장합니다.
  5. 부하 분산 장치에서 수신기 규칙을 업데이트합니다. 이 배포에 대해 구성한 부하 분산 장치를 선택한 다음 수신기 탭을 클릭합니다.

    • HTTP:80에서 규칙 보기/편집을 클릭합니다. 결과로 표시되는 규칙 페이지에서 편집 아이콘을 클릭하여 규칙을 편집합니다(페이지 맨 위에서 한 번 클릭하여 편집한 다음 규칙별로 다시 편집). 기존 THEN 규칙을 삭제하고 동작 추가 > 리디렉션 대상...을 클릭하여 바꿉니다. 결과로 나온 THEN 구성에서 HTTPS 및 포트 443을 지정하고 다른 옵션을 기본 설정으로 유지합니다. 설정을 저장한 다음 업데이트를 클릭합니다.
    • HTTPS:443에서 규칙 보기/편집을 클릭합니다. 결과로 표시되는 규칙 페이지에서 편집 아이콘을 클릭하여 규칙을 편집합니다(페이지 맨 위에서 한 번 클릭하여 편집한 다음 규칙별로 다시 편집). 기존 THEN 규칙을 삭제하고 동작 추가 > 전달 대상...을 클릭하여 바꿉니다. 대상 그룹을 방금 만든 HTTPS 그룹으로 지정합니다. 그룹 수준 연결 유지에서 연결 유지를 사용하도록 설정하고 기간을 1일로 설정합니다. 설정을 저장한 다음 업데이트를 클릭합니다.
  6. 부하 분산 장치에서 유휴 시간 초과를 400초로 업데이트합니다. 이 배포에 대해 구성한 부하 분산 장치를 선택한 다음 동작 > 특성 편집을 클릭합니다. 유휴 시간 초과400 초로 설정한 다음 저장을 클릭합니다.

TLS 확인

TLS 기능을 확인하려면 이 절차를 시작할 때 만든 Tableau 관리자 계정으로 공용 URL(예: https://tableau.example.com)을 사용하여 Tableau Server에 로그인합니다.

TSM이 시작되지 않거나 다른 오류가 발생하는 경우 Tableau Server 독립 게이트웨이 문제 해결을 참조하십시오.

SSL에 대해 독립 게이트웨이의 두 번째 인스턴스 구성

독립 게이트웨이의 첫 번째 인스턴스를 성공적으로 구성한 후 두 번째 인스턴스를 배포합니다.

두 번째 독립 게이트웨이 배포 프로세스에는 다음 단계가 필요합니다.

  1. 구성된(첫 번째) 독립 게이트웨이 인스턴스에서: 두 번째 독립 게이트웨이 인스턴스의 해당 위치에 다음 파일을 복사합니다.

    • /etc/ssl/certs/tsig-ssl.crt
    • /etc/ssl/private/tsig-ssl.key(두 번째 인스턴스에서 private 디렉터리를 만들어야 함)
    • /var/opt/tableau/tableau_tsig/config/httpd.conf.stub
    • /etc/opt/tableau/tableau_tsig/environment.bash
  2. Tableau Server 배포의 노드 1에서: 두 번째 독립 게이트웨이의 연결 정보로 연결 파일(tsig.json)을 업데이트합니다.

    아래에 예제 연결 파일(tsig.json)이 나와 있습니다.

    {
    "independentGateways": [
     {
       "id": "ip-10-0-1-169.ec2.internal",
       "host": "ip-10-0-1-169.ec2.internal",
       "port": "21319",
       "protocol" : "https",
       "authsecret": "13660-27118-29070-25482-9518-22453"
     },
     {
       "id": "ip-10-0-2-230.ec2.internal",
       "host": "ip-10-0-2-230.ec2.internal",
       "port": "21319",
       "protocol" : "https",
       "authsecret": "9055-27834-16487-27455-30409-7292"
     }]
     }
  3. Tableau Server 배포의 노드 1에서: 다음 명령을 실행하여 구성을 업데이트합니다.

    tsm stop
    tsm topology external-services gateway update -c tsig.json
    
    tsm start
  4. 독립 게이트웨이의 두 인스턴스에서: Tableau Server가 시작될 때 독립 게이트웨이의 두 인스턴스에서 tsig-httpd 프로세스를 다시 시작합니다.

    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit
  5. AWS EC2>대상 그룹에서: 두 번째 독립 게이트웨이 인스턴스를 실행하는 EC2 인스턴스를 포함하도록 대상 그룹을 업데이트합니다.

    방금 만든 대상 그룹을 선택한 다음 대상 탭을 클릭합니다. 

    • 편집을 클릭합니다.
    • 두 번째 독립 게이트웨이 컴퓨터의 EC2 인스턴스를 선택한 다음 등록된 항목에 추가를 클릭하고 저장을 클릭합니다.

Postgres에 대한 SSL 구성

필요한 경우 Tableau Server의 외부 리포지토리 연결을 위한 Postgres 연결에 사용할 SSL(TLS)을 구성할 수 있습니다.

인증서 관리 및 배포를 간소화하고 보안을 위한 모범 사례를 적용하기 위해 신뢰할 수 있는 주요 외부 CA(인증 기관)에서 생성된 인증서를 사용할 것을 권장합니다. 또는 자체 서명 인증서를 생성하거나 TLS용 PKI의 인증서를 사용할 수도 있습니다.

이 절차에서는 예제 AWS 참조 아키텍처에서 RHEL 유사 Linux 배포의 Postgres 호스트에서 OpenSSL을 사용하여 자체 서명 인증서를 생성하는 방법에 대해 설명합니다.

SSL 인증서를 생성하고 서명한 후에 CA 인증서를 Tableau 호스트에 복사해야 합니다.

Postgress를 실행하는 호스트에서 다음을 수행합니다.

  1. 서명 루트 CA(인증 기관) 키를 생성합니다.

    openssl genrsa -out pgsql-rootCAKey.pem 2048
  2. 루트 CA 인증서를 만듭니다.

    openssl req -x509 -sha256 -new -nodes -key pgsql-rootCAKey.pem -days 3650 -out pgsql-rootCACert.pem

    인증서 필드에 값을 입력하라는 메시지가 표시됩니다. 예:

    Country Name (2 letter code) [XX]:US
    State or Province Name (full name) []:Washington
    Locality Name (eg, city) [Default City]:Seattle
    Organization Name (eg, company) [Default Company Ltd]:Tableau
    Organizational Unit Name (eg, section) []:Operations
    Common Name (eg, Postgres server's hostname) []:ip-10-0-1-189.us-west-1.compute.internal
    Email Address []:example@tableau.com				
  3. Postgres 컴퓨터에 대한 인증서 및 관련 키(아래 예에서 server.csrserver.key)를 만듭니다. 인증서의 주체 이름은 Postgres 호스트의 EC2 사설 DNS 이름과 일치해야 합니다. 주체 이름은 -subj 옵션과 "/CN=<private DNS name>" 형식을 사용하여 설정됩니다. 예:

    openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=ip-10-0-1-189.us-west-1.compute.internal"
  4. 2단계에서 만든 CA 인증서를 사용하여 새 인증서에 서명합니다. 다음 명령은 crt 형식으로도 인증서를 출력합니다.

    openssl x509 -req -in server.csr -days 3650 -CA pgsql-rootCACert.pem -CAkey pgsql-rootCAKey.pem -CAcreateserial -out server.crt
  5. crt 및 key 파일을 Postgres /var/lib/pgsql/13/data/ 경로에 복사합니다.

    sudo cp server.crt /var/lib/pgsql/13/data/
    sudo cp server.key /var/lib/pgsql/13/data/
  6. 루트 사용자로 전환합니다.

    sudo su
  7. 인증서 및 키 파일에 대한 사용 권한을 설정합니다. 다음 명령을 실행합니다.

    cd /var/lib/pgsql/13/data
    chown postgres.postgres server.crt
    chown postgres.postgres server.key
    chmod 0600 server.crt
    chmod 0600 server.key
  8. pg_haba 구성 파일(/var/lib/pgsql/13/data/pg_hba.conf)을 업데이트하여 md5 트러스트를 지정합니다.

    기존 연결 문을 변경합니다. 변경 전:

    host all all 10.0.30.0/24 password

    host all all 10.0.31.0/24 password

    변경 후:

    host all all 10.0.30.0/24 md5

    host all all 10.0.31.0/24 md5.

  9. 다음 줄을 추가하여 postgresql 파일(/var/lib/pgsql/13/data/postgresql.conf)을 업데이트합니다.

    ssl = on
  10. 루트 사용자 모드를 끝냅니다.

    exit
  11. Postgres를 다시 시작합니다.

    sudo systemctl restart postgresql-13

선택 사항: Tableau Server에서 Postgres SSL용 인증서 신뢰 유효성 검사 사용

4부 - Tableau Server 설치 및 구성의 설치 절차를 수행한 경우 Postgres 연결에 대해 선택적인 SSL을 사용하여 Tableau Server가 구성됩니다. 즉, 앞서 설명한 것처럼 Postgres에 SSL을 구성하면 연결이 암호화됩니다.

연결에 대해 인증서 신뢰 유효성 검사를 요구하려면 Tableau Server에서 다음 명령을 실행하여 Postgres 호스트 연결을 재구성해야 합니다.

tsm topology external-services repository replace-host -f <filename>.json -c CACert.pem

여기서 <filename>.json외부 Postgres 구성에 명시된 연결 파일입니다. 그리고 CACert.pem은 Postgres에서 사용하는 SSL/TLS 인증서의 CA 인증서 파일입니다.

선택 사항: SSL 연결 확인

SSL 연결을 확인하려면 다음을 수행해야 합니다.

  • Tableau Server 노드 1에 Postgres 클라이언트를 설치합니다.
  • 이전 절차에서 만든 루트 인증서를 Tableau 호스트에 복사합니다.
  • 노드 1에서 Postgres 서버에 연결합니다.

노드 1에 Postgres 클라이언트 설치

이 예에서는 Postgres 13.4 버전을 설치하는 방법을 보여 줍니다. 외부 리포지토리에 대해 실행 중인 것과 동일한 버전을 설치해야 합니다.

  1. 노드 1에서 /etc/yum.repos.d 경로에 pgdg.repo 파일을 만들고 편집합니다. 다음 구성 정보로 파일을 채웁니다.

    [pgdg13]
    name=PostgreSQL 13 for RHEL/CentOS 7 - x86_64
    baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64
    enabled=1
    gpgcheck=0
  2. Postgres 클라이언트를 설치합니다.

    sudo yum install postgresql13-13.4-1PGDG.rhel7.x86_64

노드 1에 루트 인증서 복사

CA 인증서(pgsql-rootCACert.pem)를 Tableau 호스트에 복사합니다.

scp ec2-user@<private-DNS-name-of-Postgress-host>:/home/ec2-user/pgsql-rootCACert.pem /home/ec2-user

노드 1에서 SSL을 통해 Postgres 호스트에 연결

Postgres 서버 호스트 IP 주소와 루트 CA 인증서를 지정하여 노드 1에서 다음 명령을 실행합니다.

psql "postgresql://postgres@<IP-address>:5432/postgres?sslmode=verify-ca&sslrootcert=pgsql-rootCACert.pem"

예:

 psql "postgresql://postgres@10.0.1.189:5432/postgres?sslmode=verify-ca&sslrootcert=pgsql-rootCACert.pem"

Postgres에 비밀번호를 입력하라는 메시지가 표시됩니다. 성공적으로 로그인되면 셸에서 다음을 반환합니다.

psql (13.4)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=#

SMTP 및 이벤트 알림 구성

Tableau Server는 관리자와 사용자에게 이메일 알림을 보냅니다. 이메일 알림을 사용하도록 설정하려면 이메일 서버로 메일을 보내도록 Tableau Server를 구성해야 합니다. 또한 보내려는 이벤트 유형, 임계값 및 구독 정보도 지정해야 합니다.

SMTP 및 알림의 초기 구성에서는 아래의 구성 파일 템플릿을 사용하여 json 파일을 만드는 것이 좋습니다. 또한 tsm configuration set(Linux(링크가 새 창에서 열림))에 설명되어 있는 구문을 사용하여 아래에 나와 있는 모든 단일 구성 키를 설정할 수 있습니다.

Tableau Server 배포의 노드 1에서 다음 절차를 실행합니다.

  1. 다음 json 템플릿을 파일에 복사합니다. 조직의 SMTP 구성 옵션과 구독 및 알림으로 파일을 사용자 지정합니다.

    {
    "configKeys": {
    	"svcmonitor.notification.smtp.server": "SMTP server host name",
    	"svcmonitor.notification.smtp.send_account": "SMTP user name",
    	"svcmonitor.notification.smtp.port": 443,
    	"svcmonitor.notification.smtp.password": "SMTP user account password",
    	"svcmonitor.notification.smtp.ssl_enabled": true,
    	"svcmonitor.notification.smtp.from_address": "From email address",
    	"svcmonitor.notification.smtp.target_addresses": "To email address1,address2",
    	"svcmonitor.notification.smtp.canonical_url": "Tableau Server URL",
    	"backgrounder.notifications_enabled": true,
    	"subscriptions.enabled": true,
    	"subscriptions.attachments_enabled": true,
    	"subscriptions.max_attachment_size_megabytes": 150,
    	"svcmonitor.notification.smtp.enabled": true,
    	"features.DesktopReporting": true,
    	"storage.monitoring.email_enabled": true,
    	"storage.monitoring.warning_percent": 20,
    	"storage.monitoring.critical_percent": 15,
    	"storage.monitoring.email_interval_min": 25,
    	"storage.monitoring.record_history_enabled": true
    	}
    }
  2. tsm settings import -f file.json을 실행하여 json 파일을 Tableau 서비스 관리자로 전달합니다.

  3. tsm pending-changes apply 명령을 실행하여 변경 내용을 적용합니다.

  4. tsm email test-smtp-connection을 실행하여 연결 구성을 보고 확인합니다.

PostgreSQL 드라이버 설치

Tableau Server에서 관리 뷰를 보려면 PostgreSQL 드라이버를 Tableau Server 배포의 노드 1에 설치해야 합니다.

  1. Tableau 드라이버 다운로드(링크가 새 창에서 열림) 페이지로 이동하고 PostgreSQL jar 파일에 대한 URL을 복사합니다.

  2. Tableau 배포의 각 노드에서 다음 절차를 실행합니다.

    • 다음 파일 경로를 만듭니다.

      sudo mkdir -p /opt/tableau/tableau_driver/jdbc

    • 새 경로에서 PostgreSQL jar 파일의 최신 버전을 다운로드합니다. 예:

      sudo wget https://downloads.tableau.com/drivers/linux/postgresql/postgresql-42.2.22.jar

  3. 초기 노드에서 Tableau Server를 다시 시작합니다.

    tsm restart

강력한 비밀번호 정책 구성

IdP 인증 솔루션을 사용하여 Tableau Server를 배포하지 않는 경우 기본 Tableau 비밀번호 정책의 보안을 강화하는 것이 좋습니다.

IdP를 사용하여 Tableau Server를 배포하는 경우 IdP를 통해 비밀번호 정책을 관리해야 합니다.

다음 절차에는 Tableau Server에서 비밀번호 정책을 설정하기 위한 json 구성이 포함되어 있습니다. 아래의 옵션에 대한 자세한 내용은 로컬 인증(Linux(링크가 새 창에서 열림))을 참조하십시오.

  1. 다음 json 템플릿을 파일에 복사합니다. 암호 정책 구성에 따라 키 값을 채웁니다.

    {
     "configKeys": {
    	"wgserver.localauth.policies.mustcontainletters.enabled": true,
    	"wgserver.localauth.policies.mustcontainuppercase.enabled": true,
    	"wgserver.localauth.policies.mustcontainnumbers.enabled": true,
    	"wgserver.localauth.policies.mustcontainsymbols.enabled": true,
    	"wgserver.localauth.policies.minimumpasswordlength.enabled": true,
    	"wgserver.localauth.policies.minimumpasswordlength.value": 12,
    	"wgserver.localauth.policies.maximumpasswordlength.enabled": false,
    	"wgserver.localauth.policies.maximumpasswordlength.value": 255,
    	"wgserver.localauth.passwordexpiration.enabled": true,
    	"wgserver.localauth.passwordexpiration.days": 90,
    	"wgserver.localauth.ratelimiting.maxbackoff.minutes": 60,
    	"wgserver.localauth.ratelimiting.maxattempts.enabled": false,
    	"wgserver.localauth.ratelimiting.maxattempts.value": 5,
    	"vizportal.password_reset": true	
     }
    }
  2. tsm settings import -f file.json을 실행하여 json 파일을 Tableau 서비스 관리자로 전달하고 Tableau Server를 구성합니다.

  3. tsm pending-changes apply 명령을 실행하여 변경 내용을 적용합니다.

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!