직접 신뢰를 사용하여 연결된 앱 구성

2022년 1월 초부터 Tableau의 연결된 앱을 사용하면 Tableau Cloud 사이트와 외부 응용 프로그램 간의 명시적 신뢰 관계를 수립하여 원활하고 안전한 인증 경험을 지원할 수 있습니다.

참고: 세션 토큰이 유효하려면 외부 응용 프로그램의 시계와 외부 응용 프로그램을 호스트하는 서버의 시계가 UTC(협정 세계시)로 설정되어야 합니다. 두 클록이 다른 표준 시간대를 사용하는 경우 연결된 앱을 신뢰할 수 없게 됩니다.

직접 신뢰와 Tableau 연결된 앱이 작동하는 방식

Tableau Cloud 사이트와 외부 응용 프로그램 간의 신뢰 관계는 Tableau의 연결된 앱에 의해 제공되고 외부 응용 프로그램에 의해 서명되는 공유 암호를 사용하는 JWT(JSON Web Token) 표준의 인증 토큰을 통해 설정되고 확인됩니다.

연결된 앱의 주요 구성 요소

연결된 앱의 다음 구성 요소는 외부 응용 프로그램의 JWT와 함께 작동하여 사용자를 인증하고 내장된 콘텐츠를 표시합니다.

  • 암호: 암호는 Tableau와 외부 응용 프로그램이 공유하는 키입니다. JWT를 형성하는 서명에 사용됩니다. 암호는 연결된 앱을 사용하여 인증 또는 REST API 권한 부여를 내장하는 경우 필요합니다. 암호는 연결된 앱에서 만들 수 있고 만료되지 않으며 삭제되기 전까지 유효한 상태로 유지됩니다.
  • 도메인 허용 목록(내장 워크플로우만 해당): 각 연결된 앱에서 허용되는 도메인 목록을 지정할 수 있습니다. 연결된 앱을 통해 내장된 Tableau 콘텐츠는 지정된 도메인에서만 허용됩니다. 따라서 비즈니스에서 보호하고 승인하는 도메인에서만 콘텐츠가 노출됩니다.
  • 액세스 수준(내장 워크플로우만 해당): 연결된 앱을 단일 프로젝트 또는 전체 프로젝트에 연결하여 연결된 앱을 통해 내장할 수 있는 콘텐츠를 지정할 수 있습니다. 단일 프로젝트를 지정하는 경우 선택한 프로젝트의 콘텐츠만 연결된 앱을 통해 내장될 수 있습니다. 여러 프로젝트를 지정하려면 Tableau REST API를 사용해야 합니다.

연결된 앱 워크플로우

내장 워크플로우

아래의 다이어그램은 외부 응용 프로그램(웹 서버 및 웹 페이지)와 Tableau 연결 앱 간의 인증이 작동하는 방식을 보여 줍니다.

  1. 사용자가 웹 페이지를 방문: 사용자가 웹 페이지의 내장된 콘텐츠를 방문하면 웹 페이지가 외부 응용 프로그램으로 GET 요청을 전송하여 해당 웹 페이지의 HTML을 검색합니다.
  2. 외부 응용 프로그램이 인증 토큰을 구성: 외부 응용 프로그램은 JWT를 구성합니다. JWT에는 연결된 앱의 암호(추가 JWT 요구 사항은 아래의 3단계 참조)와 내장된 콘텐츠에 대한 사용자 액세스 범위가 포함됩니다. 암호는 외부 응용 프로그램에 의해 서명되며 이후 단계에서 신뢰 관계를 확인하는 데 사용됩니다.
  3. 외부 응용 프로그램이 인증 토큰으로 응답: 외부 응용 프로그램은 웹 페이지가 호출한 내장된 콘텐츠의 URL에 포함되는 JWT를 통해 페이지에 응답합니다.
  4. 웹 페이지에서 Tableau의 콘텐츠를 요청: 내장된 콘텐츠를 로드하기 위해 웹 페이지는 내장된 콘텐츠의 URL을 호출합니다. 그러면 GET 요청이 Tableau로 전송됩니다.
  5. Tableau가 토큰을 검증: Tableau는 JWT를 수신하고 연결된 앱과 JWT에 사용된 공유 암호를 식별하여 외부 응용 프로그램과의 신뢰 관계를 확인합니다. 그런 다음 사용자에 대한 세션을 만듭니다. 이 세션은 JWT에 정의된 내장 범위를 준수할 뿐만 아니라 연결된 앱에 지정된 제한 사항(허용된 도메인 및 허용된 프로젝트 등)도 준수합니다.
  6. Tableau에서 제한된 내장 컨텍스트에 따라 콘텐츠를 반환: 내장된 콘텐츠는 페이지가 허용된 도메인 아래에 있고 콘텐츠가 허용된 프로젝트(해당하는 경우)에 게시되는 경우에만 로드됩니다. 인증된 사용자는 JWT에 정의된 범위까지만 내장된 콘텐츠와 상호 작용할 수 있습니다.

