Kerberos 문제 해결

이 항목의 문제 해결 제안 사항은 서버의 SSO(Single Sign-On) 관련 문제와 위임된 데이터 원본 관련 문제로 나뉩니다.

Tableau 커뮤니티 wiki 페이지 Linux에서 데이터베이스 Kerberos 구성 테스트(영문)(링크가 새 창에서 열림)도 참조하십시오.

Tableau Server에 대한 Single Sign-On

Kerberos SSO 환경에서 웹 브라우저 또는 Tableau Desktop에서 Tableau Server에 로그인하는 사용자에게 Tableau Server가 자동으로 (Single Sign-On을 사용하여) 로그인할 수 없다는 메시지가 표시될 수 있습니다. 이것은 Tableau Server 사용자 이름 및 암호를 제공해야 한다는 의미입니다.

클라이언트 컴퓨터에서 로그인 오류 문제 해결

  • 사용자 이름 및 암호 입력 — Tableau Server에 대한 사용자의 일반 액세스 권한을 확인하려면 사용자의 이름 및 암호를 입력하여 로그인합니다.

    이러한 자격 증명이 실패하면 사용자가 Tableau Server의 사용자가 아닐 수 있습니다. Kerberos SSO가 작동하려면 사용자가 Tableau Server에 액세스할 수 있어야 하며 Active Directory에 의해 TGT(티켓 권한 부여 티켓)가 부여되어야 합니다(이 목록의 뒷부분에 있는 TGT 항목에 설명되어 있음).

  • 다른 사용자의 SSO 자격 증명 확인 — 다른 사용자 계정을 사용하여 Tableau Server에 SSO로 연결합니다. 모든 사용자에게 문제가 발생하는 경우 Kerberos 구성에 문제가 있는 것일 수 있습니다.

  • 서버 컴퓨터 이외의 컴퓨터 사용 — localhost에 있는 Tableau Server에 로그인한 경우 Kerberos SSO가 작동하지 않습니다. 클라이언트는 Tableau Server 컴퓨터가 아닌 컴퓨터에서 연결해야 합니다.

  • IP 주소가 아닌 서버 이름 사용 — Tableau Server 이름으로 IP 주소를 입력하는 경우 Kerberos SSO가 작동하지 않습니다. 또한, Tableau Server 액세스에 사용하는 서버 이름은 Kerberos 구성에 사용된 이름과 일치해야 합니다(아래에서 키 테이블 항목 참조).

  • 클라이언트에 TGT가 있는지 확인 — 클라이언트 컴퓨터에는 Active Directory 도메인의 TGT(티켓 권한 부여 티켓)가 있어야 합니다. 대리인이 티켓을 부여하는 제한 위임은 지원되지 않습니다.

    클라이언트 컴퓨터에 TGT가 있는지 확인하려면 다음을 수행합니다.

    • Windows에서 명령 프롬프트를 열고 klist tgt를 입력합니다.

    • Mac에서 터미널 창을 열고 klist를 입력합니다.

    출력에는 Tableau Server에 인증을 시도하는 사용자/도메인에 대한 TGT가 표시되어야 합니다.

    다음과 같은 경우 클라이언트 컴퓨터에 TGT가 없을 수 있습니다.

    • 클라이언트 컴퓨터가 VPN 연결을 사용합니다.

    • 클라이언트 컴퓨터가 작업에 사용되지 않는 비작업 컴퓨터와 같이 도메인에 참여하지 않은 컴퓨터입니다.

    • 사용자가 로컬(비도메인) 계정으로 컴퓨터에 로그인했습니다.

    • 컴퓨터가 Active Directory를 네트워크 계정 서버로 사용하지 않는 Mac 컴퓨터입니다.

  • 브라우저 버전 및 설정 확인 — 웹 브라우저 로그인의 경우 브라우저가 Kerberos를 지원하는지 확인하고 필요한 경우 올바르게 구성되었는지 확인합니다.

    • Internet Explorer(IE)와 Chrome은 Windows에서 별도의 설정 없이 즉시 사용할 수 있습니다.

    • Safari는 Mac에서 별도의 설정 없이 즉시 사용할 수 있습니다.

    • Firefox에는 추가 구성이 필요합니다.

    자세한 내용은 Kerberos SSO를 위한 Tableau 클라이언트 지원을 참조하십시오.

