Tableau Lightning Web コンポーネントでユーザー属性関数 (UAF) を活用する
Tableau ビューおよび Pulse Lightning Web コンポーネント (LWC) でユーザー属性関数 (UAF) を活用して、Viz を見ているユーザーの属性に基づいて特定のデータを表示できます。ユーザー属性関数は行レベルのセキュリティを提供して、Viz を見るユーザーに自分に関連するデータのみが表示されるようにします。UAF の詳細については、「ユーザー属性関数でパーソナライズされた分析のパワーを解放する」を参照してください。
前提条件
Tableau Lightning Web コンポーネントには、トークン認証を使用したシングル サインオン (SSO) が設定されています。「Tableau Lightning Web コンポーネントとトークン認証によるシングル サインオン (SSO) の設定」を参照してください。
Tableau は、認証ワークフローでユーザー属性を取得するように構成されています。「ユーザー属性の取得を許可する」を参照してください。
埋め込まれる Tableau コンテンツには、ユーザー属性関数が含まれます。Tableau ワークブックでユーザー属性関数を使用する方法の例については、「コンテンツ作成者がユーザー属性関数を含めていることを確認する」を参照してください。
Salesforce での Tableau UAF クレーム定義
Tableau UAF 定義を使用すると、JWT にユーザー属性のクレームを含めることができます。これらの属性の値は、Salesforce の Account オブジェクトまたは User オブジェクトから取得できます。Tableau コンテンツ内のユーザー属性関数と組み合わせて使用すると、指定された属性に一致するデータのみが表示されます。
たとえば、Tableau ダッシュボードは、[State/Province (都道府県/州)] データ列の値が属性「state」の JWT クレームの値の 1 つと一致する売上データのみを表示するように構成できます。
構文: USERATTRIBUTEINCLUDES('attribute_name', expected value)
例: USERATTRIBUTEINCLUDES('state', [State/Province])
Salesforce でクレーム定義を作成すると、JWT にユーザー固有の適切な情報を含めることができます。この例では、Billing State/Province フィールドから値を取得することにより、現在のユーザーがアカウント所有者であるアカウントの値が属性「state」に入力されます。
クレーム定義の例
定義名: state_Account_BillingState
属性名: state
ターゲット オブジェクト: Account
ターゲット オブジェクト フィールド: Billing State/Province
閲覧者とターゲット オブジェクトの関係: 現在の閲覧者はアカウント所有者
ワシントン州、オレゴン州、カリフォルニア州にアカウントを持つ営業担当者の場合、JWT には [WA, OR, CA] という値を持つ「state」のクレームが含まれます。Tableau ダッシュボードには、[State/Province] 値が WA、OR、または CA に一致するデータのみが表示されます。
定義の作成
ユーザー属性の定義を作成するには、次の手順を実行します。
Salesforce アプリで、右上隅にある歯車を選択し、[設定] を選択します。
左側のナビゲーション ペインで、[Quick Find (クイック検索)] 検索バーに「Tableau」と入力します。
[Tableau UAF Claims Definition (Tableau UAF クレーム定義)] 設定ページを選択します。
[Create New (新規作成)] を選択します。
定義の値を入力します。
定義名: 一意の名前を入力します。(例: state_Account_BillingState)
属性名: Tableau のユーザー属性関数で指定された属性名を入力します。(例: state)
ターゲット オブジェクト: 情報の取得元のターゲット オブジェクトを選択します。Tableau LWC は現在、User オブジェクトと Account オブジェクトをサポートしています。
ターゲット オブジェクト フィールド: 情報の取得元のフィールドを選択します。(例: Billing State/Province)
閲覧者とターゲット オブジェクトの関係: 現在の閲覧者とターゲット オブジェクトの関係を選択します。(例: 現在の閲覧者はアカウント所有者)。
[保存] を選択します。または、保存せずに [Tableau UAF Claims Definition (Tableau UAF クレーム定義)] 設定ページに戻る場合は、[キャンセル] を選択します。
Tableau Lightning Web コンポーネント ページに定義を追加する
Tableau LWC を構成するときは、[UAF Definition Names (UAF 定義名)] コンポーネント フィールドを使用して、追加する UAF クレーム定義を選択します。
定義を追加するには、次の手順を実行します。
[Select… (選択…)] を選択します。
矢印を使用して、利用可能な定義を [Selected (選択済み)] フィールドに移動します。
[OK] を選択します。
Experience Cloud ページ
UAF クレーム定義名のコンマ区切りリストを入力します。定義名をコピーするには、Salesforceアプリから [Tableau UAF Claims Definition (Tableau UAF クレーム定義)] 設定ページに移動し、[コピー] を選択します。
定義の削除
ユーザー属性の定義を削除するには、次の手順を実行します。
Salesforce アプリで、右上隅にある歯車を選択し、[設定] を選択します。
左側のナビゲーション ペインで、[Quick Find (クイック検索)] 検索バーに「Tableau」と入力します。
[Tableau UAF Claims Definition (Tableau UAF クレーム定義)] 設定ページを選択します。
削除する定義に対して [削除] を選択します。
アプリ、ホーム、レコード ページ
Tableau LWC にすでに追加されている定義を削除する場合は、Lightning アプリケーション ビルダーでページを更新して、使用可能な定義を更新します。削除された定義は自動的に取り除かれます。
Experience Cloud ページ
削除された定義は、Tableau LWC コンポーネント フィールドから自動的に取り除かれません[UAF Definition Names (UAF 定義名)] コンポーネント フィールドの削除された定義は問題を引き起こしませんが、不要かつ乱雑な状態を作り出します。Tableau LWC コンポーネント フィールドから定義を削除するには、[UAF Definition Names (UAF 定義名)] フィールドを選択し、使用されなくなった名前を手動で削除します。