---
schema_version: "1"
id: 785fc6f79ffa5056f65b37b918284ce20a8a5d03a17210e37c5791bd0eda9c65
title: 연결된 앱의 액세스 범위
collection: tableau
version: next
locale: ko-kr
portal_url: https://docs.salesforce.com/tableau/next/ko-kr/online/connected_apps_scopes.md
canonical_url: https://help.tableau.com/v0.0/online/ko-kr/connected_apps_scopes.htm
source_site: help.tableau.com
content_type: documentation
content_hash: caa4c6337c183188db338af1fd0ec0359de45c61f57fb9e2e7061ad4690b0dff
description: Reference of access scopes that authorize REST API methods for connected apps via JWT.
---
[주요 콘텐츠로 건너뛰기](#main-content)

# 연결된 앱의 액세스 범위

2022년 6월부터 Tableau의 연결된 앱을 사용하여 Tableau Cloud 사용자 대신 사용자 지정 응용 프로그램을 통해 Tableau REST API를 프로그래밍 방식으로 호출하고 액세스할 수 있습니다. REST API에 대한 액세스는 초기 로그인 요청의 일부로 정의된 JWT(JSON Web Token)로 지원됩니다. JWT에는 사용자 지정 응용 프로그램과 해당 사용자가 연결된 앱을 통해 사용할 수 있는 REST API 메서드를 정의하는 범위가 포함되어야 합니다.

연결된 앱을 사용하여 REST API에 액세스할 수 있는 권한을 부여하면 다음과 같은 이점이 있습니다.

- 효율성 개선 - JWT를 전달자 토큰으로 사용하면 로그인 엔드포인트에 요청을 두 번이 아닌 한 번만 전송하여 가장을 간소화할 수 있음
- 복잡한 Tableau 통합 및 백엔드 쿼리(예: 동적 콘텐츠 검색 및 고급 필터링)를 확장하고 자동화할 수 있음

## 범위 동작

연결된 앱은 범위를 사용하여 [JWT 권한 부여를 지원하는 REST API 메서드](#scopes)를 통해 콘텐츠 관리 동작에 대한 액세스 권한을 부여합니다(아래 참조). 범위는 콜론으로 구분되는 문자열이며 `tableau` 네임스페이스로 시작되어 액세스 권한이 부여된 Tableau 리소스(예: `datasources`)가 뒤에 오고 해당 리소스에서 허용되는 동작(예: `update`)으로 끝납니다.

범위에 사용될 수 있는 동작은 다음과 같습니다.

- `create`
- `read`
- `run`
- `update`
- `download`
- `delete`

예를 들어 사용자 지정 응용 프로그램에서 [데이터 원본 업데이트](https://help.tableau.com/current/api/rest_api/ko-kr/REST/rest_api_ref_data_sources.htm#update_data_source) 메서드를 호출할 수 있도록 허용하는 범위는 `tableau:datasources:update`와 같습니다.

## 범위 유형

사용하는 범위 유형은 사용하려는 콘텐츠 또는 관리 동작에 따라 다릅니다. 범위는 일반적으로 콘텐츠 읽기, 개별, 와일드카드 및 교차 범주 유형 중 하나에 포함됩니다.

- **콘텐츠 읽기 범위:** 콘텐츠 읽기 범위인 `tableau:content:read`를 사용하면 Tableau 콘텐츠에 지원되는 GET 메서드를 사용할 수 있습니다. 이 범위를 사용할 때는 여러 REST API 범주에 걸쳐 동작이 사용됩니다. 보다 구체적으로 말해 이 범위를 사용하면 데이터 원본, 메트릭, 뷰, 통합 문서, 프로젝트 및 사이트에 GET 메서드를 사용할 수 있습니다. Tableau Cloud 2023년 10월부터 [메타데이터 API](https://help.tableau.com/current/api/metadata_api/ko-kr/docs/meta_api_auth.html)와 함께 사용할 자격 증명 토큰을 생성하는 데 사용되는 JWT에서 이 범위를 지정합니다. Tableau Cloud 2025년 2월부터 [VizQL 데이터 서비스](https://help.tableau.com/current/api/vizql-data-service/ko-kr/index.html)와 함께 사용할 자격 증명 토큰을 생성하는 데 사용되는 JWT에서도 이 범위를 지정합니다.
    
    **참고:** 사용자 및 그룹과 같은 관리 동작에 GET 메서드를 사용하려면 해당하는 개별 범위를 사용하면 됩니다.
- **개별 범위:** 지원되는 콘텐츠 및 관리 동작을 사용하려면 해당하는 개별 범위를 사용하면 됩니다. 개별 범위는 일반적으로 단일 메서드 및 REST API 범주와 연결됩니다.
    
    예:
    
    - 데이터 원본 게시 또는 업데이트 동작을 사용하려면 개별 `tableau:datasources:create` 또는 `tableau:datasources:update` 범위를 각각 사용하면 됩니다.
    - 사용자 추가 또는 제거와 같은 관리 동작의 경우 개별 `tableau:users:create` 또는 `tableau:users:delete` 범위를 각각 사용하면 됩니다.
    
    **참고:** 일부 개별 범위의 경우 여러 REST API 범주에 걸쳐 동작을 사용할 수 있습니다. 예를 들어 `tableau:views:download`를 사용하면 뷰 데이터 및 통합 문서 REST API 범주에서 동작을 사용할 수 있습니다.
- **[와일드카드(\*) 범위:](#wildcard)** 특정 범위의 경우 와일드카드 문자(\*)로 동작을 대체하여 특정 REST API 범주 내에서 지원되는 동작을 사용할 수 있습니다.
    
    예:
    
    - `tableau:projects:*` 와일드카드 범위를 사용하면 프로젝트 REST API 범주에서 만들기, 삭제, 업데이트 동작을 사용할 수 있습니다.
    - `tableau:users:*` 와일드카드 범위를 사용하면 사용자 REST API 범주에서 가져오기/나열, 추가, 삭제, 업데이트 동작을 사용할 수 있습니다.
    - `tableau:tasks:*` 와일드카드 범위를 사용하면 추출 및 구독 REST API 범주에서 가져오기/나열, 추가, 삭제, 업데이트 및 실행 동작을 사용할 수 있습니다. 또한 이 범위를 사용하면 데이터 원본 업데이트(추출인 경우) 및 통합 문서 업데이트가 가능합니다.
- **[교차 범주 범위:](#cross)** 콘텐츠 읽기 범위뿐 아니라 몇 가지 추가 범위를 사용하여 여러 REST API 범주에 걸쳐 지원되는 동작을 사용할 수 있습니다.
    
    예:
    
    - `tableau:tasks:run` 범위를 사용하면 데이터 원본 및 통합 문서 REST API 범주에서 동작을 사용할 수 있습니다.
    - 마찬가지로, `tableau:views:download` 범위를 사용하면 뷰 데이터 및 통합 문서 REST API 범주에서 동작을 사용할 수 있습니다.
    - `tableau:permissions:update` 또는 `tableau:permissions:delete`와 같은 사용 권한 범위를 사용하면 데이터 원본, 통합 문서 및 프로젝트 REST API 범주에서 동작을 사용할 수 있습니다.

## REST API 액세스 권한 부여 방법 요약

다음 목록은 JWT를 통해 REST API에 대한 액세스 권한을 요청하는 단계를 요약한 것입니다.

1. 다음 방법 중 하나를 사용하여 **연결된 앱 만들기**
    - [직접 신뢰를 사용하여 연결된 앱 구성](https://help.tableau.com/v0.0/online/ko-kr/connected_apps_direct.htm)
    - [OAuth 2.0 신뢰를 사용하여 연결된 앱 구성](https://help.tableau.com/v0.0/online/ko-kr/connected_apps_eas.htm)
2. **유효한 JWT 생성** - 포함된 범위로 구성된 유효한 JWT가 사용자 지정 응용 프로그램을 통해 생성됨
3. **[로그인](https://help.tableau.com/current/api/rest_api/ko-kr/REST/rest_api_ref_authentication.htm#sign_in) 요청 만들기** - 사용자 지정 응용 프로그램에서 JWT를 사용하여 Tableau 자격 증명 토큰 및 사이트 ID(LUID)를 반환하는 로그인 요청을 생성함
4. **후속 요청에서 Tableau 액세스 토큰 사용** - 후속 REST API 호출에서 1) Tableau 자격 증명 토큰을 [`X-Tableau-Auth`](https://help.tableau.com/current/api/rest_api/ko-kr/REST/rest_api_concepts_auth.htm#using_auth_token) 헤더 값으로 사용하고 2) 사이트 ID(LUID)를 요청 URI에 사용

### 예

예를 들어 직접 신뢰를 사용하여 연결된 앱을 만든다고 하겠습니다. 직접 신뢰를 사용하면 REST API를 호출하는 사용자 지정 응용 프로그램에서 연결된 앱을 통해 생성된 클라이언트 ID와 클라이언트 암호를 사용하여 유효한 JWT를 생성합니다.

**JWT의 범위**

REST API에 대한 액세스 권한을 성공적으로 부여하려면 JWT에 REST API 기능을 정의하는 범위가 포함되어야 합니다. 예를 들어 다양한 데이터 원본 관련 메서드를 사용하려면 JWT에 다음 범위를 포함할 수 있습니다.

`"tableau:content:read","tableau:datasources:create","tableau:datasources:update","tableau:datasources:download","tableau:tasks:run"`

또는

`"tableau:content:read","tableau:datasources:*","tableau:tasks:run"`

**참고:** 범위 값을 목록 유형으로 전달해야 합니다.

**로그인 요청 URI**

REST API를 호출하려면 사용자 지정 응용 프로그램에서 먼저 Tableau 자격 증명 토큰을 생성하기 위한 로그인 요청을 전송해야 합니다.

```
POST https://us-west-2b.online.tableau.com/api/3.16/auth/signin
```

**요청 본문**

JWT를 사용하여 REST API 액세스 권한을 부여하려면 로그인 요청 본문에 아래 예제와 같은 유효한 JWT를 포함해야 합니다.

```
<tsRequest>
   <credentials jwt="eyJpc3MiOiI4ZTFiNzE3Mi0zOWMzLTRhMzItODg3ZS1mYzJiNDExOWY1NmQiLCJhbGciOiJIUzI1NiIsImtpZCI6ImIwMTE1YmY5LTNhNGItNGM5MS1iMDA5LWNmMGMxNzBiMWE1NiJ9.eyJhdWQiOiJ0YWJsZWF1Iiwic3ViIjoicm1vaGFuQHRhYmxlYXUuY29tIiwic2NwIjpbInRhYmxlYXU6c2l0ZXM6cmVhZCJdLCJpc3MiOiI4ZTFiNzE3Mi0zOWMzLTRhMzItODg3ZS1mYzJiNDExOWY1NmQiLCJleHAiOjE2NDg2Njg0MzksImp0aSI6IjY1ZWFmMmYxLTNmZTgtNDc5Ny1hZmRiLTMyODMzZDVmZGJkYSJ9.mUv2o4gtBTrMVLEXY5XTpzDQTGvfE2LGi-3O2vdGfT8">
    <site contentUrl="mycodotcom"/>
   </credentials>
</tsRequest>
```

**응답 본문**

로그인 요청에서는 Tableau 자격 증명 토큰이 포함된 다음과 같은 응답 본문이 생성됩니다.

```
<tsResponse>
   <credentials token="12ab34cd56ef78ab90cd12ef34ab56cd">
    <site id="9a8b7c6d5-e4f3-a2b1-c0d9-e8f7a6b5c4d" contentUrl=""/>
    <user id="9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d" />
   </credentials>
</tsResponse>
```

Tableau 자격 증명 토큰이 생성되면 이를 모든 후속 REST API 요청의 헤더에 추가합니다.

**헤더**

X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd

Tableau 액세스 토큰을 사용하는 모든 후속 REST API 요청은 JWT의 범위로 바인딩됩니다.

## JWT 권한 부여를 지원하는 REST API 메서드

연결된 앱의 범위는 사용자 대신 사용자 지정 응용 프로그램이 Tableau REST API 기능에 액세스할 수 있도록 권한을 부여합니다.

### 범위를 찾는 방법

JWT 지원 메서드에 필요한 범위는 [Tableau REST API](https://help.tableau.com/current/api/rest_api/ko-kr/REST/rest_api.htm) 도움말의 속성 블록에서 확인할 수 있습니다. 메서드의 속성 블록에 범위가 명시되지 않은 경우, 해당 메서드에 대한 액세스를 JWT로 제어할 수 없습니다.

예를 들어 Tableau REST API에서 [사이트 쿼리](https://help.tableau.com/current/api/rest_api/ko-kr/REST/rest_api_ref_site.htm#query_site) 메서드를 호출할 수 있는 범위는 `tableau:sites:read`와 같습니다.

**참고:**

- [로그인](https://help.tableau.com/current/api/rest_api/ko-kr/REST/rest_api_ref_authentication.htm#sign_in) 및 [로그아웃](https://help.tableau.com/current/api/rest_api/ko-kr/REST/rest_api_ref_authentication.htm#sign_out) 방법 모두는 JWT 권한 부여로 지원되지만 2023년 6월(Tableau 2023.2)부터는 사용할 범위가 필요하지 않습니다.
- Embedding API v3으로 지원되는 범위는 다음 중 하나를 참조하십시오.
    - [직접 신뢰를 사용하여 연결된 앱 구성](https://help.tableau.com/v0.0/online/ko-kr/connected_apps_direct.htm)
    - [OAuth 2.0 신뢰를 사용하여 연결된 앱 구성](https://help.tableau.com/v0.0/online/ko-kr/connected_apps_eas.htm)
- 2025년 12월부터, 나열된 범위에서는 UAT(통합 액세스 토큰)를 통한 REST API 권한 부여도 지원합니다. 즉, 연결된 앱과 UAT 범위는 같습니다.

### 범위 유형

#### 와일드카드(\*) 범위 정보

와일드카드 범위는 특정 동작 대신 와일드카드 문자(\*)를 사용하여 특정 Tableau REST API 범주 내에서 지원되는 여러 동작을 사용할 수 있습니다.

#### 예

<table style="width: 90%;mc-table-style: url('Resources/TableStyles/Basic-Border-Light.css');margin-left: 0;margin-right: auto;" class="TableStyle-Basic-Border" cellspacing="0"><colgroup><col class="TableStyle-Basic-Border-Column-Column1" style="width: 25%;"><col class="TableStyle-Basic-Border-Column-Column1" style="width: 75%;"></colgroup><thead><tr class="TableStyle-Basic-Border-Head-Header1"><th class="TableStyle-Basic-Border-HeadE-Column1-Header1" style="text-align: center;">범위</th><th class="TableStyle-Basic-Border-HeadD-Column1-Header1" style="text-align: center;">사용되는 메서드</th></tr></thead><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>tableau:datasources:*</code></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">데이터 원본 만들기, 업데이트 및 연결 업데이트 메서드를 사용합니다.</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>tableau:metrics:*</code></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">메트릭 쿼리, 업데이트 및 삭제 동작을 사용합니다.</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>tableau:workbooks:*</code></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">통합 문서 이미지 게시, 업데이트, 다운로드 및 미리 보기 동작을 사용합니다.</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>tableau:groups:*</code></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">그룹 만들기, 쿼리, 업데이트 및 삭제 동작을 사용합니다.</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>tableau:projects:*</code></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">프로젝트 만들기, 삭제 및 업데이트 메서드를 사용합니다.</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>tableau:users:*</code></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">사용자 가져오기/나열, 추가, 삭제 및 업데이트 메서드를 사용합니다.</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1"><code>tableau:tasks:*</code><p><b>참고:</b> 이 범위는 교차 범주이기도 합니다.</p></td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">추출 및 구독 작업에 대해 가져오기/나열, 추가, 삭제, 업데이트 및 실행 메서드를 사용합니다.<p>통합 문서의 데이터 원본에 대해 업데이트 메서드를 사용합니다.</p></td></tr></tbody></table>

#### 교차 범주 범위 정보

교차 범주 범위를 사용하면 여러 Tableau REST API 범주에서 지원되는 여러 동작을 사용할 수 있습니다.

#### 예

<table style="width: 90%;mc-table-style: url('Resources/TableStyles/Basic-Border-Light.css');margin-left: 0;margin-right: auto;" class="TableStyle-Basic-Border" cellspacing="0"><colgroup><col class="TableStyle-Basic-Border-Column-Column1" style="width: 25%;"><col class="TableStyle-Basic-Border-Column-Column1" style="width: 75%;"></colgroup><thead><tr class="TableStyle-Basic-Border-Head-Header1"><th class="TableStyle-Basic-Border-HeadE-Column1-Header1" style="text-align: center;">범위</th><th class="TableStyle-Basic-Border-HeadD-Column1-Header1" style="text-align: center;">사용되는 메서드</th></tr></thead><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>tableau:content:read</code></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">데이터 원본, 메트릭, 뷰, 통합 문서, 프로젝트 및 사이트를 포함하여 Tableau 콘텐츠에 대한 읽기/나열 메서드를 사용합니다.</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>tableau:tasks:run</code></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">데이터 원본, 통합 문서 및 추출에 대한 실행 메서드를 사용합니다.</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><code>tableau:views:download</code></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">뷰 데이터 및 통합 문서에 대해 다운로드 메서드를 사용합니다.</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1"><code>tableau:tasks:*</code><p><b>참고:</b> 이 범위는 와일드카드이기도 합니다.</p></td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">추출 및 구독 작업에 대해 가져오기/나열, 추가, 삭제, 업데이트 및 실행 메서드를 사용합니다.<p>통합 문서의 데이터 원본에 대해 업데이트 메서드를 사용합니다.</p></td></tr></tbody></table>

## 범위 문제 해결

### 401001 - 로그인 오류

오류 401001이 발생하면 **로그인** 응답 본문에 연결된 앱 관련 오류 코드 16, 10084 또는 10085 중 하나가 더 추가됩니다.

예를 들어 다음 응답 본문에서 "10084"는 REST API 권한 부여를 위해 JWT를 사용하여 Tableau Cloud에 로그인하는 문제를 해결하는 데 사용할 수 있는 연결된 앱 오류 코드입니다.

<error code="401001">  
  "summary": "Signin Error",
  "detail": "Error signing in to Tableau Cloud (10084)"
</error>

문제를 해결하려면 해당 오류 코드 및 잠재적 원인에 대한 설명을 참조하십시오.

- **16: 사용자를 찾을 수 없음** - 이 오류는 잘못된 "`sub`"(사용자 이름)이 지정되었기 때문에 발생할 수 있습니다.

- **10084: 액세스 토큰을 구문 분석할 수 없음** - 이 오류는 다음과 같은 이유로 발생할 수 있습니다.
    
    - JWT가 잘못되었거나 예기치 않은 문제가 발생했습니다.
    - 잘못된 "`aud`"(audience)가 지정되었습니다.
    - 직접 신뢰를 위한 암호 서명에 문제가 있었습니다.
- **10085: 클라이언트 ID의 서명을 확인하기 위해 암호를 가져올 수 없음** - 이 오류는 다음과 같은 이유로 발생할 수 있습니다.
    
    - "`iss`"에 잘못된 클라이언트 ID가 지정됨
    - 직접 신뢰를 위한 "`kid`"(암호 ID)가 잘못 지정됨
    - OAuth 2.0 신뢰 에 대한 키를 JWKSource에서 가져올 수 없습니다.

### 401002 - 무단 액세스 오류

오류 401002가 발생하고 요청을 수행할 수 있는 적절한 사용 권한이 있음을 확인한 경우 JWT에 포함된 범위가 정확하고 수행하려는 요청과 일치하는지 확인하십시오. 끝점 및 지원되는 범위 목록은 위의 [JWT 권한 부여를 지원하는 REST API 메서드](#scopes) 섹션을 참조하십시오.