OpenID Connect에 대해 Tableau Server 구성

이 항목에서는 SSO(Single Sign-On)에 대해 OIDC(OpenID Connect)를 사용하도록 Tableau Server을 구성하는 방법에 대해 설명합니다. 이 단계는 여러 단계로 구성된 프로세스 중 하나입니다. 다음 항목에서는 Tableau Server에서 OIDC를 구성하고 사용하는 방법에 대한 자세한 정보를 제공합니다.

  1. OpenID Connect 개요

  2. OpenID Connect용 IdP(ID 공급자) 구성

  3. OpenID Connect에 대해 Tableau Server 구성(현재 위치)

  4. OpenID Connect를 사용하여 Tableau Server 로그인

참고:

  1. 브라우저에서 TSM을 엽니다.

    https://<tsm-computer-name>:8850. 자세한 내용은 Tableau 서비스 관리자 웹 UI에 로그인을 참조하십시오.

  2. 구성 탭에서 사용자 ID 및 액세스 > 인증 방법을 선택합니다.

  3. 인증 방법의 드롭다운 메뉴에서 OpenID Connect를 선택합니다.

  4. OpenID Connect 아래에서 서버에 OpenID 인증 사용을 선택합니다.

  5. 조직의 OpenID 구성 정보를 입력합니다.

    TSM의 OpenID Connect 구성 이미지

    참고:

    • 3단계의 경우: 공급자가 공용 URL이 아닌 로컬 컴퓨터에서 호스팅되는 구성 파일을 사용하는 경우 tsm authentication openid <commands>를 사용하여 파일을 지정할 수 있습니다. --metadata-file <file_path> 옵션을 사용하여 로컬 IdP 구성 파일을 지정합니다.

    • 4단계의 경우: Tableau Server 2025.3부터 SLO(싱글 로그아웃)을 사용하도록 설정하고, 로그아웃한 후 사용자를 리디렉션할 URL을 지정할 수 있습니다.

    • 5단계: Tableau Server 2026.2부터 OIDC 인증 워크플로우의 일부로 사용자 특성 및 해당 함수를 사용하도록 설정할 수 있습니다. 자세한 내용은 OIDC 클레임의 사용자 특성을 참조하십시오.

  6. 구성 정보를 입력한 후 보류 중인 변경 내용 저장을 클릭합니다.

  7. 페이지 맨 위에서 보류 중인 변경 내용을 클릭합니다.

    보류 중인 변경 내용이 있음을 나타내는 Tableau Server Manager 툴바입니다.

  8. 변경 내용 적용 후 다시 시작을 클릭합니다.

이 섹션의 절차에서는 TSM 명령줄 인터페이스를 사용하여 OpenID Connect를 구성하는 방법에 대해 설명합니다. 또한, OpenID Connect 초기 구성에 구성 파일을 사용할 수 있습니다. 자세한 내용은 openIDSettings 엔터티를 참조하십시오.

  1. tsm authentication openid <commands>configure 명령을 사용하여 다음과 같은 필수 옵션을 설정합니다.

    • --client-id <id>: IdP가 응용 프로그램에 할당한 공급자 클라이언트 ID를 지정합니다. 예를 들어 “xxxkjwdlnaoiloadjkwha"입니다.

    • --client-secret <secret>: 공급자 클라이언트 암호를 지정합니다. 이는 Tableau에서 IdP의 응답 신뢰성을 확인하는 데 사용하는 토큰입니다. 이 값은 암호이므로 안전하게 보관해야 합니다. 예를 들어 “xxxhfkjaw72123="입니다.

    • --config-url <url> 또는 --metadata-file <file_path>: 공급자 구성 json 파일의 위치를 지정합니다. 공급자가 공개 JSON 검색 파일을 호스팅하는 경우 --config-url을 사용합니다. 그렇지 않은 경우, --metadata-file에 대한 로컬 컴퓨터의 경로와 파일 이름을 대신 지정합니다.

    • --return-url <url>: 서버의 URL입니다. 이는 일반적으로 "http://example.tableau.com"과 같이 서버의 공개 이름입니다.

    예를 들어 다음 명령을 실행합니다.

    tsm authentication openid configure --client-id “xxxkjwdlnaoiloadjkwha" --client-secret “xxxhfkjaw72123=" --config-url "https://example.com/openid-configuration" --return-url "http://tableau.example.com"

    참고: 

  2. 다음 명령을 입력하여 Open ID Connect를 사용하도록 설정합니다.

    tsm authentication openid enable

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

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

