Kerberos 위임 사용

Kerberos 위임을 사용하면 Viewer(뷰어) 대신 쿼리를 실행하기 위해 통합 문서 Viewer(뷰어)의 Kerberos 자격 증명을 Tableau Server가 사용하도록 설정할 수 있습니다. 이 방법은 다음과 같은 상황에 유용합니다.

  • 데이터에 액세스하는 사용자를 알아야 합니다. 해당 Viewer(뷰어)의 이름은 데이터 원본의 액세스 로그에 표시됩니다.

  • 데이터 원본에 행 수준 보안이 설정되어 있습니다. 이 경우 다양한 사용자들이 다양한 행에 액세스할 수 있습니다.

지원되는 데이터 원본

Tableau는 다음 데이터 원본에서 Kerberos 위임을 지원합니다.

  • Cloudera: Hive/Impala
  • Denodo
  • Hortonworks
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica

MSAS는 Linux 플랫폼에서 지원되지 않습니다.

요구 사항

Kerberos 위임에는 Active Directory가 필요합니다.

  • Active Directory를 사용하도록 Tableau Server ID 저장소를 구성해야 합니다.
  • Tableau Server가 설치된 컴퓨터는 Active Directory 도메인에 가입해야 합니다.
  • MIT Kerberos KDC는 지원되지 않습니다.

웹 작성 및 사용자 Kerberos 인증

특정 대상에 대해 데이터에 연결을 구성할 때 기본 인증 방법으로 통합 인증 또는 Windows 인증을 선택할 수 있습니다. 그러나 웹 작성 시나리오의 경우 기본 동작은 대신 Kerberos 서비스 계정("서비스 계정" 계정)을 사용하는 것입니다.

Kerberos 위임을 사용하는 웹 작성 시나리오에서 사용자 자격 증명을 사용하도록 설정하려면 TSM을 사용하여 추가로 구성해야 합니다. 다음 명령을 실행합니다.

tsm configuration set -k native_api.WebAuthoringAuthModeKerberosDelegation -v true
tsm pending-changes apply

이렇게 구성한 후 웹 작성을 통한 통합 인증을 선택하면 Kerberos 위임이 기본 작업이 됩니다. 그러나 이 설정은 콘텐츠 작성자가 서비스 계정에 액세스하는 것을 차단하지 않습니다. Creator는 Tableau Desktop 또는 기타 방법을 사용하여 '서비스 계정' 서비스 계정과 연결되는 콘텐츠를 계속 게시할 수 있습니다.

'서비스 계정' 서비스 계정에 대한 자세한 내용은 Kerberos 서비스 계정 액세스 사용을 참조하십시오.

구성 프로세스

이 섹션에서는 Kerberos 위임을 사용하도록 설정하는 프로세스의 예를 제공합니다. 또한 이 시나리오에는 구성 요소 간의 관계를 쉽게 이해할 수 있는 이름이 사용됩니다.

  1. Tableau Server가 데이터베이스 호출을 시작한 사용자를 대신하여 위임하려면 Kerberos 서비스 티켓이 필요합니다. 지정된 데이터베이스에 위임하는 데 사용할 도메인 계정을 만들어야 합니다. 이 계정을 '서비스 계정' 서비스 계정이라고 합니다. 이 항목에서 위임/’서비스 계정’ 계정으로 구성된 예제 사용자는 tabsrv@example.com입니다.

    계정은 사용자 도메인에 연결된 Windows Server의 Active Directory 사용자 및 컴퓨터로 구성되어야 합니다.

    • ‘서비스 계정’ 서비스 계정의 속성 페이지를 열고 위임 탭을 클릭한 다음 지정한 서비스에 대한 위임용으로만 이 사용자 트러스트모든 인증 프로토콜 사용을 선택합니다.
  2. ‘서비스 계정’ 서비스 계정에 대한 keytab 파일을 만듭니다.

    예를 들어 다음 명령에서는 ktutil 도구를 사용하여 keytab(tabsrv-runas.keytab)을 만듭니다.

    sudo ktutil
    ktutil:  addent -password -p tabsrv@EXAMPLE.COM -k 2 -e <encryption scheme>

    이 명령의 암호화 스키마에는 RC4-HMAC, aes128-cts-hmac-sha1-96aes256-cts-hmac-sha1-96이 포함됩니다. 환경 및 데이터 원본에 대한 올바른 암호화 스키마는 IT 팀에 문의하십시오.

    ktutil:  wkt tabsrv-runas.keytab

    Tableau Server는 ‘서비스 계정’ 서비스 계정 및 관련 keytab을 사용하여 인증하고 데이터베이스에 직접 연결합니다.

  3. keytab을 Tableau Server 데이터 디렉터리에 복사하고 적절한 소유권 및 사용 권한을 설정합니다. 다중 노드 배포를 실행하는 경우 클러스터의 각 노드에서 다음 명령을 실행해야 합니다.

    mkdir /var/opt/keytab                
    sudo cp -p tabsrv-runas.keytab /var/opt/keytab                 
    sudo chown $USER /var/opt/keytab/tabsrv-runas.keytab                  
    chgrp tableau /var/opt/keytab/tabsrv-runas.keytab                  
    chmod g+r /var/opt/keytab/tabsrv-runas.keytab 
    					
  4. 다음 TSM 명령을 실행하여 Kerberos 위임을 사용하도록 설정하고 위임 서비스 계정을 설정한 다음 keytab 파일을 서비스 계정에 연결합니다.

    					
    tsm configuration set -k wgserver.delegation.enabled -v true
    tsm configuration set -k native_api.datasource_impersonation_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_impersonation_runas_keytab_path -v /var/opt/keytab/tabsrv-runas.keytab
    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true

    일부 경우 TSM이 --force-keys에 관한 오류를 반환할 수 있습니다. 이 오류가 발생하면 --force-keys 매개 변수를 인수에 추가하고 명령을 다시 실행합니다.

  5. 다음 TSM 명령을 실행하여 변경 사항을 Tableau Server에 적용합니다.

    tsm pending-changes apply

    보류 중인 변경 내용을 적용하려면 서버를 다시 시작해야 하는 경우 pending-changes apply 명령은 서버가 다시 시작됨을 알리는 메시지를 표시합니다. 서버가 중지된 경우에도 이 메시지가 표시되지만 이 경우 다시 시작은 없습니다. --ignore-prompt 옵션을 사용하여 이 메시지를 표시하지 않을 수 있지만 다시 시작 동작은 변경되지 않습니다. 변경 내용을 적용해도 다시 시작할 필요가 없는 경우 메시지 없이 변경 내용이 적용됩니다. 자세한 내용은 tsm pending-changes apply를 참조하십시오.

  6. 데이터 연결에 대해 위임을 사용하도록 설정합니다.

    참고 항목

    Kerberos 문제 해결

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