연결된 앱 만들기

1단계: 연결된 앱 만들기

Tableau Cloud의 설정 페이지에서 연결된 앱을 만듭니다.

  1. 사이트 관리자로 Tableau Cloud에 로그인합니다.

  2. 왼쪽 패널에서 설정 > 연결된 앱을 선택합니다.

  3. 새 연결된 앱 단추 드롭다운 화살표를 클릭하고 직접 신뢰를 선택합니다.

  4. 연결된 앱 만들기 대화 상자에서 다음 중 하나를 수행합니다.
    • REST API 권한 부여 워크플로우(인증을 위해 REST API를 사용하는 메타데이터 API 워크플로우 포함)의 경우 연결된 앱의 이름 텍스트 상자에 연결된 앱의 이름을 입력하고 만들기 단추를 클릭합니다.

      참고: REST API 및 메타데이터 API 권한 부여에 대해 연결된 앱을 구성할 때 액세스 수준도메인 허용 목록은 무시해도 됩니다.

    • 내장 워크플로우의 경우 다음을 수행합니다.

      1. 연결된 앱 이름 텍스트 상자에 연결된 앱의 이름을 입력합니다.
      2. 적용 대상 드롭다운 메뉴에서 모든 프로젝트 또는 단일 프로젝트만을 선택하여 내장할 수 있는 뷰 또는 메트릭을 제어합니다. "단일 프로젝트만" 옵션을 선택한 경우 범위를 지정할 특정 프로젝트를 선택합니다. 이 2가지 옵션에 대한 자세한 내용은 액세스 수준(내장 워크플로우만 해당)을 참조하십시오.

        참고: 

      3. 도메인 허용 목록에서 아래의 도메인 서식 지정에 설명된 규칙을 사용하여 뷰 또는 메트릭을 내장할 수 있는 위치를 제어합니다.

        중요: Tableau 콘텐츠가 허용된 위치에만 내장되도록 보장하는 보안 모범 사례로 도메인 허용 목록을 사용하는 것이 좋습니다.

      4. 작업을 마치면 만들기 단추를 클릭합니다.

  5. 연결된 앱 이름 옆의 동작 메뉴를 클릭하고 사용을 선택합니다. 연결된 앱은 보안을 위해 앱을 만들 때 기본적으로 사용되지 않도록 설정됩니다.

  6. 연결된 앱의 ID(클라이언트 ID라고도 함)을 기록하여 아래의 3단계에서 사용합니다.

2단계: 암호 생성

연결된 각 앱에 대해 총 2개의 암호를 생성할 수 있습니다. 두 번째 암호를 암호 교체용으로 사용하여 암호가 손상된 경우 문제를 방지할 수 있습니다.

  1. 1단계에서 만든 연결된 앱의 세부 정보 페이지에서 새 암호 생성 단추를 클릭합니다.

  2. 아래의 3단계에서 사용할 암호 ID와 암호 값을 기록합니다.

