データ・フィルターを使用して Campaign が顧客データへのアクセスを制限する方法

管理者は、Marketing Platform でデータ・フィルターを定義し、特定の顧客データに IBM® Marketing Software ユーザーがアクセスできないよう制限できます。Campaign では、データ・フィルターはフローチャート出力に影響を及ぼします。

データ・アクセスを制限するには、Marketing Platform 管理者がデータ・フィルターを定義し、ユーザーまたはユーザー・グループを異なるデータ・フィルターに割り当てます。例えば、管理者は、IBM ユーザーが割り当てられている地理上の販売テリトリーに基づいて顧客データへのアクセスを制御できます。

データ・フィルターをセットアップする方法については、「IBM Marketing Platform 管理者ガイド」を参照してください。

Campaign のデータ・フィルターの効果

データ・フィルターは、Campaign フローチャートの「選択」、「抽出」、「オーディエンス」の各プロセスに適用されます。例えば、データベース・テーブルに 2000 レコードが含まれているものの、データ・フィルターによってそのうち 500 レコードが制限されている場合、Campaign においてすべて選択操作を行うと、1500 レコードのみが戻されます。

同じフローチャートで同じタイプの複数のプロセスを使用する場合は、ダウンストリームのプロセスにデータ・フィルターが適用されます。例えば、フローチャートの 2 つの位置に選択プロセスを組み込み、そのうちの 1 つを下流にすると、両方のプロセスにデータ・フィルターが適用されます。

下流の選択プロセス・ボックスと抽出プロセス・ボックスで入力として複数のテーブルを使用すると、フィルターの適用されるテーブルのデータにフィルターの適用されないテーブルのデータが追加されます。その結果、プロセスのパフォーマンスが向上します。下流のデータ・フィルターを実行する場合、TEMP TABLEOn でも OFF でもかまいません。

すべてのプロセス・ボックスのデータ・フィルターに関する注意点を以下にまとめます。
  • 選択プロセスと抽出プロセスの場合、データ・フィルターは 1 つのテーブルだけに適用されます。
  • 2 種類のフィルターを使用すると、OR 条件で 2 つのフィルターを使用することになるので、結果のデータ量が多くなります。
  • データ・フィルターは、設計時のアクティビティーには影響を及ぼしません。例えば、フィールドのプロファイルが作成されるときに表示される値がデータ・フィルターによって非表示になることはありません。ユーザーは、プロセス構成ダイアログにおけるフィールドのプロファイル作成時または照会のビルド時に制限されているデータを表示できますが、制限されているデータは照会結果には含まれません。データ・フィルターは、フィルターが関連付けられているテーブルをプロセス・ボックスが照会するために使用する SQL と統合されます。
  • データ・フィルターは、未加工の SQL 照会、または未加工の SQL を使用するカスタム・マクロには適用されません。例えば、「選択プロセス構成」ダイアログで未加工の SQL 照会を作成するために「SQL による顧客 ID の選択」を使用する場合、照会の実行時にデータ・フィルターはすべて無視されます。この動作は意図的なものであり、これにより、上級ユーザーは制限なしで SQL 照会を実行できます。
重要: 未加工の SQL 照会はデータ・フィルターをオーバーライドするので、SQL 照会を実行するユーザーはデータ・フィルターに関係なくレコードにアクセスできます。Campaign ユーザーが未加工の SQL を使用できなくする場合には、ユーザーの権限を制限する必要があります。

この例では、DATAFILTER_TEST テーブルと、それに対応する DATAFILTER_TEST.xml XML ファイルを使用します。ご使用のデータベースやテーブルに基づいて必要な変更を以下の手順に加えてください。

データ・フィルターを DATAFILTER_TEST テーブルに適用する例を取り上げます。そのテーブルで以下の前提条件を満たす必要があります。
  1. ユーザー・データベースで DATAFILTER_TEST テーブルを作成します。

    Oracle の場合:

    CREATE TABLE DATAFILTER_TEST   
    (  ID NUMBER,    
       NAME VARCHAR2(20),
       COUNTRY VARCHAR2(20),
       AGE NUMBER,
       ACCT_TYPE VARCHAR2(20), 
       RETAIL_ACCT VARCHAR2(10), 
       HOUSEHOLD VARCHAR2(50)  
    );

    DB2 の場合:

    CREATE TABLE SB6.DATAFILTER_TEST ( ID BIGINT, NAME VARCHAR(20), COUNTRY VARCHAR(20), AGE BIGINT,
    ACCT_TYPE VARCHAR(20),  RETAIL_ACCT VARCHAR(10), HOUSEHOLD VARCHAR(50));
    
    CREATE TABLE SB6.DATAFILTER_TEST 
    (  ID BIGINT,
       NAME VARCHAR(20),
       COUNTRY VARCHAR(20),
       AGE BIGINT,  
       ACCT_TYPE VARCHAR(20),
       RETAIL_ACCT VARCHAR(10),
       HOUSEHOLD VARCHAR(50),
       BIRTHDAY TIMESTAMP,
       FIRSTOCCUPATION DATE
    )
  2. そのテーブルにデータを追加します。
  3. DATAFILTER_TEST.xml ファイルにユーザー・テーブル名 AUTODCC.DATAFILTER_TEST を追加します。SQL Server データベースを使用している場合は、テーブル名を dbo.DATAFILTER_TEST と指定する必要があります。

    ユーザー・テーブルに基づいて XML ファイルに必要な変更を加えます。この XML ファイルには、データ・レベル・フィルターのテーブル情報、論理フィールド、データ・レベル・フィルター、オーディエンス情報などを組み込まなければなりません。

  4. XML ファイルをフォルダー <Platform_Home>/tools/bin に追加します。
  5. Campaign アプリケーションでオーディエンス・レベルを作成します。例えば、Customer、Account、Composite、Household などです。
  6. Platform データベースの <Platform_Home>/db にある ManagerSchema_PurgeDataFiltering.sql を実行します。
    注: この手順を実行すると、適用されているすべての既存のデータ・レベル・フィルターが削除されます。
  7. Marketing Platform アプリケーションで、「構成」>「全般」>「データ・フィルター」を選択して、「デフォルトのテーブル名」を消去します。「デフォルトのテーブル名」を空白にしてください。XML ファイルをインポートすると、「デフォルトのテーブル名」に値が取り込まれます。
  8. <Platform_Home>/tools/bin に移動して、以下のコマンドを実行します。
    ./datafilteringScriptTool.sh -r <xmlfileName>
    For example:
    ./datafilteringScriptTool.sh -r DATAFILTER_TEST.xml
    bash-3.2# cd /opt/ibm/Campaign/SB8606/Platform/tools/bin/
    bash-3.2# ./datafilteringScriptTool.sh -r DATAFILTER_TEST.xml
    Script started
    Script completed successfully
    bash-3.2#
  9. Marketing Platform アプリケーションで、「設定」>「構成」>「全般」>「データ・フィルター」を選択して、「デフォルトのテーブル名」AUTODCC.DATAFILTER_TEST になっていることを確認します。これは、XML ファイルの <Schemaname.TableName> と同じ名前です。
  10. デフォルトの「オーディエンス」Customer に設定します。
  11. 「設定」>「データ・フィルター」>「ユーザーまたはグループの割り当て」を選択します。フィルター基準を選択し、そのフィルターを対応するユーザーに割り当てます。

    例えば、「国」India、USA を選択し、「ユーザー」Test を選択します。Campaign のデフォルトの Test ユーザーに、テーブル・マッピングの権限と、すべての Campaign オブジェクトに関するすべての権限が与えられます。