Keytab 요구 사항 이해

Kerberos 인증은 keytab 파일이라는 특수 형식의 파일에 저장된 자격 증명을 사용합니다. Tableau Server 배포를 위해 keytab 파일을 생성해야 할 수도 있습니다. 이 항목에서는 Tableau Server가 일반적인 조직의 다양한 서비스에 액세스하는 데 사용하는 keytab 파일에 대해 설명합니다. 다음 서비스에 통합하기 위해 Tableau Server용 keytab을 생성해야 할 수도 있습니다.

  • Windows Active Directory의 사용자 인증(SSO)
  • 데이터 원본 위임
  • 운영 체제
  • 디렉터리 서비스

중요: Tableau Server 2021.2.25, 2021.3.24, 2021.4.19, 2022.1.15, 2022.3.7 및 2023.1.3(이상)부터 keytab 파일이 AES-128 또는 AES-256 암호로 생성되었는지 확인하십시오. RC4 및 3DES 암호화는 더 이상 지원되지 않습니다. 자세한 내용은 Tableau 기술 자료의 "Tableau Server가 자동으로 인증할 수 없습니다."(링크가 새 창에서 열림)를 참조하십시오.

조직에 ID, 인증 및/또는 보안을 처리하는 IT 전문가가 있는 경우 해당 전문가와 협력하여 Tableau Server 배포를 위한 적절한 keytab을 생성하기 위한 계획을 수립해야 합니다.

Windows Active Directory의 사용자 인증(SSO)

Active Directory를 Tableau Server의 ID 저장소로 사용하고 사용자가 Kerberos SSO로 인증하도록 하려면 Tableau Server용 keytab 파일을 생성해야 합니다.

Tableau 실행 위치...keytab 수동 생성 여부
Active Directory 도메인의 Windows
Active Directory 도메인의 Linux
Active Directory가 아닌 환경의 Windows 또는 LinuxKerberos SSO는 지원되는 시나리오가 아닙니다.

다음 추천 항목을 따르십시오(Tableau Server의 Windows 및 Linux 버전인 경우).

  • 디렉터리에 Tableau Server용 서비스 계정을 만듭니다.

  • 특별히 Tableau Server 서비스 계정을 위한 keytab을 만듭니다. 컴퓨터 계정/OS에서 인증에 사용하는 keytab 파일을 다시 사용하지 마십시오. 위의 시나리오에서 디렉터리 인증에 사용하는 것과 동일한 keytab을 Kerberos SSO용으로 사용할 수 있습니다.

  • Active Directory에서 Tableau Server 서비스를 위한 SPN(서비스 사용자 이름)을 만들어야 합니다.

  • 다음 섹션의 배치 파일을 사용하여 SPN 및 keytab 파일을 만듭니다.

  • SPN을 만들었으면 Kerberos 구성에 설명된 대로 keytab 파일을 업로드합니다.

배치 파일: Active Directory에서 SPN 설정 및 keytab 만들기

배치 파일을 사용하여 SPN(서비스 사용자 이름)을 설정하고 keytab 파일을 만들 수 있습니다. 이러한 작업은 Active Directory에서 실행되는 Tableau Server(Windows 또는 Linux 기반)에 대해 Kerberos SSO를 사용하도록 설정하는 프로세스의 일부입니다.

이전 버전의 Tableau Server(2018.2 이전)에서는 Tableau Server 구성 유틸리티에서 구성 스크립트를 생성했습니다.

구성 스크립트를 생성하려면 다음 배치 파일의 내용을 복사하여 텍스트 파일에 붙여 넣으십시오. 배치 파일은 Tableau Server를 위한 SPN(서비스 사용자 이름)을 만들고 파일에 지정한 사용자에 대한 keytab 파일을 만듭니다.

파일 내용에 나와 있는 지침을 따르십시오. 파일 사용자 지정을 마쳤으면 .bat 파일로 저장합니다.

이 파일은 도메인 관리자가 Active Directory 도메인에서 실행해야 하며, 관리자에게 파일에 지정한 계정의 서비스 계정 비밀번호를 묻는 메시지가 표시됩니다.

