アクセス制御およびデータの保護

学習の目的

この単元を完了すると、次のことができるようになります。

  • Tableau CRM のデータの提供元および組み込みのユーザアカウントについて説明する。
  • 行レベルセキュリティと項目レベルセキュリティを比較する。

権限とアクセスの比較

前の単元で、パスポートのたとえを用いて、権限セットライセンスと権限セットの違いを確認しました。ここでは、権限とアクセスを区別する方法を紹介します。権限はあなたが実行できることで、アクセスはあなたが参照できるものと考えます。Tableau CRM のセキュリティの説明において、この概念は実に的を得たものです。

DTC の Salesforce システム管理者として、誰が何にアクセスできるか、つまり、誰がどのデータを参照できるかを検討します。以前の単元では、アプリケーションや機能を使用する権限をユーザに付与する方法を学習しました。この単元では、各ユーザのデータへのアクセスをきめ細かく制御する方法を見ていきます。

Tableau CRM での Salesforce のデータアクセス

csv ファイルをアップロードした場合を除き、Tableau CRM で使用するデータはおそらく Salesforce から取り込まれたものです。Tableau CRM があなたに代わってこのデータにアクセスする方法について説明します。なぜでしょうか? Tableau CRM では事前定義された内部アカウントを使用して、その処理を行うためです。Salesforce システム管理者はプロファイルや権限の管理を行うため、これらのアカウントがどのようなもので、どのように設定されているかを知っておく必要があります。では、この内部的な仕組みを見ていきましょう。

Tableau CRM は、2 つの Tableau CRM 内部ユーザであるインテグレーションユーザとセキュリティユーザの権限に基づいて Salesforce データにアクセスします。

  • Tableau CRM は、データフロージョブが実行されたときに、インテグレーションユーザの権限を使用して Salesforce オブジェクトおよび項目からデータを抽出します。
  • User オブジェクトに基づいて行レベルセキュリティが設定されているデータセットを照会すると、Tableau CRM はセキュリティユーザの権限を使用して User オブジェクトとその項目にアクセスします。

インテグレーションユーザとセキュリティユーザのプロファイルおよびユーザレコードを見てみましょう。

  1. [設定] から、[クイック検索] ボックスに「ユーザ」と入力します。
  2. [ユーザの管理] で、[ユーザ] を選択します。

リストに、「ユーザ、インテグレーション」というユーザと「ユーザ、セキュリティ」というユーザが表示されます。いずれかをクリックすると、これらのユーザの詳細情報が表示されます。

この 2 つのユーザにはプロファイルが関連付けられています。

  1. [設定] から、[クイック検索] ボックスに「プロファイル」と入力します。
  2. [ユーザの管理] で、[プロファイル] を選択します。

Analytics Cloud インテグレーションユーザおよび Analytics Cloud セキュリティユーザというプロファイルが表示されます。いずれかをクリックすると、割り当てられているさまざまな権限が表示されます。たとえば、[項目レベルセキュリティ] というヘッダーの列を見ると、照会するオブジェクトの中に項目レベルセキュリティが適用されているものがないかを確認できます。

メモ

メモ

これらのプロファイルは、組織で Tableau CRM を有効にするときに、カスタマイズして使用する目的でコピーされることがよくあります。有効化の時点で、あなたか他のシステム管理者がこの操作を行っているものと思われます。

行レベルセキュリティ


Tableau CRM ユーザにデータセットへのアクセス権があれば、デフォルトではデータセット内のすべてのレコードにアクセスできます。それはそうですよね? けれども、データセットに行レベルセキュリティを実装して、一定のレコードへのアクセスを制限したいと思うことがあります。一部のレコードに機密データが含まれている場合、全員がアクセスできるようにすべきではないためです。

セキュリティ述語

行レベルセキュリティを実装するには、レコードへのアクセスを制限するデータセットごとに述語を設定します。複雑なことのように聞こえますが、述語とは、データセット内のレコードへの行レベルのアクセスを定義する検索条件の気取った名称です。述語が設定されているデータセットに対してユーザがクエリを送信すると、Tableau CRM が述語をチェックして、ユーザがどのレコードにアクセスできるかを判断します。ユーザにレコードへのアクセス権がなければ、Tableau CRM はそのレコードを返しません。

では、セキュリティ述語がどのように表示されるか見てみましょう。心配はいりません。ここでは設定を一切変更しないため、何かが壊れるようなことはありません!

セキュリティ述語を確認するには、データフローの JSON ファイルまたはデータセットの編集ページを確認します。

データセットの編集ページで述語を確認するほうが簡単です。

  1. アプリケーションランチャーで、[Analytics Studio] を見つけて選択します。
  2. Tableau CRM のホームタブで、[すべての項目] をクリックします。
  3. [Datasets (データセット)] をクリックします。
  4. データセットにマウスポインタを置き、アクション矢印をクリックして、下矢印アイコンのインライン画像。[編集] をクリックします。
  5. ページ下部の [セキュリティ] セクションまでスクロールします。

データセットにセキュリティ述語が定義されている場合は、ここに表示されます。

特定のレコードへのユーザアクセスを制限する上記の使用事例は極めて一般的です。以下は、この検索条件を実行する述語の例を示しています。

"rowLevelSecurityFilter":"'AccountOwner' == \"$User.Name\""

AccountOwner は、各販売目標の取引先所有者の氏名を格納するデータセット項目のことです。$User.Name は、各ユーザの氏名を格納するユーザオブジェクトの Name 列です。Tableau CRM はルックアップを実行して、現在ログインしているユーザを表示します。

AccountOwner の名前と $User.Name の名前が同じであれば、この述語によって一致結果が返されます。ユーザには、自身が取引先所有者であるデータのみが表示されます。さほど難しいことではないですよね? セキュリティ述語およびその追加方法についての詳細は、『Analytics セキュリティ実装ガイド』を参照してください。

上出来です。これで、Tableau CRM のセキュリティ述語については何でも知っていると自慢できます!

項目レベルセキュリティの場合

Salesforce では、項目レベルセキュリティを実装して、レコードの個々の項目へのアクセスを制限できます。Tableau CRM で項目レベルセキュリティを設定していなくても、前述のとおり、Analytics インテグレーションユーザの権限を使用して Tableau CRM データフローが実行されます。そのため、Salesforce オブジェクトに項目レベルセキュリティを適用する場合は、Analytics インテグレーションユーザに参照アクセス権を割り当てる必要があります。割り当てなければ、データフローの実行時に Tableau CRM がデータを参照できないため、エラーが表示されることがあります。

詳細は、『Analytics セキュリティ実装ガイド』を参照してください。

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる