OpenID Connect の使用要件

このトピックでは、Tableau Server で OpenID Connect を使用するための要件について説明します。

注: TSM 認証構成コマンドは、Tableau Server のセットアップ中に TSM で構成された OIDC 認証にのみ適用されます。アイデンティティ プールの OIDC 認証構成を変更するには、Tableau REST OpenAPI を使用する認証構成の更新(新しいウィンドウでリンクが開く)エンドポイントを使用します。

要件の概要

  • IdP アカウント

  • ローカル アイデンティティ ストア

  • IdP クレーム - ユーザーのマッピング

  • 認証コンテキスト

IdP アカウント

OpenID Connect (OIDC) プロトコルをサポートするアイデンティティ プロバイダー (IdP) に対するアクセス権が必要です。また、IdP のアカウントも必要です。OpenID Connect は多くのアイデンティティ プロバイダーがサポートしています。OIDC プロトコルはオープンかつ柔軟な規格であるため、すべての環境で同じように実装されるわけではありません。OIDC に対応するよう Tableau Server を構成する際は、IdP と連携してください。

Google IdP の実装は Tableau Server で十分にテスト済みであり、トピックで説明した構成の IdP モデルになっています。

ローカル アイデンティティ ストア

Tableau Server で OpenID Connect を使用するには、以下のいずれかが true である必要があります。

  • Tableau Server のセットアップ中に TSM で OIDC を構成する場合、Tableau Server はローカル アイデンティティ ストアを使用するように構成されている必要があります。サーバーは、Active Directory などの外部ディレクトリからユーザーをインポートするのではなく、Tableau Server でユーザーを明示的に作成するよう構成する必要があります。OpenID では、外部のアイデンティティ ストアを使用したユーザーの管理はサポートされていません。
  • アイデンティティ プール(新しいウィンドウでリンクが開く)を使用して OIDC を構成する場合、OIDC は、1) ローカル アイデンティティ ストア、または 2) Tableau Server のセットアップ中に TSM で構成されたアイデンティティ ストアである AD または LDAP を使用して構成することができます。

IdP クレーム - ユーザーのマッピング

Tableau Server に正常にサインインするには、指定されたユーザーを OpenID でプロビジョニングし、Tableau Server のユーザー アカウントにマッピングする必要があります。OpenID はクレームに依存するメソッドを使用して、他のアプリケーションとユーザー アカウント属性を共有します。クレームには、メール、電話番号、名前など、ユーザー アカウント属性が含まれます。Tableau Server が IdP クレームをどのようにユーザー アカウントにマッピングしているかを理解するには、「OpenID Connect」を参照してください。

Tableau Server は IdP クレームに依存して、IdP のユーザーアカウントを.Tableau Server でホストされているユーザーアカウントにマッピングします。既定では、Tableau Server は、IdP から メール クレームが渡されることを期待します。お使いの IdP によっては、別の IdP クレームを使用するよう Tableau Server を構成する必要がある場合もあります。

Google を IdP として使用している場合、既定の email クレームを使用して、IdP ID を Tableau Server ユーザー アカウントにマッピングします。Google を IdP として使用していない場合は、お使いの IdP と連携して、Tableau Server を構成する必要があるクレームを決定してください。

既定: メール クレームを使用してユーザーをマッピングする

既定では、Tableau Server のユーザー名は、IdP ID トークンの email クレームと一致する必要があります。そのため、既定の構成では、Tableau Server のユーザー名としてメール アドレス (UPN とも呼ばれます) を使用する必要があります。Google を IdP として使用している場合、Tableau Server のユーザー名はユーザーのGmailアドレス (alice@gmail.com) にする必要があります。完全なメール アドレスを使用することで、2 人のユーザーが同じメールを異なるメールホストを使用している場合でも、Tableau Server におけるユーザー名の一意性を確保することができます。

注: Tableau Server でユーザー アイデンティティを作成するときに、ユーザー名、パスワード、およびメール アドレス (任意) を指定します。既定の構成で OpenID Connect を使用する場合、ユーザー名 (電子メール アドレスとして表す) には IdP のユーザー名と一致する値を使用する必要があります。Tableau Server のユーザー ID で任意で指定したメール アドレスは OpenID 認証には使用されません。

ドメイン名を無視

