Kerberos 서비스 계정 액세스 사용

Tableau Server가 Kerberos 서비스 계정을 사용하여 데이터베이스에 액세스하도록 구성할 수 있습니다. 이 시나리오에서 Tableau Server는 서비스 계정( "RunAs 계정"이라고도 함)을 사용하여 데이터베이스에 연결합니다.

Tableau Server에서 RunAs 인증을 사용하려면 먼저 통합 인증을 사용하는 통합 문서 또는 데이터 원본을 만들어야 합니다. 사용자가 Tableau Server에 게시할 때 RunAs 인증에 대한 옵션이 나타납니다. Tableau Server 웹 작성에서 통합 인증을 사용하는 데이터 원본을 만드는 경우 데이터 원본은 기본적으로 RunAs 인증을 사용합니다.

참고: 일부 커넥터에서 통합 인증Windows 인증이라고도 합니다. 두 경우 모두 Tableau Server는 Kerberos 인증을 사용합니다.

RunAs 서비스 계정으로 데이터 액세스

RunAs 인증을 사용하려면 RunAs 계정에 외부 데이터베이스에 대한 읽기 및 쿼리 사용 권한이 필요합니다. 설계에 따라 Creator 역할 또는 Explorer(게시 가능) 역할이 있는 Tableau Server 사용자에게는 외부 데이터베이스에 대한 쿼리를 위해 RunAs 계정에 대한 전체 액세스 권한이 있습니다.

예를 들어 Creator 역할이 있는 사용자는 RunAs 서비스 계정에 액세스 권한이 부여된 모든 데이터베이스를 볼 수 있습니다. 또한 테이블을 나열하고 사용자 지정 SQL을 실행할 수 있습니다.

Creator 사용자가 웹 작성을 사용하여 새 데이터 원본을 만들 때 데이터베이스 호스트 이름을 지정하고 통합 인증을 선택하면 RunAs 액세스 권한이 부여된 데이터베이스가 사용자에게 표시됩니다.

데이터베이스 자산에 대한 보기 액세스 권한이 웹 작성을 사용하여 Tableau Server에 연결한 사용자로 제한되지 않습니다. 위에서 설명한 것과 같은 역할이 있고 데이터베이스 서버 이름을 알고 있는 전문 지식이 있는 사용자는 Tableau Desktop에서 RunAs 액세스 권한이 부여된 데이터베이스를 표시하는 통합 문서를 만들 수 있습니다.

권장 사항

이러한 시나리오에서 데이터베이스에 대한 사용자 액세스가 허용 가능한지 여부는 조직에서 평가해야 합니다. 일반적으로, RunAs 서비스 계정의 기능과 범위를 줄이면 사용자가 실수로 데이터베이스 콘텐츠에 액세스할 가능성이 줄어듭니다. 하지만 RunAs 서비스 계정의 기능과 범위를 줄이면 관리자와 사용자의 자격 증명 관리 부담이 커질 수 있습니다.

비즈니스 요구 사항과 데이터 액세스 정책의 관점에서 다음과 같은 권장 사항을 평가하십시오.

  • 맨 먼저 Creator 역할이나 Explorer(게시 가능) 역할이 있는 모든 사용자를 신뢰해야 합니다. 이러한 사용자가 Tableau에서 진실되게 작업을 수행한다고 믿어야 합니다.
  • RunAs 서비스 계정으로 액세스하는 데이터 원본에 대한 게시 권한이 있는 모든 사용자를 신뢰할 수 없는 경우 이러한 데이터 원본에 자격 증명을 내장하는 것이 좋습니다.
  • 데이터 원본에 자동화된 추출 새로 고침이 설정되어 있지 않은 경우, 즉 데이터 원본이 기본적으로 라이브 연결로 액세스되는 경우 Kerberos 위임을 사용할 수 있습니다. 요구 사항에 대해서는 Kerberos 위임 사용을 참조하십시오.

요구 사항

  • MIT Kerberos는 지원되지 않습니다.
  • RunAs 서비스 계정에는 대상 데이터베이스에 대한 읽기 권한이 있어야 합니다.

구성 프로세스

이 섹션에서는 Kerberos 서비스 계정 액세스를 사용하도록 설정하는 프로세스의 예를 제공합니다.

  1. RunAs 서비스 계정으로 작동할 도메인 사용자 계정을 만듭니다. 이 계정에는 대상 데이터베이스에 대한 읽기 권한이 있어야 합니다.

    이 예제에서 RunAs 서비스 계정의 사용자 계정 이름은 tabsrv@example.com입니다.

  2. RunAs 서비스 계정에 대한 keytab 파일을 만듭니다.

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

    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는 RunAs 서비스 계정 및 관련 keytab을 사용하여 인증하고 데이터베이스에 직접 연결합니다.

  3. keytab을 Tableau Server 데이터 디렉터리에 복사하고 적절한 소유권 및 사용 권한을 설정합니다. keytab은 권한이 없는 사용자가 읽을 수 있어야 합니다. Tableau 설치에서 만들어지는 권한이 없는 기본 사용자는 tableau입니다.

    다중 노드 배포를 실행하는 경우 클러스터의 각 노드에서 다음 명령을 실행해야 합니다.

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

    tsm configuration set -k features.RunAsAuthLinux -v true --force-keys
    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM --force-keys
    tsm configuration set -k native_api.datasource_runas_keytab_path -v /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab --force-keys			
  5. 다음 TSM 명령을 실행하여 변경 사항을 Tableau Server 배포에 적용합니다.

    tsm pending-changes apply

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

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