データ保護ルールを使用して、仮想データをマスクすることができます。 マスクされた列を照会すると、データが隠された状態で返されます。
データ・マスキングは、照会の結果セットのみに適用されます。 表と列にある元のデータは影響を受けません。 マスキングは、照会の述部またはビューには適用されません。 データ・マスキングを使用して、機密データの公開を防ぐことができます。 しかし、データマスキングによって、Data Virtualizationユーザーがサービスに接続し、そのデータに対してクエリを実行することができなくなるわけではない。 ユーザーは、データの結合とグループ化、レポートの生成、分析の実行、および生データを使った洞察の収集を行うことができ、また結果セットのみをマスキングすることができます。
データ・マスキング・ルールは、Data Virtualization化の以下のオブジェクトにのみ適用される:
- 仮想化オブジェクト
- ネイティブ Db2® 表
- Materialized Query Tables (MQTs)
データ・マスキングの方法に応じて、データは編集、置換、または難読化されます。 詳細については、データData Virtualizationにおけるデータ保護ルールによる仮想データの管理を参照してください。 仮想化データの列名の横にあるロック・アイコン () は、その列のデータがデータ保護ルールによってマスクされていることを示します。
サポートされるマスキング・アクション
- リダクション (基本)
- 「編集」アクション・データ・マッピング
- Data Virtualizationで Redactアクションにマッピングされるデータタイプを以下に示します。
- VARCHAR は 'XXXXXXXXXXXX' または 'X' 列の長さ (どちらか短い方) にマスクされます。
- CHAR は 'XXXXXXXXXXXX' または 'X' 列の長さ (どちらか短い方) にマスクされます。
- 数値データ・タイプは 0 にマスクされます。
- DATE は '2001-01-01' にマスクされます。
- TIME は「00:00:00」にマスクされます。
- TIMESTAMP は DATE ('2001-01-01 00:00:00.0') にマスクされます。
- BOOLEAN は 「False」として編集されます。
- 部分編集 (拡張)
- 置換
- 「置換」アクション・データ・マッピング
- CHAR、VARCHAR
- 代替マスキング・アクションは、ソルトされた sha256 ハッシュに基づいており、CHAR/VARCHAR 列で使用されると、 base64 エンコードされます。 列の長さは、衝突を避けるために少なくとも 43 バイトでなければなりません (2 つの異なる入力が同じ出力になります)。
- SMALLINT、INT、BIGINT、DECIMAL、DOUBLE、REAL、DECFLOAT
- 置換では、元の値の数値ハッシュが表示されます。 結果の値に先行 "0" が設定されている場合、そのゼロは表示されません。 例えば、マスクされた値 "02" は、単に "2"と表示されます。
- DATE、TIMESTAMP
- 置換では、元の値のハッシュ表記が表示されます。
- CLOB、BLOB、BINARY、VARBINARY
NULL
(または、列がNOT NULL
として定義されている場合は空の値)- 他のデータ
- 「編集」アクションにフォールバックします。
- 難読化 (基本)
- 難読化 (拡張)
- 可逆的マスキング
- Identifier メソッドでの文字フォーマット・オプション
- フォーマットを保持
- 不可逆的マスキング
- 反復可能な整合性
- ランダム整合性
- 入力の検証
- 識別子メソッド
難読化オプションおよび拡張マスキング・オプションでは、以下のデータ・クラスがサポートされます。
- 個人名
- 名
- 姓
- 名前の接尾語 (Name Suffix)
- 敬称
- 性別
- E メール・アドレス
- 生年月日
- 運転免許証 (Driver’s License)
- 米国 50 州のすべての運転免許証番号の形式
- 米国社会保障番号
- 米国社会保障番号の下 4 桁 (US Social Security Number Last 4)
- 民族性 (Ethnicity)
- 目の色 (Eye Color)
- 髪の色 (Hair Color)
- 趣味/レジャー活動 (Hobby/Leisure Activity)
- 法律上の婚姻状況 (Legal Marital/Civil Status)
- 政党 (Political Party)
- 雇用状況 (Employment Status)
- 関係
- 宗教 (Religion)
- ISO 369 に準拠した言語コードまたは名前
- 組織名 (Organization Name)
- Dun & Bradstreet ビジネス ID
- DUNS 番号
- Fortune 1000 企業 (Fortune 1000 Company)
- 国際商業用語
- Commercial and Government Entity コード (Commercial and Government Entity Code)
- 住所の行
- 住所行 1 (Address Line 1)
- 住所行 2 (Address Line 2)
- 住所行 3 (Address Line 3)
- 国名
- 国別コード
- 米国の通りの名前 (US Street Name)
- 米国の州都名 (US State Capital Name)
- US ZIP コード (US ZIP Code)
- 米国の電話番号
- 米国の州コード
- 米国の州名
- 米国の郡名
- 州/都道府県名 (State/Province Name)
- 市区町村 (英語)
- カナダの州コード
- カナダの州名
- 緯度
- 経度
- ISO 3166-2 国の州/州コード
- インターネット・プロトコル・アドレス
- インターネット・プロトコル・バージョン 6 アドレス
- 銀行 ID コード
- 口座番号 (Account Number)
- クレジット・カード番号
- ビザ・カード・クレジット・カード
- American Express クレジット・カード
- マスター・カード・クレジット・カード
- カード・クレジット・カードのディスカバー
- ディナーズ・クラブ・クレジットカード
- 日本クレジットビューロークレジットカード
- 日付
- Datetime
- 月
- 温度
- ドイツの自動車登録番号
- 疾病の国際統計分類 v10
使用上の注意
- Data Virtualizationにおけるデータマスキングのサポートは、以下のデータタイプに限定されている:
- 文字ストリング (CHAR、VARCHAR)
- 数値 (SMALLINT、INT、BIGINT、DECIMAL、DOUBLE、REAL、DECFLOAT)
- 日付と時刻 (DATE、TIMESTAMP)
- ブール
- データ・タイプ TIME の列は、マスキング・ルールの定義方法に関係なく、常に 00:00:00.000 としてマスクされます。
- CLOB、BLOB、BINARY、および VARBINARY タイプの列は、マスキング・アクションに関係なく、
NULL
(または、列がNOT NULL
として定義されている場合は空の値) としてマスクされます。 - マスキングは、SQL ステートメント内の WHERE、GROUP BY、JOIN、HAVING、SELECT DISTINCT、ORDER BY 文節などの照会述部には適用されません。
- データマスキング・ルールを適用するには、仮想オブジェクトをガバメント・カタログに取り込み、Data Virtualization接続タイプを使用する必要があります。
- データ・マスキング・ルールをビューに直接適用することはできません。 ビューの結果セットは、ビューによって参照されるオブジェクトに適用されるデータ保護規則に従ってマスクされます。 ビュー定義で参照されている表から、識別の詳細をマスクすることができます。
- すべての数値データ・タイプの列を部分的にも含めて編集すると、マスキングは 0 になります。
- ルール・ビルダーのユーザー・インターフェースを使用して、データ保護ルールを定義します。 Data Virtualizationは、 Data Virtualizationのデータ保護ルールによる仮想データの管理で説明されている部分的な再編集オプションをサポートします。
- 正しい結果が得られるようにするには、列定義に適切なデータ・クラス割り当てを使用してください。 例えば、DECIMAL タイプの列に Zip コード・データ・クラスを割り当てないでください。
- サポートされないデータ・クラスの難読化では、常に ID マスキングが実行されます。このマスキングでは、文字と数字が数字でマスクされ、大/小文字の区別が維持されます。
NULL
値が置換または難読化されると、サポートされているデータ・クラスを持つ列に対してランダム値が作成されます (非決定論的)。 サポートされないデータ・クラスを持つ列のNULL
値は、標準リダクションにフォールバックします。- ID マスキング方式を難読化で使用すると、空の値が編集されます。
- SUM などの集約関数では、置換マスキングで数値オーバーフローが発生する可能性があります。 以下の例に示すように、列をより高い次数タイプにキャストすることができます。
SELECT SUM(CAST(VALUE AS DECIMAL(31,0))) FROM PROJECT1.CUSTOMERS
- 難読化 ルールで 「入力検証」 オプションを使用すると、内部辞書に認識されていない入力値は無効と見なされ、代わりに リダクション が実行されます。
- リダクションを実行すると、最高のパフォーマンスが得られます。 置換および難読化では、より高度なアルゴリズムが使用されるため、オーバーヘッドが大きくなります。
- マスクされた列は、
EXCEPT
、EXCEPT ALL
、INTERSECT
、INTERSECT ALL
、またはUNION
セット演算子を含むセット操作から派生したSELECT
(ビューを含む) では使用できません。
制限
- 重要:
When you preview, download, or refine Data Virtualization data assets in Watson services other than Data Virtualization, in Cloud Pak for Data (for example, IBM Knowledge Catalog, Watson Studio, and Data Refinery), and in cases when data masking or row-level filtering applies, the preview is subject to the data protection rules and catalog or project access control only. Data Virtualizationアクセス制御は強制されない。
Watsonサービス(Data Virtualization以外)のプレビューにデータマスキングまたは行レベルフィルタリングが適用されている場合、Data Virtualizationのアクセス制御は適用されない。 Data Virtualizationの内部アクセス制御は、Data VirtualizationUIのManage accessを使用して制御されますが、マスキングや行レベルのフィルタリングを使用した他の「Watsonサービスからのプレビューには適用されません。 他の Watson サービスでのアクセス制御のために、カタログ、プロジェクト、データ資産、または接続へのアクセスを管理するためのルールを定義する必要があります。
- ID マスキング・メソッドは、マルチバイト文字ではサポートされていません。 元のマルチバイト文字が戻されます。
- マルチバイト文字を 1 バイトでマスクしたり、1 バイト文字をマルチバイトでマスクしたりすると、予期しない結果が生じる可能性があります。
- Data Virtualizationでは、カスタム・データ・クラスのマスキングはサポートされていません。 代わりに、ID マスキング方式が使用されます。
- 難読化の文字フォーマット・オプションはサポートされていません。代わりに、文字と数字を数字でマスクし、大/小文字を維持する ID マスキングが実行されます。
- 状況によっては、カタログやプロジェクトでマスクされたプレビューは、Data Virtualizationとは異なる場合があります。