이 배치 파일은 Windows set(링크가 새 창에서 열림), setspn(링크가 새 창에서 열림)ktpass(링크가 새 창에서 열림) 명령을 사용합니다.

참고: 아래 배치 파일에는 설명이 포함되어 있습니다. 하지만 Kerberos와 keytab 파일 생성에 대한 경험이 없는 경우 계속 진행하기 전에 Microsoft 블로그 게시물 All you need to know about Keytab files(링크가 새 창에서 열림)(Keytab 파일에 대해 알아야 할 모든 것)를 읽는 것이 좋습니다. 조직의 환경적 세부 정보에 ktpass 명령의 추가 구성이 필요할 수 있습니다. 예를 들어, /crypto 매개 변수에 대해 설정할 항목을 결정해야 합니다. KDC에 필요한 단일 /crypto 값을 지정하는 것이 좋습니다. /crypto 매개 변수로 지원되는 값의 전체 목록에 대해서는 Microsoft 문서 ktpass(링크가 새 창에서 열림)를 참조하십시오.

SPN 및 keytab 배치 파일 내용

Tableau Server 2022.3, 2022.1.8, 2021.4.12, 2021.3.17, 2021.2.18, 2021.1.20 및 2020.4.23 이상의 경우

@echo off
setlocal EnableDelayedExpansion

REM ******* 

REM This script generates the Service Principal Names (SPNs) and keytab files required for 
REM Kerberos SSO with Apache.
REM This script executes set, setspn, and ktpass commands included in any Windows Server 
REM Operating System from 2003 on.
REM Before running this script you must enter configuration information for the setspn and 
REM ktpass commands. 
REM Elements that require your configuration information are enclosed in as such:
REM  ! -- and --!. 
REM After you customize this file, save it as a .bat file, and run on a domain-joined 
REM computer. 
REM This script must be run by a Domain admin.

REM **********

REM The following set command will prompt the domain admin for credentials of the 
REM Tableau Server service account. 
REM This account must be a valid domain user account.
REM If the password contains a literal \" (blackslash - double quote), all backslashes 
REM immediately before the double quote must be
REM duplicated when typed for the password to work, e.g. if password contains 
REM  \" replace with \\", if passwords contains \\" replace with \\\\"

set /p adpass= "Enter password for the Tableau Server service account."
set adpass=!adpass:"=\"!

REM **********

REM The following setspn commands create the SPN in the domain.
REM More information on setspn can be found here: 
REM http://technet.microsoft.com/en-us/library/cc731241(WS.10).aspx  
REM Enter the canonical FQDN and the host names for Tableau Server followed by the  
REM Tableau Server service account name.
REM Use this syntax: HTTP/hostname domain\service_account_name.
REM The example below shows syntax for a computer named "tableau01" in the "example.lan"  
REM domain, with service account, "tab-serv-account":
REM setspn -s HTTP/tableau01 example\tab-serv-account
REM setspn -s HTTP/tableau01.example.lan example\tab-serv-account  
REM DNS and AD are not case sensitive, but the keytab files are.  Verify that host names  
REM match letter case as stored in DNS. 
REM Use Windows Server's DNS Manager utility to verify host name case.

REM **********

echo Creating SPNs...
setspn -s HTTP/!--replace with canonical host name and service account --!
setspn -s HTTP/!--replace with canonical FQDN and service account --!

REM **********

REM The following commands create the keytab file in the same directory where the 
REM bat file is run. More information on ktpass can be found here: 
REM https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass 
REM Note: keytab files are case-sensitive.
REM The realm following the FQDN should be all uppercase.
REM Syntax is:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass!
REM /pttype KRB5_NTPRINCIPAL /crypto !--cipher--! /out keytabs\kerberos.keytab
REM Best practice: specify the /crypto value that is required by your KDC. 
REM Options for /crypto = {DES-CBC-CRC|DES-CBC-MD5|AES256-SHA1|AES128-SHA1|All}
REM Do not specify /crypto All because it will result in a keytab that contains ciphers that are not supported
REM and cause errors.
REM When using AES256-SHA1 OR AES128-SHA1, the /mapuser option must be included 
REM in the ktpass command to ensure the keytab file is mapped properly to the user. For example:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /mapuser <domain\username> /crypto AES256-SHA1 /out keytabs\kerberos.keytab
REM The following example shows the ktpass syntax with the example.lan configuration from above:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab
					
REM **********

echo Creating Keytab files in %CD%\keytabs
mkdir keytabs
ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab

Tableau Server 이전 버전의 경우

@echo off
setlocal EnableDelayedExpansion

REM ******* 

REM This script generates the Service Principal Names (SPNs) and keytab files required for 
REM Kerberos SSO with Apache.
REM This script executes set, setspn, and ktpass commands included in any Windows Server 
REM Operating System from 2003 on.
REM Before running this script you must enter configuration information for the setspn and 
REM ktpass commands. 
REM Elements that require your configuration information are enclosed in as such:
REM  ! -- and --!. 
REM After you customize this file, save it as a .bat file, and run on a domain-joined 
REM computer. 
REM This script must be run by a Domain admin.

REM **********

REM The following set command will prompt the domain admin for credentials of the 
REM Tableau Server service account. 
REM This account must be a valid domain user account.
REM If the password contains a literal \" (blackslash - double quote), all backslashes 
REM immediately before the double quote must be
REM duplicated when typed for the password to work, e.g. if password contains 
REM  \" replace with \\", if passwords contains \\" replace with \\\\"

set /p adpass= "Enter password for the Tableau Server service account."
set adpass=!adpass:"=\"!

REM **********

REM The following setspn commands create the SPN in the domain.
REM More information on setspn can be found here: 
REM http://technet.microsoft.com/en-us/library/cc731241(WS.10).aspx  
REM Enter the canonical FQDN and the host names for Tableau Server followed by the  
REM Tableau Server service account name.
REM Use this syntax: HTTP/hostname domain\service_account_name.
REM The example below shows syntax for a computer named "tableau01" in the "example.lan"  
REM domain, with service account, "tab-serv-account":
REM setspn -s HTTP/tableau01 example\tab-serv-account
REM setspn -s HTTP/tableau01.example.lan example\tab-serv-account  
REM DNS and AD are not case sensitive, but the keytab files are.  Verify that host names  
REM match letter case as stored in DNS. 
REM Use Windows Server's DNS Manager utility to verify host name case.

REM **********

echo Creating SPNs...
setspn -s HTTP/!--replace with canonical host name and service account --!
setspn -s HTTP/!--replace with canonical FQDN and service account --!

REM **********

REM The following commands create the keytab file in the same directory where the 
REM bat file is run. More information on ktpass can be found here: 
REM https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass 
REM Note: keytab files are case-sensitive.
REM The realm following the FQDN should be all uppercase.
REM Syntax is:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass!
REM /pttype KRB5_NTPRINCIPAL /crypto !--cipher--! /out keytabs\kerberos.keytab
REM Best practice: specify the /crypto value that is required by your KDC. 
REM Options for /crypto = {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All}
REM Specifying /crypto All will result in passwords stored with RC4 cipher, which is
REM no longer considered secure.
REM When using AES256-SHA1 OR AES128-SHA1, the /mapuser option must be included 
REM in the ktpass command to ensure the keytab file is mapped properly to the user. For example:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /mapuser <domain\username> /crypto AES256-SHA1 /out keytabs\kerberos.keytab
REM The following example shows the ktpass syntax with the example.lan configuration from above:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab
					
REM **********

echo Creating Keytab files in %CD%\keytabs
mkdir keytabs
ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab

운영 체제

조직에서 인증을 위해 Kerberos를 사용하는 경우 Tableau Server가 실행되고 있는 컴퓨터는 실행 중인 Kerberos 영역으로 인증되어야 합니다.