3단계: JWT 구성

암호를 생성한 후 외부 응용 프로그램에서 유효한 JWT를 보내야 할 수 있습니다. JWT는 양방 간에 안전하게 정보를 전송하는 데 사용되는 표준입니다. JWT는 외부 응용 프로그램에 의해 서명되어 Tableau Cloud으로 안전하게 정보를 전송합니다. JWT는 연결된 앱, 세션의 대상 사용자 및 사용자의 액세스 수준을 참조합니다.

유효한 JWT에는 다음 정보가 포함됩니다.

  • 1단계의 연결된 앱 ID(클라이언트 ID)
  • 2단계에서 생성한 암호 ID 및 암호 값

  • 등록된 클레임 및 헤더:

    클레임이름설명 또는 필요한 값
    "kid"Secret ID필수입니다(헤더에 필요). 연결된 앱의 암호 키 식별자입니다.
    "iss"Issuer필수입니다(헤더에 필요). 신뢰할 수 있는 연결된 앱 및 서명 키를 식별하는 고유한 발급자 URI입니다.
    "alg"Algorithm필수입니다(헤더에 필요). JWT 서명 알고리즘입니다. HS256만 지원됩니다.
    "sub"Subject인증된 Tableau Cloud 사용자의 사용자 이름(이메일 주소)입니다.
    "aud"Audience값은 "tableau"여야 합니다.
    "exp"Expiration Time유효한 JWT는 만료되지 않아야 합니다. JWT의 만료 시간(UTC 기준)은 최대 유효 기간(10분) 안에 있어야 합니다.
    "jti"JWT ID클레임으로 필요합니다. JWT ID 클레임은 JWT의 고유 식별자를 제공하며 대/소문자를 구분합니다.
    "scp"

    중요: "scope"를 사용하지 마십시오.

    Scope내장 워크플로우의 경우 지원되는 값은 다음과 같습니다.

    "tableau:views:embed"
    'tableau:views:embed_authoring'
    "tableau:metrics:embed"(2023년 10월에 사용 중지됨(Tableau 2023.3))
    'tableau:ask_data:embed'(2024년 2월(Tableau 2024.1)에 사용 중지됨)

    참고:

    • 값을 목록 유형으로 전달해야 합니다.
    • tableau:views:embedtableau:views:embed_authoring의 경우 범위는 Tableau Cloud에서 이미 구성된 사용자의 사용 권한을 따르며 원본 뷰에서 사용할 수 있는 경우 내장된 뷰에서 도구와 상호 작용할 수 있습니다.
    • 내장 코드에는 툴바 매개 변수를 제외하는 것이 좋습니다. 자세한 내용은 아래에서 알려진 문제(내장 워크플로우만 해당)를 참조하십시오.

    REST API 권한 부여 워크플로우의 경우 JWT 권한 부여를 지원하는 REST API 메서드를 참조하십시오.

    인증을 위해 REST API를 사용하는 메타데이터 API 워크플로우의 경우 유일하게 지원되는 범위는 tableau:content:read입니다.

    https://tableau.com/odaOn-demand access - claim(기능 사용)내장 워크플로우만 해당합니다.

    값은 "true"여야 하며 하나 이상의 Tableau Cloud 그룹을 지정해야 합니다(다음 행 참조). 자세한 내용은 아래의 주문형 액세스(내장 워크플로우만 해당) 섹션을 참조하십시오.

    https://tableau.com/groupsOn-demand access - claim(그룹 이름 지정)내장 워크플로우만 해당합니다.

    값은 Tableau Cloud에 있는 하나 이상의 그룹 이름과 일치해야 합니다. 자세한 내용은 아래의 주문형 액세스(내장 워크플로우만 해당) 섹션을 참조하십시오.

      내장 워크플로우만 해당합니다.

    값은 Tableau Cloud에 있는 하나 이상의 그룹 이름과 일치해야 합니다. 자세한 내용은 아래의 동적 그룹 멤버십(내장 워크플로만 해당) 섹션을 참조하십시오.

    (사용자 특성)(사용자 특성 값)내장 워크플로우만 해당합니다.

    사용자 특성을 JWT에 포함할 수 있습니다. 내장된 콘텐츠에서 사용자 특성 함수가 사용되는 경우 Tableau는 인증된 사용자의 컨텍스트를 확인하고 런타임 시 표시할 수 있는 데이터를 결정합니다.

    참고:

예제 JWT

다음은 Java 및 Python 언어의 예제 JWT입니다. Java 및 Python 예제에는 각각 nimbus-jose-jwt 라이브러리와 PyJWT 라이브러리가 사용됩니다.

Java

import com.nimbusds.jose.*;
import com.nimbusds.jose.crypto.*;
import com.nimbusds.jwt.*;

import java.util.*;

...

String secret = "secretvalue";
	String kid = "connectedAppSecretId";
	String clientId = "connectedAppClientId";
	List<String> scopes = new
ArrayList<>(Arrays.asList("tableau:views:embed"));
	String username = "user@domain.com";
	JWSSigner signer = new MACSigner(secret);
	JWSHeader header = new
JWSHeader.Builder(JWSAlgorithm.HS256).keyID(kid).customParam("iss", clientId).build();
	JWTClaimsSet claimsSet = new JWTClaimsSet.Builder()
		.issuer(clientId)
		.expirationTime(new Date(new Date().getTime() + 60 * 1000)) //expires in 1 minute
		.jwtID(UUID.randomUUID().toString())
		.audience("tableau")
		.subject("username")
		.claim("scp", scopes)
		.claim("https://tableau.com/oda", "true")
		.claim("https://tableau.com/groups", "Contractors", "Team C", "Group1", "Group2")
		.claim("Region", "East")
		.build();
	SignedJWT signedJWT = new SignedJWT(header, claimsSet);
	signedJWT.sign(signer);
	model.addAttribute("token", signedJWT.serialize());

Python

import jwt

token = jwt.encode(
	{
		"iss": connectedAppClientId,
		"exp": datetime.datetime.utcnow() + datetime.timedelta(minutes=5),
		"jti": str(uuid.uuid4()),
		"aud": "tableau",
		"sub": user,
		"scp": ["tableau:views:embed", "tableau:metrics:embed"],
		"https://tableau.com/oda":"true",
		"https://tableau.com/groups": ["Contractors", "Team C", "Group1", "Group2"],
		"Region": "East"
	},
		connectedAppSecretKey,
		algorithm = "HS256",
		headers = {
		'kid': connectedAppSecretId,
		'iss': connectedAppClientId
        }
  )

JWT를 구성한 후 외부 응용 프로그램에서 코드를 실행하면 토큰이 생성됩니다.

4단계: 다음 단계

내장 워크플로우의 경우

JWT를 구성한 후에는 외부 응용 프로그램에 내장 코드를 추가해야 합니다. 위의 3단계에서 구성한 유효한 JWT를 외부 응용 프로그램에서 호출하는 웹 구성 요소에 포함해야 합니다.

Tableau 콘텐츠 내장에 대한 자세한 내용은 다음을 참조하십시오.

참고: 사용자가 내장된 콘텐츠에 액세스할 때 성공적으로 인증하려면, 타사 쿠키를 허용하도록 브라우저를 구성해야 합니다.

REST API 권한 부여 워크플로우의 경우

JWT를 구성한 후에는 유효한 JWT를 REST API 로그인 요청에 추가해야 액세스 권한이 부여됩니다. 자세한 내용은 연결된 앱의 액세스 범위를 참조하십시오.

메타데이터 API 워크플로우의 경우

JWT를 구성한 후에는 유효한 JWT를 REST API 로그인 요청에 추가해야 합니다. 자세한 내용은 연결된 앱의 액세스 범위를 참조하십시오.

연결된 앱 관리

