OpenID Connect の使用要件

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

IdP アカウント

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

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

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

Tableau Server で OpenID Connect を使用するには、ローカル アイデンティティ ストアを使用するようサーバーを構成する必要があります。サーバーは、Active Directory などの外部ディレクトリからユーザーをインポートするのではなく、Tableau Server でユーザーを明示的に作成するよう構成する必要があります。OpenID では、外部のアイデンティティ ストアを使用したユーザーの管理はサポートされていません。

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

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

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

IdP として Google を使用している場合、既定である 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 でユーザー ID を作成する場合、ユーザー名とパスワード、オプションとして電子メール アドレスを指定します。既定の構成で OpenID Connect を使用する場合、ユーザー名 (電子メール アドレスとして表す) には IdP のユーザー名と一致する値を使用する必要があります。Tableau Server ユーザー ID のオプションの電子メール アドレスは OpenID 認証には使用されません。

ドメイン名を無視

Tableau Server でユーザー アカウントへの IdP email クレームを照合する際には、電子メール アドレスのドメイン部分を無視するよう Tableau を構成できます。このシナリオでは、IdP の email クレームは alice@example.com となる可能性がありますが、これは、Tableau Server の alice という名前のユーザーと一致します。ドメイン部分ではなく、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 内のすべてのユーザー名にはドメイン名が必要です。

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

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

OpenID sub クレーム値は、Tableau Server の対応するユーザーにマッピングされる必要があります。sub クレームは任意の文字列のため、最初のサインイン セッション時、別のクレームを使用してアカウントに関連付けられます。ユーザーが OpenID を使用して初めて Tableau Server にサインインするとき、Tableau は OpenID ユーザー アカウントを Tableau 上の対応するユーザー アカウントと照合します。既定では、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 のオプションを参照してください。

ありがとうございます!