사용자 특성을 사용하여 데이터 액세스 사용자 지정 및 제어

사용자 특성은 조직에서 정의한 사용자 메타데이터입니다. 사용자 특성은 일반적인 ABAC(특성 기반 액세스 제어) 권한 부여 모델에서 액세스 권한을 결정하는 데 사용할 수 있습니다. 사용자 특성은 직무, 부서 소속, 관리 수준 등 사용자 프로필의 모든 측면을 포함할 수 있습니다. 또한 사용자가 로그인한 위치 또는 언어 기본 설정과 같은 런타임 사용자 컨텍스트와 연관될 수 있습니다.

워크플로우에 사용자 특성을 포함하면 데이터 액세스 및 개인화를 통해 사용자 환경을 제어하고 사용자 지정할 수 있습니다.

  • 데이터 액세스: 사용자 특성을 사용하여 데이터 보안 정책을 적용할 수 있습니다. 이를 통해 사용자는 자신이 볼 권한을 부여받은 정보만 볼 수 있습니다.
  • 개인 설정: 위치 및 역할과 같은 사용자 특성을 전달하면 액세스하는 사용자와 관련된 정보만 표시하도록 콘텐츠를 사용자 지정할 수 있으므로 필요한 정보를 더 쉽게 찾을 수 있습니다.

사용자 특성을 전달하는 단계 요약

워크플로우에서 사용자 특성을 사용하도록 설정하는 프로세스는 다음 단계로 요약됩니다.

  1. 사용자 특성 설정 사용
  2. 어설션에 사용자 특성 포함
  3. 콘텐츠 작성자가 사용자 특성 함수와 관련 필터를 포함하는지 확인
  4. 콘텐츠 검토

1단계: 사용자 특성 설정 사용

보안상의 이유로 서버 관리자가 사용자 특성 설정을 사용하도록 설정한 경우에만 인증 워크플로우에서 사용자 특성의 유효성이 검사됩니다.

  1. 브라우저에서 TSM을 엽니다.

    https://<tsm-computer-name>:8850. 자세한 내용은 Tableau 서비스 관리자 웹 UI에 로그인을 참조하십시오.

  2. 구성 탭에서 사용자 ID 및 액세스 > 인증 방법을 선택합니다.

  3. 인증 방법의 드롭다운 메뉴에서 SAML을 선택합니다.

  4. 8단계SAML 인증에서 사용자 특성 캡처 사용 확인란을 선택합니다.

  5. 작업을 완료하면 다음을 수행합니다.

    1. 보류 중인 변경 내용 저장을 클릭합니다.

    2. 페이지 맨 위에서 보류 중인 변경 내용 단추를 클릭합니다.

    3. 변경 내용 적용 후 다시 시작을 클릭합니다.

2단계: 어설션에 사용자 특성 포함

어설션에 사용자 특성이 포함되어 있는지 확인합니다.

참고: scp 또는 scope 특성을 제외하고 SAML 응답의 특성에는 4096자 제한이 적용됩니다. 사용자 특성을 포함하여 응답의 특성이 이 제한을 초과하는 경우 Tableau는 해당 특성을 제거하고 대신 ExtraAttributesRemoved 특성을 전달합니다. 그런 다음 콘텐츠 작성자는 특성이 감지되었을 때 사용자에게 콘텐츠를 표시하는 방법을 결정하기 위해 ExtraAttributesRemoved 특성이 포함된 계산을 만들 수 있습니다.

South 지역에 위치한 관리자인 Fred Suzuki라는 직원이 있다고 가정하겠습니다. Fred가 보고서를 검토할 때 South 지역의 데이터만 볼 수 있도록 해야 합니다. 이와 같은 시나리오에서는 아래 예와 같이 SAML 응답에 Region 사용자 특성을 포함할 수 있습니다.

<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
	<saml;Issuer">https://myidp.okta.com/saml</saml:Issuer">
   <saml;Subject">
	  <saml:NameId Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"fsuzuki@example.com</saml:NameID">
   <saml:AttributeStatement xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
  		<saml:Attribute Name="Region" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
  			<saml:AttributeValue">South</saml:AttributeValue">
    	</saml:Attribute">
   </saml:AttributeStatement">