연결된 앱 페이지는 사이트의 모든 연결된 앱을 관리할 수 있는 위치입니다. 연결된 앱 만들기, 삭제 및 사용 해제와 같은 작업과 기존 암호가 손상된 경우 기존 암호를 해지하거나 새 암호를 생성하는 등의 작업을 수행할 수 있습니다.

  1. 사이트 관리자로 Tableau Cloud에 로그인합니다.

  2. 왼쪽 패널에서 설정 > 연결된 앱을 선택합니다.

  3. 관리하려는 연결된 앱 옆의 확인란을 선택하고 다음 중 하나 이상을 수행합니다.

    • 조직의 보안 정책에 지정된 교체 일정에 따라 새 암호를 생성합니다. 추가 암호를 생성하려면 연결된 앱의 이름을 클릭한 다음 새 암호 생성 단추를 클릭합니다. 연결된 앱에는 최대 2개의 암호를 사용할 수 있습니다. 두 암호 모두 동시에 활성화될 수 있고 만료되지 않으며 삭제되기 전까지 유효한 상태로 유지됩니다.

    • 연결된 앱의 이름을 클릭하고 앱이 만들어진 시기, ID, 프로젝트 및 도메인 범위와 암호를 확인하여 연결된 앱의 세부 정보를 검토합니다.

    • 동작 메뉴에서 편집을 선택하여 프로젝트 범위 또는 도메인을 변경합니다. 변경을 수행하고 업데이트를 클릭합니다.

      참고: 프로젝트 또는 도메인 범위를 변경하는 경우 내장된 콘텐츠가 새 프로젝트 또는 새 도메인에 없으면 내장된 뷰 또는 메트릭을 표시할 수 없으며 사용자가 내장된 콘텐츠에 액세스하려고 하면 오류가 표시됩니다.

    • 연결된 앱의 이름을 클릭하여 암호를 삭제합니다. 연결된 앱의 페이지에서 암호 옆의 동작을 클릭하고 삭제를 선택합니다. 확인 대화 상자에서 삭제를 다시 선택합니다.

      참고: 연결된 앱의 암호가 외부 응용 프로그램에 사용되는 경우 암호가 삭제된 후에는 내장된 뷰 또는 메트릭을 표시할 수 없습니다. 자세한 내용은 아래의 연결된 앱 사용 해제 또는 삭제 또는 암호 삭제의 효과를 참조하십시오.

    • 동작 메뉴에서 사용 안 함을 선택하여 연결된 앱을 사용하지 않도록 설정합니다. 연결된 앱이 외부 응용 프로그램에 사용되는 경우 연결된 앱이 사용되지 않도록 설정된 후에는 내장된 뷰 또는 메트릭을 표시할 수 없습니다. 자세한 내용은 아래의 연결된 앱 사용 해제 또는 삭제 또는 암호 삭제의 효과를 참조하십시오.

연결된 앱 사용 해제 또는 삭제 또는 암호 삭제의 효과

연결된 앱을 통해 사용자에게 내장된 뷰를 표시하거나 REST API 액세스를 사용하려면 연결된 앱을 사용하도록 설정하고 암호를 생성해야 합니다. 연결된 앱이 외부 응용 프로그램에 사용되는 중에 사용 해제 또는 삭제되었거나 암호가 삭제 또는 교체된 경우 403 오류가 발생합니다.

이 문제를 방지하려면 연결된 앱이 사용되도록 설정되었고 JWT에 올바른 암호 ID와 값이 사용되는지 확인하십시오.

액세스 수준(내장 워크플로우만 해당)

연결된 앱의 액세스 수준을 구성할 때 2가지 프로젝트 유형 중 하나를 선택할 수 있습니다. 액세스 수준은 내장 가능한 콘텐츠를 제어합니다.

  • 모든 프로젝트: 이 옵션을 선택하면 모든 프로젝트의 콘텐츠를 내장할 수 있습니다.
  • 단일 프로젝트만: 이 옵션을 선택하면 지정된 프로젝트의 콘텐츠만 내장할 수 있습니다. 지정된 프로젝트에 중첩된 프로젝트가 있는 경우 이 중첩된 프로젝트의 콘텐츠를 내장하는 것은 사용되지 않습니다.

