OpenID Connect

OpenID Connect を使用してシングル サインオン (SSO) を提供するように Tableau Server を構成できます。OIDC は、ユーザーが Google や Salesforce などの ID プロバイダー (IdP) にサインインできるようにする標準認証プロトコルです。ユーザーが IdP に正常にサインインすると、自動的に Tableau Server にサインインされます。

OIDC の構成には、いくつかのステップがあります。このセクションのトピックでは、OIDC での Tableau Server の使用に関する一般的な情報を提供し、IdP および Tableau Server を構成するためのシーケンスについて説明します。

注: 特に明記されていない限り、OIDC 認証に関する情報は、Tableau Server セットアップ中に TSM で構成された OIDC 認証、またはアイデンティティ プール(新しいウィンドウでリンクが開く)を使用して構成された OIDC 認証のどちらにも適用されます。

認証の概要

このセクションでは、Tableau Server での OpenID Connect (OIDC) 認証プロセスについて説明します。

1.ユーザーがクライアント コンピューターから Tableau Server にログインを試みます。

2.Tableau Server が認証の要求を IdP ゲートウェイにリダイレクトします。

3.ユーザーに認証資格情報を求めるメッセージが表示され、IdP への認証が正常に完了します。IdP が応答し、Tableau Server に戻るリダイレクト URL を返します。リダイレクト URL には、ユーザーの認可コードが含まれます。

4.クライアントが Tableau Server にリダイレクトされ、認可コードを提示します。

5.Tableau Server がクライアントの認可コードを独自のクライアント認証資格情報と一緒に IdP に提示します。Tableau Server も IdP のクライアントです。この手順は、スプーフィングまたは中間者攻撃を防ぐことを目的としています。

6.IdP は Tableau Server にアクセス トークンと ID トークンを返します。

  • JSON Web Token (JWT) 検証: 既定では、Tableau Server が IdP JWT の検証を実行します。検出中に、Tableau Server は IdP 構成検出ドキュメントの jwks_uri によって指定されたパブリック キーを取得します。Tableau Server は ID トークンの有効期限を検証し、次に JSON Web 署名 (JWS)、発行者 (IdP)、およびクライアント ID を検証します。JWT プロセスの詳細については、OpenID ドキュメントの 10 を参照してください。署名と暗号化 (英語)」(新しいウィンドウでリンクが開く)および IETF から提案された標準である JSON Web Token(新しいウィンドウでリンクが開く) を参照してください。お使いの LDP でサポートされていない場合を除き、JWT 検証を有効のままにすることをお勧めします。

  • ID トークンは、ユーザー用の属性キー ペアのセットです。キー ペアはクレームと呼ばれます。ユーザー用の IdP クレームの例:

    "sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
    "email"                   : "alice@example.com",
    "email_verified"          : true,
    "name"                    : "Alice Adams",
    "given_name"              : "Alice",
    "family_name"             : "Adams",
    "phone_number"            : "+359 (99) 100200305",
    "profile"                 : "https://tableau.com/users/alice"		

7.Tableau Server は IdP クレームからユーザーを識別し、ステップ 1 からの認証要求を完了します。Tableau Server は、"sub" (サブジェクト識別子) を一致させることでリポジトリに保存されているユーザーのアカウント レコードを検索し、正しいユーザー アカウントを識別します。sub クレーム値と一緒に保存されているユーザー アカウントがない場合、Tableau Server は、IdP の "email" クレームと一致するリポジトリ内のユーザー名を検索します。ユーザー名の一致が成功すると、Tableau Server は対応する sub クレームをリポジトリ内のユーザーのレコードに保存します。Tableau Server をこのプロセスで別のクレームを使用するように構成することができます。「OpenID Connect の使用要件」「」を参照してください。

8.Tableau Server がユーザーを承認します。

Tableau Server と OpenID Connect の連携

OpenID Connect (OIDC) は、サービス プロバイダー (ここでは Tableau Server) と IdP との間で交換される情報の多くのオプションをサポートする柔軟なプロトコルです。次のリストは、OIDC の Tableau Server 実装の詳細をまとめたものです。これらの詳細は、Tableau Server がどのような種類の情報を送信し、期待するか、および IdP をどのように構成するかを理解するのに役立ちます。

  • Tableau Server は、OpenID Connect ドキュメントの「OpenID Connect の最終仕様(新しいウィンドウでリンクが開く)」(英語) に記載されているように、OpenID 認可コードのフローのみをサポートします。

  • Tableau Server は、検出またはプロバイダー URL の使用に依存して OpenID プロバイダー メタデータを取得します。または、静的検出ドキュメントを Tableau Server でホストすることもできます。詳細については、OpenID Connect に対応するように Tableau Server を構成するを参照してください。

  • Tableau Server は、client_secret_basicclient_secret_post クライアント認証、

  • Tableau Serverid_token 属性の JOSE ヘッダーに kid 値を期待します。この値は、JWK セット ドキュメントのいずれかのキーと一致します。JWK セット ドキュメントの URI は、OpenID 検出ドキュメントの jwks_uri 値によって指定されます。JWK セット ドキュメントにキーが 1 つしかない場合でも、kid 値を示す必要があります。

  • Tableau ServerJWK x5c パラメーターに対する、および X.509 証明書の使用に対する OpenID サポートを含みます。

  • 既定では、Tableau Server はプロキシ設定を無視し、すべての OpenID リクエストを直接 IdP に送信します。

    Tableau Server がフォワード プロキシを使用してインターネットに接続するように設定されている場合は、「OpenID Connect に対応するように Tableau Server を構成する」に記載されている説明に従って、追加の変更を行う必要があります。

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!