REST API へのアクセスを連携アプリを使用して承認することにより、次を実現します。
- 効率の向上 — JWT をベアラー トークンとして使用すると、2 つのリクエストではなく、サインイン エンドポイントへの 1 つのリクエストで偽装を簡単化することができます
- 動的なコンテンツ検索や高度なフィルタリングなど、複雑な Tableau 統合とバックエンド クエリを拡張および自動化します
スコープ アクション
接続済みアプリが使用するスコープは、JWT 認可をサポートする REST API メソッド (下記) を通じて、コンテンツや管理アクションへのアクセス権を付与します。スコープはコロンで区切られた文字列であり、名前空間 tableau
で始まり、アクセスが許可されている Tableau リソース (datasources
など) が続き、そのリソースに対して許可されているアクション (update
など) で終わります。
スコープが実行できるアクションは次のとおりです。
-
create
-
read
-
run
-
update
-
download
-
delete
たとえば、カスタム アプリケーションが UpdateDataSource(新しいウィンドウでリンクが開く) メソッドを呼び出せるようにするスコープは次のようになります。
tableau:datasources:update
使用するスコープの種類は、有効にするコンテンツまたは管理アクションによって異なります。スコープは通常、コンテンツ読み取り、個別、ワイルドカード、クロスカテゴリのいずれかのタイプに分類されます。
-
コンテンツ読み取りスコープ: コンテンツ読み取りスコープ
tableau:content:read
は、Tableau コンテンツに対してサポートされている GET メソッドを有効にします。このスコープを使用すると、REST API カテゴリ全体でアクションを有効にできます。具体的には、このスコープを使用して、データ ソース、メトリクス、ビュー、ワークブック、プロジェクト、およびサイトに対する GET メソッドを有効にします。注: ユーザーやグループなどの管理アクションに対する GET メソッドを有効にするには、それらの個別スコープを使用できます。
-
個別スコープ: サポートされているコンテンツと管理アクションを有効にするには、それらの個別スコープを使用できます。個別スコープは、通常、単一のメソッドと REST API カテゴリに関連付けられています。
例:
- データ ソース アクションのパブリッシュまたは更新を有効にするには、それぞれ個別スコープ
tableau:datasources:create
またはtableau:datasources:update
を使用できます。 - ユーザーの追加または削除などの管理アクションについては、それぞれ個別スコープ
tableau:users:create
またはtableau:users:delete
を使用できます。
注: REST API のカテゴリをまたがるアクションを有効にできる個別スコープもいくつかあります。例えば、
tableau:views:download
は、データの表示やワークブックの REST API カテゴリでアクションを有効にします。 - データ ソース アクションのパブリッシュまたは更新を有効にするには、それぞれ個別スコープ
-
ワイルドカード スコープ: 特定のスコープでは、アクションをワイルドカード文字 (*) に置き換えて、特定の REST API カテゴリ内でサポートされているアクションを有効にすることができます。
例:
- ワイルドカード スコープ
tableau:projects:*
を使用すると、プロジェクトの REST API カテゴリで作成、削除、更新のアクションを有効にできます。 - ワイルドカード スコープ
tableau:users:*
を使用すると、ユーザーの REST API カテゴリでクエリ、追加、削除、更新のアクションを有効にできます。
- ワイルドカード スコープ
-
クロスカテゴリ スコープ: コンテンツ読み取りスコープに加えて、使用すると、異なる 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 へのアクセスをリクエストする手順をまとめたものです。
- 次のいずれかの方法を使用して、連携アプリを作成します。
- 有効な JWT を生成します。カスタム アプリケーションは、指定したスコープで設定された有効な JWT を実行時に生成します
- サインイン(新しいウィンドウでリンクが開く) リクエストを行います。カスタム アプリケーションは、JWT を使用してサインインをリクエストし、Tableau アクセス トークンとサイトID (LUID) を返します。
-
後続のリクエストで Tableau アクセス トークンを使用します。後続の REST API 呼び出しでは、1) Tableau アクセス トークンを
X-Tableau-Auth
(新しいウィンドウでリンクが開く) ヘッダー値として使用し、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 メソッド
次のスコープを連携アプリに関連付けて、カスタム アプリケーションがユーザーに代わって REST API(新しいウィンドウでリンクが開く) に対して持つことができるアクセス権とメソッドを定義できます。
注:
- 以下の表にリストアップされていない REST API 機能については、他の認可メカニズムを使用してメソッドにアクセスできます。詳細については、Tableau REST API ヘルプの「認証メソッド(新しいウィンドウでリンクが開く)」を参照してください。
- 埋め込み API v3 でサポートされているスコープについては、次のいずれかを参照してください。
メソッド | スコープ | 説明 |
---|---|---|
スコープなし | (スコープなし) | JWT でスコープが定義されていない場合、REST API へのアクセスは拒否されます。 |
(コンテンツ読み取りスコープ) |
tableau:content:read
|
Tableau コンテンツ (データ ソース、メトリクス、ビュー、ワークブック、プロジェクト) に対するクエリ アクションを有効にする。 |
データ ソース |
||
データ ソースのパブリッシュ |
tableau:datasources:create
|
データ ソースをサイトにパブリッシュする。または、既存のパブリッシュ済みデータ ソースにデータを追加する。 |
データ ソースの照会 |
tableau:content:read
|
パブリッシュ済みデータ ソースに関する情報を取得する。 |
データ ソースの照会 |
tableau:content:read
|
サイトでパブリッシュされているすべてのデータ ソースに関する情報を取得する。 |
データ ソース接続の照会 |
tableau:content:read
|
パブリッシュ済みデータ ソースのサーバー アドレス、ポート、ユーザー名、またはパスワード情報を取得する。 |
データ ソースの更新 |
tableau:datasources:update
|
データ ソースの所有者、プロジェクト、証明書ステータスを更新する。 |
データ ソース接続の更新 |
tableau:datasources:update
|
データ ソース接続のサーバー アドレス、ポート、ユーザー名、またはパスワードを更新する。 |
データ ソースを今すぐ更新 |
tableau:tasks:run
|
抽出の更新を実行する。 |
(データ ソース メソッド) |
tableau:datasources:*
|
データ ソース アクションのパブリッシュおよび更新を有効にする。 |
フロー |
||
フローのパブリッシュ |
tableau:flows:create
|
フローをパブリッシュする。 |
メトリクス |
||
メトリクスの取得 |
tableau:content:read
|
メトリクスを取得する。 |
メトリクスの削除 |
tableau:metrics:delete
|
メトリクスを削除する。 |
メトリクスを一覧表示 |
tableau:content:read
|
サイトのメトリクスの一覧を取得する。 |
メトリクス データの照会 |
tableau:metrics:download
|
メトリクスの参照元データをカンマ区切り値 (.csv) 形式で取得する。 |
メトリクスの更新 |
tableau:metrics:update
|
所有者、プロジェクト、一時停止ステータス、メトリクス名を更新する。 |
(メトリクス メソッド) |
tableau:metrics:*
|
メトリクス アクションのクエリ、更新、および削除を有効にする。 |
ビュー |
||
ビューの取得 |
tableau:content:read
|
ビューに関する詳細を取得する。 |
パスでビューを取得 |
tableau:content:read
|
指定された名前を使用して、サイトのすべてのビューの詳細を取得する。 |
ビュー データの照会 |
tableau:views:download
|
レンダリングされたビューをカンマ区切り値 (.csv) 形式で取得する。 |
ビュー PDF の照会 |
tableau:views:download
|
ビューを PDF ファイル (.pdf) で取得する。 |
ビュー画像の照会 |
tableau:views:download
|
ビューを画像ファイル (.png) で取得する。 |
サイトのビューの照会 |
tableau:content:read
|
サイトのすべてのビューを取得する。 |
ワークブックのビューの照会 |
tableau:content:read
|
指定されたブックのすべてのビューを取得する。 |
ビューのプレビュー画像の照会 |
tableau:views:download
|
ビューのサムネイル画像 (.png) を取得する。 |
ワークブック |
||
ワークブックのパブリッシュ |
tableau:workbooks:create
|
ワークブック (.twb または .twbx) をパブリッシュする。 |
ワークブックの照会 |
tableau:content:read
|
指定されたワークブックとその詳細を取得する。 |
サイトのワークブックの照会 |
tableau:content:read
|
サイトにパブリッシュされているワークブックのリストを取得する。 |
ワークブックのプレビュー画像の照会 |
tableau:workbooks:download
|
ワークブックのサムネイル画像 (.png) を取得する。 |
ワークブックの更新 |
tableau:workbooks:update
|
既存のワークブックを変更する。 |
ワークブック接続の更新 |
tableau:workbooks:update
|
接続情報を更新する。 |
今すぐワークブックを更新 |
tableau:tasks:run
|
スケジュールされたタスクの外でワークブックの更新を開始する。 |
(ワークブック メソッド) |
tableau:workbooks:*
|
画像ワークブックのパブリッシュ、更新、ダウンロード、およびプレビュー アクションを有効にする。 |
パブリッシュ |
||
ファイル アップロードへの追加 |
tableau:file_uploads:create
|
データのブロックをアップロードし、すでにアップロードされているデータに追加する (「ファイル アップロードの開始」メソッドでアップロードが開始された後に使用)。 |
ファイル アップロードの開始 |
tableau:file_uploads:create
|
ファイルのアップロード プロセスを開始する。 |
ダウンロード |
||
データ ソースのダウンロード |
tableau:datasources:download
|
データ ソース (.tdsx) をダウンロードする。 |
ビューのクロス集計 Excel のダウンロード |
tableau:views:download
|
ビューからクロス集計データを含む Excel ファイル (.xlsx) をダウンロードする。 |
ワークブックのダウンロード |
tableau:workbooks:download
|
ワークブック (.twb または .twbx) をダウンロードする。 |
ワークブック改訂版のダウンロード |
tableau:workbooks:download
|
ワークブック (.twb または .twbx) の特定のバージョンをダウンロードする。 |
ワークブック PDF のダウンロード |
tableau:views:download
|
ワークブックのシートの画像を含む PDF ファイル (.pdf) をダウンロードする。 |
ワークブックの Power Point のダウンロード |
tableau:views:download
|
ワークブックのシートのスライドを含む Power Point ファイル (.pptx) をダウンロードする。 |
ユーザー |
||
グループへのユーザー追加 |
tableau:groups:update
|
ユーザーをグループに追加する。 |
サイトへのユーザー追加 |
tableau:users:create
|
ユーザーを追加し、そのユーザーをサイトに割り当てる。 |
グループ内ユーザーの取得 |
tableau:groups:read
|
グループ内のユーザーの一覧を取得する。 |
サイト上ユーザーの取得 |
tableau:users:read
|
サイト上のすべてのユーザーを取得する。 |
サイト上ユーザーの照会 |
tableau:users:read
|
サイト上の 1 人のユーザーを取得する。 |
グループからのユーザー削除 |
tableau:groups:update
|
ユーザーをグループから削除する。 |
サイトからのユーザー削除 |
tableau:users:delete
|
ユーザーをサイトから削除する。 |
ユーザーの更新 |
tableau:users:update
|
ユーザーに関する情報を更新する。 |
(ユーザー メソッド) |
tableau:users:*
|
ユーザー アクションの追加、クエリ、更新、および削除を有効にする。 |
グループ |
||
グループの作成 |
tableau:groups:create
|
グループを作成する。 |
グループの削除 |
tableau:groups:delete
|
グループを削除する。 |
ユーザーのグループの取得 |
tableau:users:read
|
ユーザーが属するグループのリストを取得する。 |
グループの照会 |
tableau:groups:read
|
サイト上のグループのリストを取得する。 |
グループの更新 |
tableau:groups:update
|
グループを更新する。 |
(グループ メソッド) |
tableau:groups:*
|
グループの作成、クエリ、更新、および削除アクションを有効にする。 |
プロジェクト |
||
プロジェクトの作成 |
tableau:projects:create
|
プロジェクトを作成する。 |
プロジェクトの削除 |
tableau:projects:delete
|
プロジェクトを削除する。 |
プロジェクトの照会 |
tableau:content:read
|
プロジェクトのリストを取得する。 |
プロジェクトの更新 |
tableau:projects:update
|
プロジェクトの名前、説明、プロジェクト階層を更新する。 |
(プロジェクト メソッド) |
tableau:projects:*
|
プロジェクトの作成、更新、および削除アクションを有効にする。 |
パーミッション |
||
データ ソース権限の追加 |
tableau:permissions:update
|
Tableau Server のユーザーまたはグループにデータ ソースへのアクセス権限を追加する。 |
デフォルト権限の追加 |
tableau:permissions:update
|
プロジェクト内のメトリクス、フロー、ワークブック、データ ソース、データ ロール、レンズなどのリソースに対するデフォルトの権限機能をユーザーまたはグループに追加する。 |
プロジェクト権限の追加 |
tableau:permissions:update
|
ユーザーまたはグループにプロジェクトへの権限を追加する |
表示権限の追加 |
tableau:permissions:update
|
ユーザーまたはグループにビューへの権限を追加する。 |
ワークブック権限の追加 |
tableau:permissions:update
|
ユーザーまたはグループに指定されたブックワークへの権限を追加する。 |
データ ソース権限の削除 |
tableau:permissions:delete
|
プロジェクト内のメトリクス、フロー、ワークブック、データ ソース、データ ロール、レンズなどのリソースに対するデフォルトの権限機能をユーザーまたはグループから削除する。 |
デフォルト権限の削除 |
tableau:permissions:delete
|
プロジェクト内のメトリクス、フロー、ワークブック、データ ソース、データ ロール、レンズなどのリソースに対するデフォルトの権限機能をユーザーまたはグループから削除する。 |
プロジェクト権限の削除 |
tableau:permissions:delete
|
ユーザーまたはグループのプロジェクト権限を削除する。 |
表示権限の削除 |
tableau:permissions:delete
|
ユーザーまたはグループの表示権限を削除する。 |
ワークブック権限の削除 |
tableau:permissions:delete
|
ユーザーまたはグループのワークブック権限を削除する。 |
データ ソース権限の照会 |
tableau:permissions:read
|
データ ソースの権限のリストを取得する。 |
デフォルト権限の照会 |
tableau:permissions:read
|
プロジェクト内のメトリクス、フロー、ワークブック、データ ソース、データ ロール、レンズなどのリソースに対する、ユーザーとグループのデフォルト権限機能を取得する。 |
プロジェクト権限の照会 |
tableau:permissions:read
|
プロジェクトに対する権限のリストを取得する。 |
表示権限の照会 |
tableau:permissions:read
|
ビューに対する権限のリストを取得する。 |
ワークブック権限の照会 |
tableau:permissions:read
|
ワークブックに対する権限のリストを取得する。 |
(許可メソッド) |
tableau:permissions:*
|
パーミッションの追加、クエリ、更新、削除アクションを有効にする。 |
サイト |
||
最近閲覧したサイトの取得 |
tableau:content:read
|
サインイン ユーザーが最近作成、更新、アクセスしたビューとワークブックの詳細を取得する。 |
サイトのビューの照会 |
tableau:content:read
|
サイト上のすべてのビューを一覧表示する。 |
サイトの更新 |
tableau:sites:update
|
サイトを更新する。 |
(サイト メソッド) |
tableau:sites:*
|
サイトの作成、クエリ、更新、および削除アクションを有効にする。 |