다중 프로젝트 정보

2024년 2월부터(Tableau 2024.1), 연결된 앱의 다중 프로젝트에서 Tableau REST API만 사용하여 콘텐츠를 사용하도록 설정할 수 있습니다. 특정 프로젝트를 지정하려면 연결된 앱 만들기(링크가 새 창에서 열림) 또는 연결된 앱 업데이트(링크가 새 창에서 열림) 메서드 중 하나에서 '프로젝트 ID'를 사용하십시오.

참고: 연결된 앱에 대해 다중 프로젝트가 구성된 경우 Tableau에서 연결된 앱의 액세스 수준에 다중 프로젝트가 표시됩니다. 단일 프로젝트만 또는 모든 프로젝트 중 하나를 선택하고 연결된 앱을 업데이트하면 '다중 프로젝트' 옵션이 더 이상 표시되지 않습니다. 다중 프로젝트에 대해 연결된 앱을 다시 구성해야 하는 경우 REST API를 사용해야 합니다.

도메인 허용 목록 규칙(내장 워크플로우만 해당)

연결된 앱의 도메인 허용 목록을 사용하면 내장된 Tableau 콘텐츠에 대한 액세스를 모든 도메인 또는 일부 도메인으로 제한할 수 있습니다. 또는 일부 도메인을 제외하거나 모든 도메인을 차단할 수 있습니다.

중요: Tableau 콘텐츠가 허용된 위치에만 내장되도록 보장하는 보안 모범 사례로 도메인 허용 목록을 사용하는 것이 좋습니다.

도메인 옵션

연결된 앱의 도메인 허용 목록을 구성할 때 2가지 옵션 중 하나를 선택할 수 있습니다.

  • 모든 도메인: 기본 옵션인 이 옵션을 사용하면 내장된 콘텐츠에 대한 액세스가 제한되지 않습니다.
  • 특정 도메인만: 이 옵션을 사용하면 내장된 콘텐츠에 대한 액세스 범위를 좁힐 수 있습니다. 이 옵션을 사용하는 경우 도메인 서식 지정 섹션에 지정된 서식 지정 규칙을 따릅니다.

도메인 서식 지정

도메인 허용 목록 텍스트 상자에 아래 서식 예를 사용하여 하나 이상의 도메인을 입력할 수 있습니다.

참고: 도메인 서식 지정 규칙은 Tableau REST API에서 연결된 앱 메서드(링크가 새 창에서 열림)를 사용하는 경우에도 적용됩니다.

다음은 일반적인 시나리오에 따른 몇 가지 서식 지정 예제입니다.

지정할 항목...내장 액세스
도메인 범위*.myco.commyco.com 아래의 모든 하위 도메인에서 내장된 콘텐츠에 액세스할 수 있습니다.
모든 포트myco.com:*myco.com 아래의 모든 포트에서 내장된 콘텐츠에 액세스할 수 있습니다.
특정 포트myco.com:8080myco.com 아래 8080 포트의 내장된 콘텐츠에만 액세스할 수 있습니다.
다수의 개별 도메인myco.com
events.myco.com
ops.myco.com

3개 도메인 모두에서 내장된 콘텐츠에 액세스할 수 있습니다.

참고: 여러 도메인을 지정하는 경우 각 도메인을 한 줄에 하나씩 입력하거나 도메인을 공백으로 구분하십시오. REST API의 경우 도메인을 공백으로 구분해야 합니다.

보안 트래픽 전용https:도메인에 관계없이 내장된 콘텐츠를 안전하게 액세스할 수 있습니다.
다양한 도메인의 모든 포트에 대한 보안 트래픽https:*myco.com:*myco.com 아래 모든 하위 도메인의 모든 포트에서 내장된 콘텐츠에 안전하게 액세스할 수 있습니다.
도메인 없음[도메인 없음]내장된 콘텐츠에 대한 액세스가 차단됩니다.