서버에서 로그인 오류 문제 해결

클라이언트 컴퓨터에서 문제를 해결할 수 없는 경우 그 다음으로 Tableau Server를 실행하는 컴퓨터에서 문제를 해결해봐야 합니다. 관리자는 요청 ID를 사용하여 Tableau Server의 Apache 로그에서 사용자의 로그인 시도를 찾을 수 있습니다.

  • 로그 파일 - Apache error.log에서 실패한 로그인 시도의 정확한 시간/날짜를 통해 오류를 확인합니다.

  • 키 테이블 항목 — error.log 항목에 “No key table entry matching HTTP/<servername>.<domain>.<org>@” 메시지가 포함됩니다. 예를 들면 다음과 같습니다.

    [Fri Oct 24 10:58:46.087683 2014] [:error] [pid 2104:tid 4776] [client 10.10.1.62:56789] gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, No key table entry found matching HTTP/servername.domain.com@)

    이 오류는 다음과 같은 항목의 불일치로 인해 발생합니다.

    • Tableau Server URL - 클라이언트 컴퓨터가 서버에 액세스하기 위해 사용한 URL

      사용자가 Tableau Desktop 또는 브라우저 주소 표시줄에 입력하는 이름입니다. 짧은 이름(http://servername) 또는 정규화된 도메인 이름(http://servername.domain.com)이 될 수 있습니다.

    • 서버 IP 주소에 대한 DNS 역조회.

      IP 주소를 사용하여 DNS 이름을 조회합니다.

      명령 프롬프트에서 다음을 입력합니다.

      ping servername

      서버에 대한 ping을 실행해 반환된 IP 주소를 사용하여 다음과 같이 DNS 역조회를 수행합니다.

      nslookup <ip address>

      nslookup 명령은 IP 주소에 대한 네트워크 정보를 반환합니다. 응답의 Non-authoritative answer 부분에서 FQDN(정규화된 도메인 이름)이 다음과 같은 구성된 값과 일치하는지 확인합니다. 

      • Kerberos .keytab 파일

      • 서버에 대한 서비스 사용자 이름(SPN)

      이러한 값 구성에 대한 자세한 내용은 Keytab 요구 사항 이해를 참조하십시오.

Kerberos 구성 스크립트 확인

환경 변수에 대한 keytab 파일을 생성하는 데 사용한 ktpass 명령을 수정해야 할 수도 있습니다. 기술 자료 문서 Unable to Generate Kerberos Script Configuration for Tableau Server(링크가 새 창에서 열림)(Tableau Server용 Kerberos 스크립트 구성을 생성할 수 없음)의 문제 해결 단계를 검토하십시오.

데이터 원본 SSO

위임된 데이터 원본 액세스 실패

vizqlserver 로그 파일에서 "workgroup-auth-mode"를 확인합니다.

로그 파일에서 "workgroup-auth-mode"를 찾습니다. 여기에 "kerberos-impersonate" not "as-is"가 표시되어야 합니다.

Kerberos 위임 다중 도메인 구성

Tableau Server는 다른 Active Directory 도메인의 사용자를 위임할 수 있습니다. 데이터베이스가 MIT Kerberos를 사용하는 경우 데이터베이스 사용자 매핑에 맞게 Kerberos 계정을 조정해야 할 수 있습니다. 즉, 연결하는 사용자가 속한 각 Kerberos 영역에 대한 규칙으로 krb5.conf를 업데이트해야 합니다. 섹션에서 auth_to_local 태그를 [realms] 사용하여 계정 이름을 로컬 사용자 이름에 매핑합니다.

예를 들어 Kerberos 계정이 jsmith@EXAMPLE.LAN인 사용자 EXAMPLE\jsmith를 고려합니다. 이 경우 Tableau Server는 위임된 사용자 jsmith@EXAMPLE을 지정합니다. Tableau Server는 Active Directory 레거시 도메인 별칭을 Kerberos 영역으로 사용하게 됩니다.

대상 데이터베이스에 사용자 jsmith@EXAMPLE.LAN을 데이터베이스 사용자 jsmith에 매핑하는 다음과 같은 규칙이 이미 있을 수 있습니다.

EXAMPLE.LAN = {
   RULE:[1:$1@$0](.*@EXAMPLE.LAN)s/@.*//
   DEFAULT
}

위임을 지원하려면 jsmith@EXAMPLE를 데이터베이스 사용자에 매핑하는 또 다른 규칙을 추가해야 합니다.

EXAMPLE.LAN = {
   RULE:[1:$1@$0](.*@EXAMPLE.LAN)s/@.*//
   RULE:[1:$1@$0](.*@EXAMPLE)s/@.*//
   DEFAULT
}

자세한 내용은 MIT Kerberos 설명서 항목에서 krb5.conf(링크가 새 창에서 열림)를 참조하십시오.

교차 도메인 제한 위임

KDC가 Windows 2012 이전의 Windows Server에서 실행되고 있는 일부 교차 도메인 시나리오에서 위임이 실패할 수 있습니다. 이 경우 다음과 같은 오류가 나타날 수 있습니다.

  • SQL Server 네트워크 인터페이스: 시스템이 인증 요청을 처리하는 도메인 컨트롤러에 연결할 수 없습니다. 나중에 다시 시도하세요.
  • SQL Server Native Client: SSPI 컨텍스트를 생성할 수 없습니다.
  • 도메인 컨트롤러가 KRB-ERR-POLICY error with a status STATUS_CROSSREALM_DELEGATION_FAILURE (0xc000040b)를 반환합니다.

교차 도메인은 Tableau Server가 데이터 원본과 다른 도메인에서 다른 서비스 계정으로 실행되고 있는 시나리오를 나타냅니다. 예:

  • Tableau Server는 DomainA 서비스 계정을 사용하여 DomainA에서 실행됩니다.
  • SQL Server는 DomainB 서비스 계정을 사용하여 DomainB에서 실행됩니다.

기존 제한 위임은 두 서버가 모두 동일한 도메인에 있는 경우에만 작동합니다. 사용자는 다른 도메인에서 들어올 수 있습니다.

위에 나와 있는 오류가 표시되는 경우 이 시나리오를 사용하도록 설정하려면 Active Directory 관리자가 계정 위임 시 구성한 모든 기존 제한 위임을 제거해야 합니다. 위임 제거는 Active Directory 관리 도구를 사용하거나 Active Directory 속성 msDS-AllowedToDelegateTo.와 연결된 값을 제거하여 수행할 수 있습니다.

교차 도메인 위임과 함께 기존 단일 도메인 위임을 유지하려면 둘 모두 리소스 기반 제한 위임을 사용하여 구성해야 합니다.

Kerberos 및 제한 위임에 대한 자세한 내용은 Microsoft 항목 Kerberos 제한 위임 개요(영어)(링크가 새 창에서 열림)를 참조하십시오.

웹 작성

Kerberos 위임을 지원하지 않는 웹 작성 시나리오는 두 가지입니다. "웹에서 데이터에 연결" 및 "웹에서 데이터 원본 만들기" 기능은 아직 위임을 지원하지 않습니다. 구체적으로, 웹 작성에서 Kerberos를 사용하는 데이터 원본을 만드는 경우 데이터 원본은 '서비스 계정' 서비스 계정 인증을 사용하게 됩니다. Kerberos 위임을 사용하여 데이터 원본을 만들려면 Tableau Desktop을 사용하여 게시해야 합니다. '서비스 계정' 서비스 계정에 대한 자세한 내용은 Kerberos 서비스 계정 액세스 사용을 참조하십시오.

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