Tableau Server で IdP email クレームをユーザー アカウントと照合する際にメール アドレスのドメイン部分を無視するように、Tableau を構成することができます。このシナリオでは、IdP の email クレームは alice@example.com となる可能性がありますが、これは、Tableau Serveralice という名前のユーザーと一致します。email クレームのユーザー名部分には一致するが、ドメイン部分には一致しないユーザーをすでに Tableau Server で定義している場合は、ドメイン名を無視することができます。

重要: ユーザー ドメイン名を無視する際は、細心の注意を払ってください。特に、IdP で作成した構成済みドメイン全体で、ユーザー名が一意であることを確認してください。

ユーザーのドメイン名を無視するよう Tableau Server を設定すると、意図しないユーザーがログオンする結果になる可能性があります。IdP が複数のドメイン (example.com および tableau.com) のドメイン用に構成された事例を考慮します。組織内に、同じ名前で異なるユーザー アカウント (alice@tableau.comalice@example.com) を使用する 2 人のユーザーがいる場合、OpenID プロビジョニング シーケンスを最初に完了した人物は IdP での sub マッピングを申請します。間違ったユーザーがマッピングされている場合、もう一人のユーザーは関連付けられた sub 値がリセットされるまでログオンできなくなります。

Tableau Server が IdP からのユーザー名のドメイン名を無視するよう構成するには、tsm authentication openid configure --ignore-domaintrue に設定します。詳細については、tsm authentication open-id <commands>を参照してください。

tsm authentication openid configure --ignore-domain オプションを変更してユーザー名のドメインを無視するようにすると、Tableau Server のすべてのユーザー名がドメイン名を持たなければならなくなります。

カスタム クレームを使用してユーザーをマッピングする

OpenID Connectで言及したように、sub クレームは IdP クレームに含まれることが多くあります。一般的に、sub クレームは指定されたユーザー アカウントを識別する一意の文字列です。sub クレームを使用することのメリットは、あなたや別の管理者が他のユーザー属性や、そのアカウントと関連付けられている IdP クレーム (メール、電話番号など) を更新していても、このクレームが変化しないことです。既定では、Tableau Server は IdP ID トークン内の sub クレームに従って OpenID ユーザーを識別して検証します。

OpenID sub クレーム値は、対応する Tableau Server のユーザーにマッピングする必要があります。sub クレームは任意の文字列のため、最初のサインイン セッション時、別のクレームを使用してアカウントに関連付けられます。ユーザーが OpenID を使用して初めて Tableau Server にサインインするとき、Tableau は OpenID ユーザー アカウントを、それに対応する Tableau Server.のユーザー アカウントと照合します。既定では、Tableau は IdP クレーム、email を使用して Tableau ユーザーを識別します。Tableau は、OpenID からの sub クレームを使用してユーザーのレコードを更新します。その後のセッションでは、ID トークンに他のクレームとともに sub クレームが常に含まれるため、Tableau は sub クレームのみを使用してユーザーを識別します。

一部の組織では、電子メール アドレスを使用したユーザー名のマッピングは IdP によってサポートされていません。Tableau Server 10.2 以降、任意の IdP クレームのユーザー アカウントを Tableau Server ユーザー名にマッピングできるようになりました。

使用している IdP クレームは、それに対応する Tableau Server ユーザー名に正確にマッピングする必要があります。以下の例では、ユーザー名は kwilliams です。

Tableau Server での ID マッピングに使用する IdP クレームを変更するには、tsm authentication openid map-claims --user-name コマンドを使用します。詳細については、tsm authentication open-id <commands>を参照してください。

sub クレームを変更する

上記のように、sub クレームは、最初のマッピング セッションの後に Tableau Server がユーザーの識別に使用する識別子です。sub クレームは、それに対応する Tableau Server のユーザー アカウントに記述されます。お使いの IdP が sub クレームを提供しない場合は、代わりに任意のクレームを指定できます。sub のように、指定するクレーム値は一意であり、他のユーザー クレームが更新されたときに変更されない必要があります。

既定の sub クレームに異なる IdP クレームを指定するには、tsm authentication openid map-claims --id コマンドを使用します。詳細については、tsm authentication open-id <commands>を参照してください。

ここで、arbitraryClaimsub クレームの代わりとして使用する IdP の名前です。

認証コンテキスト

OpenID Connect IdP に特定の認証コンテキストが必要な場合は、vizportal.openid.essential_acr_values および vizportal.openid.voluntary_acr_values 構成キーを使用して、必須および任意の ACR 値のリストを指定できます。詳細については、tsm configuration set のオプションを参照してください。

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