주문형 액세스(내장 워크플로우만 해당)

2023년 10월부터 내장된 분석 기능(링크가 새 창에서 열림) 사용량 기반 모델로 사이트에 라이선스가 부여된 경우 주문형 액세스를 사용하여 내장된 Tableau 콘텐츠에 대한 액세스를 더 많은 사용자로 확장할 수 있습니다. 주문형 액세스를 사용하면 사용자가 Tableau Cloud 사이트에서 사용자를 프로비저닝할 필요 없이 연결된 앱을 통해 인증된 Tableau 내장 콘텐츠와 상호 작용할 수 있습니다. 주문형 액세스를 사용하면 내장된 콘텐츠에 대한 액세스를 지원하기 위해 Tableau Cloud에서 사용자를 추가하고 관리할 필요가 없습니다.

주문형 액세스 작동 방식

주문형 액세스를 사용하여 내장된 Tableau 콘텐츠에 대한 액세스 권한은 상속되거나(예: 프로젝트 수준에서) 콘텐츠에 직접 적용되는 그룹 수준 사용 권한에 따라 결정됩니다. 사이트 관리자, 프로젝트 소유자 또는 리더, 콘텐츠 소유자 등의 사용자는 콘텐츠에 그룹 수준 사용 권한을 할당할 수 있습니다. 사용자가 주문형 액세스 기능을 통해 활성화된 내장된 콘텐츠에 액세스하면 Tableau는 콘텐츠를 표시하기 전에 JWT에 올바른 그룹 멤버십이 포함되어 있는지 확인합니다.

필수 요건

내장된 콘텐츠에 대한 주문형 액세스를 사용하려면 다음 기준을 충족해야 합니다.

  1. 내장된 분석 기능(링크가 새 창에서 열림) 모델로 사이트에 라이선스가 부여됨
  2. 그룹에 주문형 액세스 기능을 사용하도록 설정
  3. Tableau 콘텐츠에 그룹 사용 권한을 지정
  4. Tableau 연결된 앱 만들기
  5. 연결된 앱에서 사용하는 JWT에는 https://tableau.com/odahttps://tableau.com/groups 클레임이 포함됩니다.
  6. Tableau 콘텐츠를 외부 응용 프로그램에 내장

이러한 기준이 충족되면 사용자가 주문형 액세스 기능을 통해 활성화된 내장된 Tableau 콘텐츠와 상호 작용할 수 있습니다.

주문형 액세스 기능 사용

그룹에 주문형 액세스 기능을 사용하도록 설정하려면 그룹을 만들거나 편집할 때 주문형 액세스 허용 확인란을 선택해야 합니다. 그룹을 만드는 방법에 대한 자세한 내용은 그룹 만들기와 그룹에 사용자 추가를 참조하십시오.

이 기능은 Tableau REST API를 사용하여 설정할 수도 있습니다. 자세한 내용은 Tableau REST API 도움말의 그룹 만들기(링크가 새 창에서 열림)그룹 업데이트(링크가 새 창에서 열림) 메서드를 참조하십시오.

주문형 액세스를 사용하는 경우의 기능

내장된 Tableau 콘텐츠에 액세스하는 사용자에게는 콘텐츠에 대한 보기 기능(링크가 새 창에서 열림)이 있습니다. 사용자는 그룹에 대해 구성할 수 있는 사용자 지정 기능이나 선택한 템플릿에 관계없이 보기 기능을 갖습니다. 예를 들어 Viewer(뷰어) 역할을 가진 사용자는 특정 데이터 원본에서 해당 기능이 명시적으로 부여된 경우에도 데이터 원본을 다운로드할 수 없습니다.

주문형 액세스 모니터링

