OpenID Connect に対応するように Tableau Cloud または TCM を構成する

このトピックでは、シングルサインオン (SSO) に OpenID Connect (OIDC) を使用するよう Tableau Cloud または Tableau Cloud Manager (TCM) を構成する方法を説明します。これは、複数のステップにわたるプロセスの 1 ステップです。次のトピックでは、Tableau Cloud または TCM.での OIDC の構成および使用に関する情報を提供します。

  1. OpenID Connect の概要

  2. OpenID Connect に対応するように ID プロバイダーを構成する

  3. OpenID Connect に対応するように Tableau Cloud または TCM を構成する (現在のセクション)

注:

要件

パラメーター

  • クライアント ID: この値は IdP によって発行され、登録された Tableau Cloud または TCM の識別子を指定します。これにより、IdP は認証要求の送信元を把握することができます。

  • クライアント シークレット: これは、Tableau Cloud または TCM が IdP からの応答の真偽を検証するために使用するトークンです。この値は安全に保護しておく必要があります。

  • 構成 URL: この値は、ユーザーが認証された後に IdP がリダイレクトする URL を指定します。URL にはホストとプロトコルを含める必要がありますが (例: https://admin.okta.com/oauth2/default/.well-known/openid-configuration)、Tableau は URL エンドポイントを提供します。この URL により、OpenID プロバイダーのメタデータを含むプロバイダー構成検出ドキュメントの場所が指定されます。

    注: IdP が構成 URL を提供しない場合は、.well-known/openid-configuration で終わる URL を使用します。Tableau Cloud の場合、Tableau REST API の OpenID Connect 認証メソッド(新しいウィンドウでリンクが開く)を使用して OIDC を構成することを検討してください。

オプションのパラメーター

注: Tableau Cloud にのみ適用されます。

次のオプションのパラメーターは、Tableau REST API の OpenID Connect 認証メソッド(新しいウィンドウでリンクが開く)を使用して構成できます。

  • プロンプト: ユーザーに再認証と同意を求めるプロンプトを表示します。既定では、ユーザーの同意はオンになっています。

  • カスタム スコープ: IdP をクエリするためのカスタム範囲のユーザー関連値。

  • クライアント認証: トークン エンドポイントの認証方式。既定値は 'client_secret_basic' です。値 'client_secret_post' がサポートされています。

  • 必須の ACR 値: 認証に使用される必須の認証コンテキスト クラスの参照値リスト。

  • 任意の ACR 値: 認証に使用される任意の認証コンテキスト クラスの参照値リスト。

クレーム

Tableau Cloud または TCM に正常にサインインするには、指定されたユーザーを OpenID Connect (OIDC) IdP でプロビジョニングした後、Tableau Cloud または TCM のユーザー アカウントにマッピングする必要があります。OIDC は クレームに依存するメソッドを使用して、ユーザー アカウント属性を他のアプリケーションと共有します。Tableau Cloud または TCM は IdP クレームに依存して、IdP のユーザー アカウントを Tableau Cloud または TCM でホストされているユーザー アカウントにマッピングします。クレームには、メールや名前など、ユーザー アカウント属性が含まれます。Tableau Cloud または TCM が IdP クレームをユーザー アカウントへマッピングする仕組みについては、「認証の概要」を参照してください。

注: クレームでは大文字と小文字が区別されます。

  • ユーザー名: 既定では、Tableau は IdP がユーザー名クレームを渡すことを期待します。お使いの IdP によっては、別の IdP クレームを使用するように Tableau Cloud を構成しなければならない場合があります。注: Tableau のユーザー名は変更不能であるため、更新することはできません。

  • 名前のクレーム: 名前または名/姓を指定して、ユーザーの表示名を取得できます。

  • メール クレーム: オプションで、2025 年 7 月以降は、ユーザー名と異なるメール アドレスを指定できます。メール アドレス クレームは通知目的にのみ使用され、サインインには使用されません。

OIDC シングル サインオンを有効にする

ステップ 1: OpenID Connect の構成

Tableau Cloud の場合

  1. サイト管理者として Tableau Cloud にサインインし [設定] > [認証] の順に選択します。

  2. 認証タブで [新しい構成] ボタンをクリックして [Open ID Connect (OIDC)] を選択し、構成の名前を入力します。

  3. 次のステップに従って、OIDC 認証用に Tableau Cloud を構成します。

    1. ステップ 1 では、クライアント ID、クライアント シークレット、構成 URL などの必要な情報を IdP から入力します。

    2. ステップ 2 では、認証後にユーザーをリダイレクトするために、IdP のポータルに貼り付ける Tableau Cloud リダイレクト URL をコピーします。

    3. ステップ 3 では、ユーザーのユーザー名と表示名が正しくマッピングされていることを確認するためのクレームを入力します。

    4. ステップ 4 では、IdP がサポートしている場合は、必要に応じてシングル ログアウト (SLO) を有効にします。

    5. ステップ 5 では、必要に応じて、埋め込みビューへのアクセス時にユーザーを認証する方法 (別のポップアップ ウィンドウで行う、あるいはインライン iFrame を使用する) を選択します。

      注: 埋め込みビューの認証タイプは、[認証] ページ (OIDC 構成ステップの下) の [埋め込みビューの既定の認証タイプ] セクションで選択できます。

  4. 完了したら、[変更を保存] ボタンをクリックします。

注: OIDC 構成を編集するとき、クライアント シークレットが非表示になるため、変更を保存する前に再入力する必要があります。

TCM の場合

  1. Cloud 管理者として TCM にサインインし [設定] > [認証] の順に選択します。

  2. [認証] タブで、[追加の認証方法を有効にする] チェックボックスをオンにします。

  3. ドロップダウン メニューから [OpenID Connect (OIDC)] を選択し、[構成 (必須)] ドロップダウン矢印をクリックします。

  4. 次のステップに従って、OIDC 認証用に TCM を構成します。

    1. ステップ 1 では、クライアント ID、クライアント シークレット、構成 URL などの必要な情報を IdP から入力します。

    2. ステップ 2 では、認証後にユーザーをリダイレクトするために、IdP のポータルに貼り付ける TCM リダイレクト URL をコピーします。

    3. ステップ 3 では、ユーザーのユーザー名と表示名が正しくマッピングされていることを確認するためのクレームを入力します。

    4. ステップ 4 では、IdP がサポートしている場合は、必要に応じてシングル ログアウト (SLO) を有効にします。

  5. 完了したら、[変更を保存] ボタンをクリックします。

注: OIDC 構成を編集するとき、クライアント シークレットが非表示になるため、変更を保存する前に再入力する必要があります。

ステップ 2: 構成のテスト

ロックアウトのシナリオを回避するために、構成をテストすることを強くお勧めします。ユーザーの認証タイプを OIDC に変更する前に、構成をテストして OIDC が正しく構成されていることを確認することを強くお勧めします。設定を正常にテストするには、すでに IdP でプロビジョニングされていて、OIDC 認証タイプが設定済みの Tableau Cloud または TCM に追加されているサインイン可能なユーザーが少なくとも 1 人いることを確認してください。

注: クレームが何であるかわからない場合は、構成を完了し、構成をテストしてください。構成をテストすると、ユーザー名および表示名のクレームを含むクレーム マッピングの詳細を示す新しいウィンドウが生成されます。IdP によっては、メール アドレスを Tableau ユーザー名にマッピングする場合があります。

Tableau Cloud の場合

  1. OpenID Connect (OIDC) が選択されている状態の [認証] タブのステップ 6 で、[構成のテスト] ボタンをクリックします。新しいウィンドウに構成に関する詳細が表示されます。

  2. 完了したら、以下のステップに従ってユーザーをサイトに追加し、OIDC セットアップを完了します。

TCM の場合

  1. OpenID Connect (OIDC) が選択されている状態の [認証] タブのステップ 5 で、[構成のテスト] ボタンをクリックします。新しいウィンドウに構成に関する詳細が表示されます。

  2. 完了したら、以下のステップに従ってユーザーをテナントに追加し、OIDC セットアップを完了します。

ステップ 3: OpenID Connect が有効になっている Tableau サイトまたは TCM へのユーザーの追加

このセクションで説明する手順は、Tableau Cloud または TCM の [ユーザー] ページで実行します。

  1. 上記のステップが完了したら、Tableau Cloud サイトまたは TCM に戻ります。

  2. 左側のペインから [ユーザー] ページに移動します。

  3. 次のいずれかのトピックで説明されている手順に従ってください。

トラブルシューティング

Tableau Cloud または TCM での OpenID Connect (OIDC) の問題をトラブルシューティングするには、次のセクションを使用します。

OIDC プロトコルは多くの ID プロバイダーがサポートしています。OIDC プロトコルはオープンかつ柔軟な規格であるため、すべての環境で同じように実装されるわけではありません。OIDC に対応するように Tableau Cloud または TCM を構成するときに管理者が直面する問題の多くは、ID プロバイダーによって OIDC の実装方法が異なることが原因で発生しています。Tableau で OIDC をセットアップする際にエラーが発生した場合は、IdP と連携して問題を解決することをお勧めします。

コマンド ラインからのサインイン

Tableau Cloud の場合

Tableau Cloud が OIDC を使用するように構成されている場合でも、tabcmdTableau REST API(新しいウィンドウでリンクが開く)、または Tableau Data Extract コマンド ライン ユーティリティ(新しいウィンドウでリンクが開く) (Tableau Desktop で提供) を使用して Tableau Cloud にサインインするときに、OIDC 認証は使用されません。

TCM の場合

同様に、TCM が OIDC を使用するように構成されている場合でも、Tableau Cloud Manager の REST API(新しいウィンドウでリンクが開く) にサインインするときに、OIDC 認証は使用されません。

サインインに失敗しました

場合によっては、Tableau Cloud または TCM へのサインインが失敗し、次のメッセージが表示されることがあります。

ログインの失敗: ユーザーの ID プロバイダー認証が失敗しました<username_from_IdP>。Tableau Cloud でユーザーが見つかりませんでした。

このエラーは一般的に Tableau に保存されているユーザー名と IdP が提供したユーザー名が一致しないことを意味します。これを解決するには、ユーザー名の値が一致していることを確認してください。たとえば、山田太郎のユーザー名が、「tyamada@example.com」として IdP に保存されている場合は、Tableau Cloud または TCM でも「tyamada@example.com」として保存する必要があります。

ユーザー属性を使用したデータ アクセスのカスタマイズと制御

ユーザー属性は、組織で定義されるユーザー メタデータです。ユーザー属性を使用して、一般的な属性ベースのアクセス制御 (ABAC) 許可モデルでアクセスを判定することができます。ユーザー属性には、職務、部門メンバーシップ、管理レベルなど、ユーザー プロフィールのあらゆる側面が該当します。また、ユーザー属性は、ユーザーがサインインしている場所や言語設定など、ランタイム ユーザー コンテキストに関連付けられている場合もあります。

ユーザー属性をワークフローに含めることで、データ アクセスとパーソナライゼーションを通じてユーザー エクスペリエンスを制御したりカスタマイズしたりできます。

  • データ アクセス: ユーザー属性を使用して、データ セキュリティ ポリシーを適用できます。これにより、ユーザーが表示できるのは閲覧が許可された情報のみになります。
  • パーソナライゼーション: 場所や役割などのユーザー属性を渡すことで、コンテンツをカスタマイズして、アクセスするユーザーに関連する情報のみを表示し、ユーザーが必要な情報を見つけやすくすることができます。

ユーザー属性を渡すステップの概要

ワークフローでユーザー属性を有効にするプロセスの手順は、次のとおりです。

  1. ユーザー属性設定を有効にする
  2. ユーザー属性を JWT に含める
  3. コンテンツ作成者がユーザー属性関数と関連フィルターを含めていることを確認する
  4. コンテンツを確認する

ステップ 1: ユーザー属性設定を有効にする

セキュリティ上の理由から、ユーザー属性が認証ワークフローで検証されるのは、サイト管理者によってユーザー属性の設定が有効にされている場合のみです。

  1. Tableau Cloud にサインインし、[設定][認証] の順にクリックします。

  2. [認証ワークフローでのユーザー アクセスの制御] 見出しの下で、[認証ワークフローでユーザー属性の取得を有効にする] チェックボックスを選択します。

サイト設定の詳細については、「認証ワークフローでのユーザー アクセスの制御」を参照してください。

ステップ 2: JWT にユーザー属性クレームを含める

JSON Web トークン (JWT) にユーザー属性が含まれていることを確認します。

注: JWT内の属性には、scope 属性または scp 属性を除いて、4096 文字の制限が適用されます。ユーザー属性を含む JWT 内の属性がこの制限を超える場合、Tableau は属性を削除し、代わりに ExtraAttributesRemoved 属性を渡します。その後、コンテンツ作成者は ExtraAttributesRemoved 属性を使用して計算を作成し、この属性が検出された場合のユーザーに対するコンテンツの表示方法を決定できます。

南部地域のマネージャーである Fred Suzuki という従業員がいるとします。あなたは、Fred がレポートをレビューするときに、南部地域のデータのみが表示されるようにしたいと考えています。このようなシナリオでは、以下の例のように JWT に地域ユーザー属性を含めることができます。

{
"iss":"https://myidp.okta.com/oauth2/default,
"sub": user,
"aud": "Tableau",
"email": "fsuzuki@example.com",
"email_verified": true,
"name": "Fred Suzuki",
"region": "South"
}

ステップ 3: コンテンツ作成者が属性関数を含めていることを確認する

コンテンツ作成者がユーザー属性関数と関連フィルターを含めていて、コンテンツに表示できるデータの制御が可能になっていることを確認します。Tableau にユーザー属性クレームが確実に渡されるようにするには、コンテンツに次のユーザー属性関数のいずれかが含まれている必要があります。

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

コンテンツ作成者が使用する関数は、ユーザー属性が単一の値を返すと想定されるのか、複数の値を返すと想定されるのかによって異なります。これらの関数の詳細とそれぞれの例については、Tableau ヘルプの「ユーザー関数(新しいウィンドウでリンクが開く)」を参照してください。

注:

  • Tableau Desktop や Tableau Cloud で作成する場合、これらの関数を使用したコンテンツのプレビューは利用できません。関数は、NULL または FALSE を返します。ユーザー関数が想定どおりに動作するようにするために、作成者には、コンテンツを公開した後、関数を確認することをお勧めします。
  • コンテンツ作成者は、コンテンツが想定どおりにレンダリングされるようにするために、1) この属性をチェックして、2) メッセージの表示など、属性によるコンテンツの処理方法 (処理する場合) を決定する ExtraAttributesRemoved を使った計算を含めることを検討してもよいでしょう。Tableau は、JWT の属性が 4096 文字を超えると、ExtraAttributesRemoved 属性のみを追加し、他のすべての属性 (scp または scopeを除く) を削除します。これは、最適なパフォーマンスを確保するとともに、ストレージの制限を考慮するためです。