Tableau 실행 위치...keytab 수동 생성 여부
Active Directory 도메인의 Windows아니요
Active Directory 도메인의 Linux
Active Directory가 아닌 환경의 Windows 또는 Linux

Windows에서 Tableau Server를 실행 중이고 컴퓨터가 Active Directory에 조인된 경우 운영 체제의 keytab 파일을 관리하거나 생성할 필요가 없습니다.

Kerberos 영역(MIT KDC 또는 Active Directory)에서 Linux 기반 Tableau Server를 실행하는 경우 컴퓨터 운영 체제에 맞는 keytab 파일을 생성해야 합니다. 컴퓨터용으로 만드는 keytab은 특별히 OS 인증용입니다. 이 항목의 뒷부분에서 설명하는 다른 서비스에 사용할 keytab 파일을 OS 인증에 사용하지 마십시오.

디렉터리 서비스

조직에서 LDAP 또는 Active Directory와 같은 디렉터리 서비스를 사용하여 사용자 ID를 관리하는 경우 Tableau Server에는 디렉터리에 대한 읽기 전용 액세스가 필요합니다.

또는 로컬 ID 저장소를 설치하여 모든 계정을 관리하도록 Tableau Server를 구성할 수 있습니다. 이 경우 keytab이 필요 없습니다.

다음 표에는 keytab 요구 사항이 요약되어 있습니다.

Tableau 실행 위치...디렉터리 서비스keytab 수동 생성 여부
AD 도메인의 WindowsActive Directory아니요
WindowsLDAP(GSSAPI 바인딩)
LinuxActive Directory 또는 LDAP(GSSAPI 바인딩)
Windows 또는 LinuxActive Directory 또는 LDAP(단순 바인딩)아니요
Windows 또는 Linux로컬 ID 저장소keytab이 필요하지 않습니다.

이 시나리오를 위해 수동으로 keytab을 생성해야 하는 경우 디렉터리에 대한 GSSAPI 바인드용으로 keytab을 사용합니다. 다음 추천 항목을 따르십시오.

  • 디렉터리에 Tableau Server용 서비스 계정을 만듭니다.

  • 특별히 Tableau Server 서비스 계정을 위한 keytab을 만듭니다. 컴퓨터 계정/OS에서 인증에 사용하는 keytab 파일을 다시 사용하지 마십시오.

  • Tableau Server ID 저장소에 대한 json 구성의 일부로 keytab 파일을 업로드합니다. 자세한 내용은 identityStore 엔터티를 참조하십시오.

재해 복구 계획의 일부로, Tableau Server에서 떨어진 안전한 위치에 keytab 및 conf 파일의 백업을 보관하는 것이 좋습니다. Tableau Server에 추가하는 keytab 및 conf 파일은 클라이언트 파일 서비스에 의해 저장되고 다른 노드에 배포됩니다. 그러나 파일은 복구 가능한 형식으로 저장되지 않습니다. 자세한 내용은 Tableau Server 클라이언트 파일 서비스를 참조하십시오.

데이터 원본 위임

Kerberos 위임을 사용하여 Active Directory의 데이터 원본에 액세스할 수도 있습니다. 이 시나리오에서는 사용자가 모든 지원되는 인증 메커니즘(SAML, 로컬 인증, Kerberos 등)을 사용하여 Tableau Server에 인증할 수 있지만 Kerberos를 통해 활성화된 데이터 원본만 액세스할 수 있습니다.

다음 추천 항목을 따르십시오.

  • Tableau Server(Windows 또는 Linux)의 컴퓨터 계정은 Active Directory 도메인에 속해야 합니다.

  • Kerberos 위임에 사용하는 keytab 파일은 Kerberos 사용자 인증(SSO)에 사용하는 것과 동일한 keytab 파일일 수 있습니다.

  • keytab은 Active Directory의 Kerberos 위임을 위한 서비스 사용자에게 매핑되어야 합니다.

  • 여러 데이터 원본에 대해 동일한 keytab을 사용할 수 있습니다.

자세한 내용은 다음 구성 항목을 참조하십시오.

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