Advanced Management(링크가 새 창에서 열림)가 적용된 Tableau Cloud를 사용하면 작업 로그를 사용하여 주문형 액세스 사용량을 모니터링할 수 있습니다. 주문형 액세스를 수집하는 활동 로그의 이벤트에는 뷰 액세스로그인이 포함되지만 이에 국한되지는 않습니다. 이러한 이벤트에 대한 자세한 내용은 작업 로그 이벤트 유형 참조를 참조하십시오.

제한 사항

주문형 액세스 워크플로우를 사용하면 내장된 Tableau 콘텐츠에 액세스하는 특정 사용자가 익명으로 그리고 임시로 Tableau Cloud에 액세스할 수 있으므로 주문형 액세스 기능을 통해 활성화된 내장된 콘텐츠에 액세스하는 사용자에게는 다음 기능이 금지됩니다.

  • 사용자 지정 뷰 만들기
  • 콘텐츠 공유 단추를 사용하여 콘텐츠 공유
  • 정보 스냅샷을 이메일로 받기 위한 콘텐츠 구독

참고: 2024년 2월(Tableau 2024.1)부터 주문형 액세스 권한이 있는 사용자는 Tableau REST API 요청을 할 수 있습니다.

동적 그룹 멤버십(내장 워크플로만 해당)

2024년 6월(Tableau 2024.2)부터 연결된 앱이 구성되어 있고 해당 기능의 설정이 사용하도록 설정된 경우 외부 응용 프로그램이 전송한 JWT에 포함된 사용자 지정 클레임을 통해 그룹 멤버십을 동적으로 제어할 수 있습니다.

구성된 경우 사용자 인증 중에 외부 응용 프로그램은 사용자를 어설션할 그룹((https://tableau.com/groups)과 그룹 이름(예: "Group1" 및 "Group2")이라는 두 개의 사용자 지정 그룹 멤버십 클레임이 포함된 JWT를 전송합니다. Tableau는 JWT의 유효성을 검사한 다음 그룹 및 콘텐츠(사용 권한이 해당 그룹에 따라 달라짐)에 대한 액세스를 허용합니다.

자세한 내용은 어설션을 사용한 동적 그룹 멤버십를 참조하십시오.

알려진 문제(내장 워크플로우만 해당)

연결된 앱을 사용하는 경우 몇 가지 알려진 문제가 있으며, 이는 향후 릴리스에서 해결될 예정입니다.

  • 툴바 기능: 내장된 콘텐츠에 툴바 매개 변수가 정의되어 있으면 일부 툴바 기능이 작동하지 않습니다. 이 문제를 해결하려면 아래 예와 같이 툴바 매개 변수를 숨기는 것이 좋습니다.

    <tableau-viz id='tab-viz' src='https://online.tableau.com/t/<your_site>/...'
    	toolbar='hidden'>
    </tableau-viz>

  • 게시된 데이터 원본: 데이터베이스 자격 증명이 사용자에게 확인으로 설정된 경우 게시된 데이터 원본이 표시되지 않습니다. 이 문제를 해결하려면 가능한 경우 데이터 원본 소유자가 대신 데이터베이스 자격 증명을 내장하는 것이 좋습니다.

  • 내장된 대시보드의 데이터에 질문 개체: 내장된 대시보드의 데이터에 질문 개체는 로드되지 않습니다. (2024년 2월(Tableau 2024.1)에 Tableau가 데이터에 질문(Ask Data)을 사용 중지합니다.)

  • 메트릭 및 도메인 허용 목록: 내장된 메트릭 뷰는 연결된 앱의 도메인 허용 목록에서 지정할 수 있는 액세스 제한에도 불구하고 표시됩니다. 참고: 내장된 뷰의 툴바에서 액세스되는 메트릭 데이터는 예상대로 작동합니다. ( 2023년 10월(Tableau 2023.3)에서 메트릭 내장 기능이 사용 중지되었습니다.)

문제 해결

연결 앱과 관련될 수 있는 오류와 제안되는 문제 해결 단계는 연결된 앱 - 직접 신뢰의 문제 해결을 참조하십시오.

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