</saml:Assertion">

3단계: 콘텐츠 작성자가 특성 함수를 포함하는지 확인

콘텐츠 작성자가 사용자 특성 함수와 관련 필터를 포함하여 콘텐츠에 표시할 수 있는 데이터를 제어해야 합니다. 사용자 특성 어설션이 Tableau로 전달되도록 하려면 콘텐츠에 다음 사용자 특성 함수 중 하나가 포함되어야 합니다.

  • USERATTRIBUTE('attribute_name')
  • USERATTRIBUTEINCLUDES('attribute_name', 'expected_value')

콘텐츠 작성자가 사용하는 함수는 사용자 특성이 단일 값을 반환하는지 아니면 여러 값을 반환하는지에 따라 달라집니다. 이러한 함수에 대한 자세한 내용과 각 함수의 예는 Tableau 도움말의 사용자 함수(링크가 새 창에서 열림)를 참조하십시오.

참고:

  • Tableau Desktop 또는 Tableau Cloud에서 작성하는 경우 이러한 함수를 사용하는 콘텐츠의 미리 보기를 사용할 수 없습니다. 함수는 NULL 또는 FALSE 값을 반환합니다. 사용자 함수가 예상대로 작동하는지 확인하려면 작성자가 콘텐츠를 사용할 수 있도록 설정한 후 함수를 검토하는 것이 좋습니다.
  • 콘텐츠가 예상대로 렌더링될 수 있도록 콘텐츠 작성자는 ExtraAttributesRemoved 특성을 사용하는 계산을 포함하려 할 수 있습니다. 이 계산은 1) 해당 특성의 존재 여부를 확인하고 2) 특성이 존재할 경우 콘텐츠에 대해 수행할 작업을 결정합니다(예: 메시지 표시). SAML XML의 특성이 4096자를 초과하는 경우 Tableau는 ExtraAttributesRemoved 특성만 추가하고 scp 또는 scope를 제외한 다른 모든 특성을 제거합니다. 이는 최적의 성능을 보장하고 저장소 제한을 준수하기 위한 것입니다.

위의 2단계: 어설션에 사용자 특성 포함에서 설명한 예를 계속 진행하겠습니다. 'Region' 사용자 특성 어설션을 통합 문서에 전달하기 위해 작성자는 USERATTRIBUTEINCLUDES를 포함할 수 있습니다. 예를 들어 USERATTRIBUTEINCLUDES('Region', [Region])와 같습니다. 여기서, 'Region'은 사용자 특성이고 [Region]은 데이터의 열입니다. 작성자는 새 계산을 사용하여 Manager 및 Sales 데이터가 있는 테이블을 만들 수 있습니다. 계산이 추가되면 통합 문서는 예상대로 'False' 값을 반환합니다.

내장된 통합 문서에서 South 지역과 연관된 데이터만 표시하려는 경우 작성자는 필터를 만들고 South 지역이 'True'일 때 값을 표시하도록 필터를 사용자 지정할 수 있습니다. 필터를 적용하면 함수가 'False' 값을 반환하고 필터는 'True' 값만 표시하도록 사용자 지정되기 때문에 통합 문서가 예상대로 비어 있게 됩니다.

4단계: 콘텐츠 검토

콘텐츠를 검토하고 유효성을 검사합니다.

위의 3단계: 콘텐츠 작성자가 특성 함수를 포함하는지 확인의 예로 마무리하겠습니다. Fred Suzuki의 사용자 컨텍스트가 South 지역이기 때문에 뷰의 Sales 데이터가 Fred Suzuki로 사용자 지정된 것을 확인할 수 있습니다.

통합 문서에 표시된 지역의 Manager는 자신의 지역과 연결된 값을 볼 수 있습니다. 예를 들어 West 지역의 Sawdie Pawthorne은 자신이 속한 지역과 관련된 데이터를 볼 수 있습니다.

통합 문서에서 해당 지역을 대표하지 않는 Manager에게는 빈 통합 문서가 표시됩니다.

알려진 문제와 제한 사항

사용자 특성 함수로 작업할 때 고려해야 할 몇 가지 알려진 문제 및 제한 사항이 있습니다.

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