ID プールの設定と管理
ID プールを作成および管理するには、Tableau REST OpenAPI を使用して、[ID プールのメソッド(新しいウィンドウでリンクが開く)] に対してプログラム的に呼び出しを行う必要があります。ID プールのユーザーを追加または管理するには、Tableau Server ユーザー インターフェイス (UI) を直接、または Tableau REST API を介して使用できます。
以下の手順は、ID プールを設定するプロセスを要約したものです。
- Tableau Server を設定してセッションを確立します。
- 新しいローカル アイデンティティ ストア インスタンスを設定して、ユーザーをプロビジョニングします。注: この手順をスキップして、既存のローカル アイデンティティ ストアを使用するか、Tableau Server のセットアップ時に TSM で構成した外部アイデンティティ ストアを使用することができます。
- 認証を設定する。OpenID Connect (OIDC) を使用して、Tableau Server に対するユーザーを認証します。
- ID プールを作成する。この ID プールは、設定した ID ストアと OIDC 認証を使用します。
- ユーザーを ID プールに追加する。Tableau Server の UI または REST API を使用して、ユーザーが Tableau Server にサインインできるようにします。
セットアップ後、ID プールのテスト、 管理、トラブルシューティングを行うことができます。
注: Salesforce 開発者の Postman ワークスペースのアイデンティティ プール(新しいウィンドウでリンクが開く) Postman コレクションを使用して、このトピックで説明されているメソッドについて学習、開発、テストできます。
前提条件
ID プールを使い始める前に、次の要件を満たす必要があります。
- Okta などの OIDC ID プロバイダー (IdP) との統合がすでに設定されている
- Tableau Server 2023.1 以降を実行している
- バージョン 2021.4 以前の Tableau Server からアップグレードして実行している場合は、ID の移行(新しいウィンドウでリンクが開く)を実行済みである
はじめに
ステップ 1: Tableau Server を設定してセッションを確立する
ID プールのセットアップに関連する変更を有効にするには、1 回限りの TSM 設定と、セッション変数とホスト変数の宣言が必要です。
クラスターの初期ノード (TSM がインストールされているノード) で、管理者としてコマンド プロンプトを開きます。
次のコマンドを実行します。
tsm configuration set -k gateway.external_url -v http://<host>
tsm pending-changes apply
たとえば、Tableau Server http://myco を設定するには、次のコマンドを実行します。
tsm configuration set -k gateway.external_url -v http://myco
tsm pending-changes apply
詳細については、gateway.external_url(新しいウィンドウでリンクが開く) を参照してください。
(オプション) 初期プール (TSM 構成) の説明を追加するには、次のコマンドを実行します。
tsm configuration set -k wgserver.authentication.identity_pools.default_pool_description -v "<description>"
tsm pending-changes apply
たとえば、「MyCo 従業員のサインイン」の説明を追加するには、次のコマンドを実行します。
tsm configuration set -k wgserver.authentication.identity_pools.default_pool_description -v "Sign-in for MyCo employees"
tsm pending-changes apply
詳細については、wgserver.authentication.identity_pools.default_pool_description(新しいウィンドウでリンクが開く) を参照してください。
Tableau Server に管理者としてサインインし、以下を実行します。
- ブラウザーの開発者ツールに移動し、アプリケーションのクッキーに移動します。
- workgroup_session_id の値に注意が必要です。
たとえば、Chrome で作業している場合、Tableau Server ホームページの任意の場所で右クリックし、[検査] を右クリックして選択します。上部のナビゲーション ペインから [アプリケーション] をクリックし、左側のナビゲーション ペインから [クッキー] をクリックします。[クッキー] で、http://myco.com などの Tableau Server 名をクリックし、中央のペインにある [workgroup_session_id] の値を確認します。
Tableau REST OpenAPI を使用して ID プール要求を作成するために使用しているスクリプトまたは API 開発者ツールで、次の操作を行います。
- workgroup_session_id の値をグローバル変数として追加します。
- さらに、ポート 80、ホスト (Tableau Server の URL)、プロトコル (HTTP または HTTPS) をグローバル変数に追加します。
たとえば、次の表は、Tableau Server http://myco に必要なグローバル変数を示しています。
グローバル変数 | 値 |
---|---|
ワークグループ セッション ID | AbC_2abcDefDwGVzPu1hCQ|FJk5Z6OroPCLEDTKkwDxaeA0YzrIY04f|ca608d3c-fc01-4e40-ae5e-9b2131e4e7mm |
ポート | 80 |
ホスト | http://myco |
プロトコル | HTTP |
ステップ 2: ID ストアを設定する
Tableau Server では、Tableau Server ユーザーを調達またはプロビジョニングするために ID ストアを構成する必要があります。
アイデンティティ プールを設定するときは、新規または既存のローカル アイデンティティ ストア(新しいウィンドウでリンクが開く)を使用できます。または、Tableau Server のセットアップ時に外部アイデンティティ ストアが構成された場合は、Active Directory (AD) または Lightweight Directory Access Protocol (LDAP) のいずれかを外部アイデンティティ ストア(新しいウィンドウでリンクが開く)として使用できます。
注: Tableau Server のセットアップ時に TSM で構成した AD インスタンスまたは LDAP インスタンス (初期プール (TSM 構成) とも呼ばれます) ではない新しい AD インスタンスや LDAP インスタンスは、アイデンティティ プールで設定できません。
新しいローカル アイデンティティ ストアを設定するには、次の手順を実行します。既存のローカル アイデンティティ ストアを使用するか、Tableau Server のセットアップ時に構成したアイデンティティ ストアを使用する場合は、「ステップ 3: 認証を設定する」に進んでください。
Tableau REST API に対してサインイン(新しいウィンドウでリンクが開く)要求を行い、認証資格情報トークンを生成します。
例
URI
POST https://myco/api/3.19/auth/signin
認証資格情報トークンが生成されたら、後続のすべての API 要求のヘッダーにこの認証資格情報トークンを追加します。
Tableau REST API OpenAPI を使用して [ID ストアの構成(新しいウィンドウでリンクが開く)] エンドポイントを呼び出し、ID ストアを設定します。
要求では、以下を指定します。
- タイプ。ローカル アイデンティティ ストア タイプのタイプ値は常に 0 です。既存のローカル アイデンティティ ストアを使用するか、Tableau Server のセットアップ時に TSM で構成したアイデンティティ ストアを使用する場合は、新しいローカル アイデンティティ ストア インスタンスを設定する必要はありません。代わりに、以下の「ステップ 3: 認証を設定する」に進んでください。
- 名前。名前は一意である必要があります。
- 表示名。これはオプションです。
例
URI
https://myco/api/services/authn-service/identity-stores/
要求本文 (JSON)
{ "type": "0", "name": "Local identity store #1", "display_name": "Local identity store #1" }
レスポンス本文
なし
ステップ 3: 認証を設定する
OpenID Connect (OIDC) 認証方式を設定して、ユーザーを認証できるようにします。
注: アイデンティティ プールで使用するアイデンティティ ストア タイプに関係なく、現在、アイデンティティ プールで構成できる認証方式は OIDC のみです。
ID ストアを設定したら、 Tableau REST API OpenAPI を使用して [認証設定の作成(新しいウィンドウでリンクが開く)] エンドポイントを呼び出します。
要求では、以下を指定します。
認証タイプ。認証タイプの値は「
OIDC
」です。- iFrame。iFrame の既定値は「
false
」です。 要求された OIDC クライアント ID、クライアント シークレット、構成 URL、ID クレーム、クライアント認証、ユーザー名クレーム。
- クライアント ID とクライアント シークレットは、OIDC IdP によって提供されます。
- 構成 URL も IdP によって提供されます。通常、URL には次の形式を使用できます。
https://<idp_url>/.well-known/openid-configuration
- ID クレームの既定値は「
sub
」です。詳細については、「sub クレームを変更する」を参照してください。 - クライアント認証の既定値は「
CLIENT_SECRET_BASIC
」です。 - ユーザー名クレームの既定値は「
email
」です。詳細については、「既定: メール クレームを使用してユーザーをマッピングする」を参照してください。
ユーザー名クレームについて
Tableau では、ID 照合の目的でユーザー名クレームを使用します。ユーザーを Tableau Server に追加するときに識別子を指定すると、その識別子はユーザー名クレームで提供された値と一致するように使用されます。識別子が指定されていない場合は、Tableau Server に設定されているユーザー名をデフォルトとして使用します。
注:
- AD を ID ストアとして使用する ID プールでこの認証設定を使用する場合は、割り当てられたユーザーのユーザー名クレームに AD の sAMAccountName 値があることを確認してください。
- LDAP を ID ストアとして使用する ID プールでこの認証設定を使用する場合は、割り当てられたユーザーのユーザー名クレームに LDAP のユーザー名の値があることを確認してください。
例
URI
https://myco/api/services/authn-service/auth-configurations/
要求本文 (JSON)
{
"auth_type": "OIDC",
"iframed_idp_enabled": true,
"oidc": {
"client_id": "0oa1hotzhjv4tyCd08",
"client_secret": "EsKd2NCxY-BiLu_zcIwr2lJZLziT_7sw9Fi6HV3",
"config_url": "https://dev-532601-admin.oktapreview.com/.well-known/openid-configuration",
"custom_scope": "",
"id_claim": "sub",
"username_claim": "email",
"client_authentication": "CLIENT_SECRET_BASIC",
"essential_acr_values": "",
"voluntary_acr_values": "",
"prompt": "login,consent",
"connection_timeout": 100,
"read_timeout": 100,
"ignore_domain": false,
"ignore_jwk": false
}
}
レスポンス本文
なし
ステップ 4: ID プールを作成する
Tableau Server のセットアップ時に構成したアイデンティティ ストアに応じて、作成するアイデンティティ プールは、次のアイデンティティ ストアと認証方式の組み合わせのいずれかを持つことになります。
- AD アイデンティティ ストア + OIDC 認証
- LDAP アイデンティティ ストア + OIDC 認証
- ローカル アイデンティティ ストア + OIDC 認証
最初の 2 つの組み合わせでは、初期プール (TSM 構成) が AD または LDAP を使用するように構成されている必要があります。
以下で説明する手順では、最後の組み合わせ「ローカル アイデンティティ ストア + OIDC 認証」を使用してアイデンティティ プールを作成します。
OIDC 認証を設定したら、Tableau REST API OpenAPI を使用して [ID プールの作成(新しいウィンドウでリンクが開く)] エンドポイントを呼び出します。
要求では、以下を指定します。
アイデンティティ プールの名前と説明。ID プールの名前と説明の両方が、Tableau Server のランディング ページですべてのユーザーに表示されます。
アイデンティティ ストアのインスタンス ID と認証タイプのインスタンス ID。
注:
- アイデンティティ ストアのインスタンス ID と認証タイプのインスタンス ID を取得するには、「アイデンティティストアの一覧表示(新しいウィンドウでリンクが開く)」と「認証構成の一覧表示(新しいウィンドウでリンクが開く)」のエンドポイントを呼び出します。
Tableau Server のセットアップ時に TSM で構成したアイデンティティ ストアを使用するアイデンティティ プールを作成する場合、アイデンティティ ストア インスタンスの値は常に
'1'
になります。
例
URI
https://myco/api/services/authn-service/identity-pools/
要求本文 (JSON)
{ "name": "MyCo contractors", "identity_store_instance": "2", "auth_type_instance": "0", "is_enabled": true, "description": "Sign-in for MyCo contractors" }
レスポンス本文の例
なし
アイデンティティ プールを作成したら、IdP 構成に移動し、サインイン リダイレクト URI を
http://<host>/authn-service/authenticate/oidc/<identity_pool_id>/login.
に設定します。たとえば、
http://myco/authn-service/authenticate/oidc/57tgfe21-74d2-3h78-bdg6-g2g6h4734564/login
です。注: ID プールの ID を取得するには、[ID プールの一覧表示(新しいウィンドウでリンクが開く)] エンドポイントを呼び出します。
注:
- 組織が必要とする数の ID プールを作成できます。
- その他のタイプの ID ストアと認証方式が初期プール (TSM 構成) でサポートされています。詳細については、「認証」を参照してください。
ステップ 5: 初期プールにユーザーを追加する
Tableau Server を直接使用して、ユーザーを ID プールに追加できます。Tableau Server にサインインするには、ユーザーが初期プール (TSM 構成) に属しているか、ID プールに追加されている必要があります。ユーザーを ID プールに追加すると、ID プールで設定された ID ストアに応じてワークフローが変わる可能性があります。
以下の手順では、Tableau Server UI を介してユーザーを ID に追加する方法について説明します。ただし、Tableau REST API を使用して [ユーザーを ID プールに追加する(新しいウィンドウでリンクが開く)] エンドポイントを呼び出すことにより、ID プールにユーザーを追加することができます。
Tableau Server に管理者としてサインインします。
左側のナビゲーション ペインから、[ユーザー] (複数サイトの Tableau Server の場合は [すべてのサイト] > [ユーザー]) を選択します。
[ユーザーを追加] ボタンをクリックし、[新しいユーザーを作成] または [ファイルからユーザーをインポートする] を選択します。
新しいユーザーを作成する場合
新しいユーザーを追加する ID プールを選択し、[次へ] をクリックします。
AD または LDAP の ID ストアで設定された ID プールを選択した場合は、ユーザー名を入力し、サイトのメンバーシップとサイト ロールを割り当てます。完了したら、[ユーザーをインポート] ボタンをクリックします。
ローカル ID ストアで設定された ID プールを選択した場合は、ユーザー名を入力します。ダイアログ ボックスが開き、表示名、識別子 (ほとんどの場合)、メール アドレスを追加し、サイトとサイト ロールを設定できます。完了したら、[ユーザーを作成] ボタンをクリックします。
ユーザー名、およびサイトのメンバーシップとサイト ロールを割り当てる方法の詳細については、「ユーザーのサイト ロールの設定」を参照してください。
Tableau でのユーザー名と識別子について
ユーザー名は、システム ユーザーを表す情報です。識別子は、ユーザー名の情報を補足するために使用され、外部のアイデンティティ ストアでユーザー名の代わりとして使用できます。
Tableau では、ユーザー名は Tableau へのサインインに使用される不変の値であり、識別子はユーザーをユーザー名に一致させる方法として Tableau のアイデンティティ構造で使用される可変の値です。識別子はユーザー名から逸脱することができるため、Tableau がより柔軟に対応できるようになります。外部アイデンティティ ストアのユーザー名が変更された場合、Tableau Server 管理者は識別子を更新して、ユーザーを正しいユーザー名に一致させることができます。
既存のユーザーをアイデンティティ プールに追加するときは、識別子を設定する機能があることを想定してください。たとえば、既存のユーザーがローカル アイデンティティ ストアを使用して構成されたアイデンティティ プールに属しており、AD アイデンティティ ストアを使用して構成されたアイデンティティ プールにそのユーザーを追加する場合は、そのユーザーに関連付けられた識別子を検索するためにユーザー名を入力するよう求められます。一方、既存のユーザーが AD アイデンティティ ストアを使用して構成されたアイデンティティ プールに属しており、ローカル アイデンティティ ストアを使用して構成されたアイデンティティ プールにそのユーザーを追加する場合は、オプションの識別子を入力するよう求められます。例外は、ローカル アイデンティティ ストアとローカル認証を使用して構成された初期プール (TSM で構成済み) にユーザーを追加する場合です。そのユーザーの識別子を設定することはできません。
ファイルからユーザーをインポートする場合
次の列をこのリスト順に含む .csv ファイルをアップロードします。
username, password, display name, license level, admin level, publishing capability, email address, identity pool name, identifier
注: 必須の列はユーザー名とパスワードのみです。ただし、ID プール名を指定しない場合、ユーザーは初期プール (TSM 構成) に追加されます。詳細については、「CSV インポート ファイルのガイドライン」を参照してください。
たとえば、「Henry Wilson」と「Fred Suzuki」を「一般委託先」 ID プールに追加するとします。.csv には次の値が含まれるでしょう。
henryw,henrypassword,Henry Wilson,Viewer,None,yes,hwilson@myco.com,General Contractors,hwilson
freds,fredpassword,Fred Suzuki,Creator,None,no,fsuzuki@myco.com,General Contractors,fsuzuki
注: ID プールを 1 つ以上作成すると、Tableau Server のランディング ページが更新され、それらの ID プールに含まれるユーザー用のサインイン オプションが追加されます。詳細については、「アイデンティティ プール (ID プール) を使用したユーザーのプロビジョニングと認証」を参照してください。
ID プールのテスト
ID プールを設定したら、Tableau Server からサインアウトし、ID プールに属するユーザーとして再度サインインしてテストすることをお勧めします。サインイン プロセスを実行して、OIDC 認証が正しく設定されていることを確認してください。
注: 「ステップ 1: Tableau Server を設定してセッションを確立する」で初期プール (TSM 構成) のオプションの説明を設定した場合、または Tableau Server のサーバー設定 (全般とカスタマイズ)に関する注記がある場合は、その説明は初期プール (TSM 構成) を使用してサインインするユーザーに固有のものとし、サインインのカスタマイズに関する注記は Tableau Server にサインインするすべてのユーザーに適用するものとすることをお勧めします。
ID プールの管理
ID プールのユーザーは、サーバー レベルとサイト レベルの両方の [ユーザー] ページから管理できます。[ユーザー] ページでは、ユーザーが属している ID プールと、ID プールに関する概要の内容を確認できます。
認証設定や ID プールの更新、ローカルの ID ストアや ID プールの削除など、他のすべての ID プール管理タスクについては、「ID プールのメソッド(新しいウィンドウでリンクが開く)」で説明されている Tableau REST API OpenAPI を使用します。
ID プールのトラブルシューティング
ID プールの制限
ID プールは Tableau Server でのみ使用できます。
注: アイデンティティ プールは現在、サーバー レベルの構成でのみ使用できます。アイデンティティ プールの範囲をサイトに限定することはできません。
Tableau Server のランディング ページに IdP エラーが表示される
Tableau Server ランディング ページのプライマリ サインイン オプションで、ID プールのサインイン オプションの横に IdP 関連のエラー メッセージが表示される場合があります。これは OIDC 認証関連の問題であり、次のいずれかまたは両方が当てはまる場合に発生する可能性があります。 1) Tableau Server が外部 URL を IdP に送信するように構成されていない。 2) グローバル変数が宣言されていない。
この問題を解決するには、上記の「ステップ 1: Tableau Server を設定してセッションを確立する」で説明されている手順を完了していることを確認してください。
Tableau Server のランディング ページにアイデンティティ プールが表示されない
アイデンティティ プールの機能が無効になっている場合は、次の TSM コマンドを使用して再度有効にすることができます。
tsm configuration set -k features.IdentityPools -v true
tsm configuration set -k features.NewIdentityMode -v true
tsm configuration set -k wgserver.authentication.legacy_identity_mode.enabled -v false
tsm pending-changes apply
注: これらのコマンドを実行すると、Tableau Server が再起動されます。