上記の JWT で説明されたステップ 2: JWT にユーザー属性クレームを含めるの例を引き続き使用し、「地域」ユーザー属性クレームをワークブックに渡すには、作成者は USERATTRIBUTEINCLUDES を含めることができます。たとえば、USERATTRIBUTEINCLUDES('Region', [Region]) では、‘Region’ はユーザー属性であり、[Region] はデータの列です。作成者は新しい計算を使用して、「Manager (マネージャー)」データと「Sales (売上)」データを含む表を作成できます。計算が追加されると、ワークブックは想定どおり「False」値を返します。

作成者は、埋め込まれたワークブックに「South (南部)」地域に関連付けられたデータのみを表示するために、フィルターを作成してカスタマイズし、「South (南部)」地域が「True」のときに値を表示することができます。関数が「False」値を返し、フィルターが「True」値のみを表示するようにカスタマイズされているため、フィルターを適用すると、ワークブックは想定どおり空白になります。

ステップ 4: コンテンツを確認する

コンテンツを確認して検証します。

ステップ 3: コンテンツ作成者が属性関数を含めていることを確認するの例を完結させます。Fred Suzuki のユーザー コンテキストが「South (南部)」地域であるため、ビューの「Sales (売上)」データが「Fred Suzuki」にカスタマイズされていることがわかります。

ワークブックに示されている地域のマネージャーには、担当地域に関連付けられた値が表示されるはずです。たとえば、「West (西部)」地域の Sawdie Pawthorne には、その地域固有のデータが表示されます。

ワークブックに地域が記載されていないマネージャーには、空のワークブックが表示されます。

既知の問題と制限事項

ユーザー属性関数を使用する際には、考慮すべきいくつかの既知の問題と制限があります。

Tableau REST API を使用した空白の画像

Tableau REST API 要求でプレビュー画像のクエリ(新しいウィンドウでリンクが開く)ワークブック画像のクエリ(新しいウィンドウでリンクが開く)、およびカスタム ビュー画像の取得(新しいウィンドウでリンクが開く)を行うと、空白の画像が生成されます。

制限事項

  • パブリッシュされたデータ ソース (.pds) のユーザー属性関数はサポートされていません。
  • Tableau Bridge ワークフローのユーザー属性関数はサポートされていません。
フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!