tencent cloud

Data Lake Compute

製品概要
プロダクト概要
製品の強み
適用シーン
購入ガイド
課金概要
返金説明
支払い期限切れ説明
設定調整費用の説明
クイックスタート
新規ユーザー開通フルプロセス
DLC データインポートガイド
DLCデータ分析の1分間入門
DLC権限管理の1分間入門
パーティションテーブル1分間入門
データ最適化をオンにする
クロスソース分析 EMR Hive データ
標準エンジン構成ガイド
操作ガイド
コンソール操作紹介
開発ガイド
実行環境
SparkJar ジョブ開発ガイド
PySparkジョブ開発ガイド
「クエリパフォーマンス最適化ガイド」
UDF 関数開発ガイド
システム制約
クライアントアクセス
JDBCアクセス
TDLC コマンドラインツールにアクセス
サードパーティソフトウェア連携
Python にアクセス
実践チュートリアル
DLC を Power BI に接続
テーブル作成の実践
Apache Airflowを使用してDLCエンジンのタスクをスケジュールして送信する
StarRocks は DLC 内部ストレージを直接クエリします
Spark の計算コスト最適化プラクティス
DATA + AI
ロールSSOを使用してDLCにアクセスする
SQL構文
SuperSQL構文
標準 Spark 構文概要
標準 Presto 構文の概要
予約語
API Documentation
History
Introduction
API Category
Making API Requests
Data Table APIs
Task APIs
Metadata APIs
Service Configuration APIs
Permission Management APIs
Database APIs
Data Source Connection APIs
Data Optimization APIs
Data Engine APIs
Resource Group for the Standard Engine APIs
Data Types
Error Codes
一般クラスリファレンス
エラーコード
クォータと制限
サードパーティソフトウェアでDLCに接続する操作ガイド
よくあるご質問
権限に関するよくあるご質問
エンジン類のよくある質問
機能に関するよくあるご質問
Sparkジョブクラスに関するよくある質問
DLC ポリシー
プライバシーポリシー
データプライバシーとセキュリティ契約
お問い合わせ

データマスキング

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-25 10:46:40

概要

データレイクコンピューティング DLC 製品は列レベルのデータマスキングをサポートしており、データマスキング機能を使用して、機密データを含む列にマスキングルールを関連付け、さまざまなユーザーグループ向けに一連のマスキングアルゴリズムを設定し、ロールベースのきめ細かいマスキング適用を実現できます。例えば、電話番号データの場合、カスタマーサービス担当者グループには完全なアクセス権を付与し、分析担当者グループには下4桁のみを表示する権限を付与し、財務担当者グループにはNULLとして表示する厳格なマスキング権限を適用することが可能です。

制約と制限

DLC データマスキング機能の現在の制約と制限は以下の通りです。

サポートされているエンジンタイプ

現在、2024年10月1日以降のカーネルバージョンを搭載したSpark標準エンジン、SuperSQL Sparkジョブエンジン、SuperSQL SparkSQLエンジンのみをサポートしています。なお、SuperSQL SparkSQLエンジンのデータマスキングはホワイトリスト機能となっており、利用するにはチケットを提出して申請する必要があります。DLCエンジンのカテゴリについては、データエンジンの紹介をご参照ください。

有効範囲

1. データマスキング機能はDLCすべてのユーザー(管理者を含む)に対してのみ有効です。DLCのユーザータイプについては、DLC権限の概要を参照してください。
2. データマスキングポリシータグの設定が完了してから、約1分程度の有効化時間が必要です。
3. デフォルトのデータディレクトリDataLakeCatalogのメタデータに対してのみ有効です。

特別な制限

1. SuperSQL SparkSQLエンジンを使用する場合、データマスキングポリシーはビューをサポートしていません。
2. ユーザー/ワークグループがテーブルに対するSELECT権限を持っている必要があります。そうでない場合、ユーザー/ワークグループがそのテーブルをクエリするとエラーが表示されます。DLCの権限タイプについては、サブアカウント権限管理を参照してください。

サポートされている匿名化方法

現在のDLCでは以下の列値データ匿名化方法をサポートしています:

デフォルト値

列のデータ型に基づいて列のデフォルト匿名化値を返します。列値を非表示にしつつデータ型を表示したい場合、このルールの使用を検討できます。
サポートされているデータ型: STRING BINARY INT BIGINT DOUBLE FLOAT DECIMAL BOOLEAN TIMESTAMP DATE ARRAY
データ型
デフォルトの脱敏値
STRING
""
BINARY
[]
INT
0
DECIMAL
0
BIGINT
0
FLOAT
0
DOUBLE
0
BOOLEAN
false
TIMESTAMP
1970-01-01 08:00:00
DATE
1970-01-01
ARRAY
[]

「設定-一般」

列値の最初の4文字を返し、文字列の残りの部分をXXXXXに置き換えます。列値の長さが4文字以下の場合、SHA-256ハッシュ関数で処理された列値を返します。このルールはSTRINGデータ型の列にのみ使用できます。
サポートされているデータ型: STRING
例の値
脱敏値
abcd@example.com
abcdxxxxxxxxxx
abc
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

後四文字を残す

列値の最後の4文字を返し、文字列の残りの部分をXXXXXに置き換えます。列値の長さが4文字以下の場合、SHA-256ハッシュ関数で処理された列値を返します。このルールはSTRINGデータ型の列にのみ使用できます。
サポートされているデータ型: STRING
例の値
脱敏値
abcd@example.com
xxxxxxxxxx.com
abc
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

ハッシュ

SHA-256ハッシュ関数で処理された列値を返します。クエリのJOIN操作でこの列を最終ユーザーが使用できるようにしたい場合、このルールを使用できます。このルールはSTRINGまたはBYTESデータ型の列にのみ使用できます。
サポートされているデータ型: STRING BYTES
例の値
脱敏値
abcd@example.com
3f7768839b5bcba43f589cc3af54efaea18bceb1df8b05a7dffaec3e7b43b269

NULLに設定

列のデータタイプに関係なく、NULLを返します。列の値とそのデータタイプを非表示にする場合は、このルールを使用してください。
サポートされているデータ型: 制限なし
例の値
脱敏値
abcd@example.com
NULL

日付脱敏

日付文字列の年の部分のみを表示し、月と日をデフォルトで01/01に設定します。このルールは、DATE、TIMESTAMPデータ型の列にのみ適用できます。
サポートされているデータ型: TIMESTAMP DATE
例の値
脱敏値
2015-03-05T09:32:05.359
2015-01-01 00:00:00

匿名化しない

列値の平文を表示し、いかなる匿名化処理も行いません。
サポートされているデータ型: 制限なし

匿名化方法の選択に関するアドバイス

以下のアドバイスに基づいて、列値に必要な匿名化方法を柔軟に選択できます:
匿名化方法
シナリオ推奨
デフォルト値
列の値を非表示にしたいが、ユーザーにそのデータ型を表示する必要がある
「設定-一般」
列の値を平文で非表示にしたいが、情報確認のために一部の文字を表示する。例えば、カスタマーサービスが顧客に電子メールの最初の4文字を確認する場合など。
私が作成したレコーディングは、デフォルトで「{assistant_name}」をオンにします
列の値を平文で非表示にしたいが、情報確認のために一部の文字を表示する。例えば、カスタマーサービスが顧客に携帯電話番号の最後の4桁を確認する場合など。
ハッシュ
ユーザーがクエリのJOIN操作でこの列を使用したり、GROUP BYで統計を行ったりできるようにしたい場合は、このルールを使用できます
NULLに設定
列の値とそのデータ型を非表示にする場合は、このルールを使用します
日付脱敏
年のみを表示し、残りの日付情報を非表示にするシナリオに使用します。生年月年の確認など。
匿名化しない
平文を使用する必要があるユーザー向け

データ匿名化ワークフロー

以下の手順に従ってDLCデータ匿名化を設定できます:

脱敏ポリシータグの概要

脱敏策略タグとは、ユーザーがカスタマイズして機密データ列に関連付けるためのタグであり、1つの脱敏策略タグ内で複数のユーザーグループに対する詳細な脱敏方法を設定できます。例えば、「携帯電話番号」という名前の脱敏策略タグを設定し、3つのDLCワークグループに対する脱敏方法を以下のように設定します:
脱敏ポリシータグの名称:電話番号の匿名化
ワークグループの匿名化方法の設定:
ワークグループ
匿名化方法
カスタマーサポートスタッフグループ
匿名化しない
アナリストグループ
下4桁を表示
財務担当者グループ
NULLに設定
効果:
上記の匿名化ポリシータグをPhone_number1、Phone_number2の2つの列に関連付けると、カスタマーサービス担当者グループのDLCユーザーがPhone_number1、Phone_number2をクエリすると平文が表示されます。分析担当者グループのDLCユーザーがクエリすると*********4320のような結果が得られます。財務担当者グループのDLCユーザーがクエリするとNULLが表示されます。

脱敏ポリシーの有効優先度

DLCユーザーが複数の作業グループに追加され、異なる作業グループに異なる脱敏方法が関連付けられている場合、特定のユーザーには複数の脱敏ポリシーが存在します。ユーザーに複数の脱敏方法の競合がある場合、システムは所属する作業グループの中で最も優先度の高い方法を有効にします。作業グループの順序が上位であるほど優先度が高くなります
例えば上記の脱敏ポリシータグの場合、張三が分析担当者グループと財務担当者グループの両方に属している場合、張三のクエリ結果は*********4320のように表示されます。

手順1:新しいマスキングポリシータグを作成

脱敏ポリシータグの作成

1. データレイクコンピューティング DLC コンソールに進み、メタデータ管理 > データ脱敏を選択し、データ脱敏ポリシータグの作成をクリックします。表示されるダイアログボックスで新しい脱敏ポリシータグを作成します。
2. 「データマスキング方法の設定」で、対応するワークグループをチェックして「選択済み」ダイアログに追加し、各ワークグループにデータマスキング方法を設定します。
3. 設定が完了したら、ワークグループモジュールを上下にドラッグして、ポリシーの優先順位を上から下に並べ替えることができます。ワークグループが上にあるほど優先度が高くなります。ドラッグして並べ替えない場合、デフォルトでは上から下に向かって優先度が適用されます。
4. 確定をクリックし、作成を完了します。
注意:
1. DLC データ脱敏機能は、現在、脱敏方法が設定されているユーザーグループ内のユーザーにのみ適用されます。脱敏方法が設定されていないユーザーグループや、いずれのユーザーグループにも追加されていないユーザーには適用されません。
2. すべてのDLCユーザーに適用するには、以下のことをお勧めします:
2.1 すべてのユーザーグループに脱敏方法を設定します。
2.2 すべてのDLCユーザーをユーザーグループに追加します。

ステップ2:データ列にタグをバインドする

1. データレイクコンピューティング DLC コンソールに進み、メタデータ管理を選択し、データカタログで脱敏が必要なフィールドが含まれるデータテーブルを選択します。
2. 脱敏が必要なフィールドを見つけるか、右上の検索ボックスでフィールド名を検索し、脱敏ポリシータグで

をクリックして、ダイアログでバインドする脱敏ポリシータグを選択します。
3. 適切な脱敏ポリシータグが見つからない場合は、ダイアログの脱敏ポリシータグを作成をクリックして迅速に作成できます。
注意:
1. DLCに組み込まれた各種匿名化方法にはフィールドタイプの制限があります。例えば、日付の匿名化はTIMESTAMPやDATEデータタイプの列にのみ関連付けることができます。詳細はサポートされている匿名化方法をご参照ください。
2. 1つのフィールドには1つのマスキングポリシータグのみを関連付けることができ、マスキングポリシータグは複数のデータ列で再利用できます。
有効開始日:
脱敏ポリシータグの設定を完了し、列にバインドした後、約1分程度の適用時間が必要です。その間、ユーザーのクエリではまだ平文の結果が返される可能性がありますが、しばらく待てば反映されます。

ステップ3:クエリを実行する

脱敏ポリシータグを匿名化が必要な列にバインドした後、その列のデータタイプがこの脱敏ポリシータグ内のすべての匿名化方法をサポートしている場合、設定は成功します。関連ユーザーが該当列のデータをクエリする際、ユーザーが属するユーザーグループの匿名化方法に応じて、対応する匿名化後の結果が表示されます。以下に、DLCデータ匿名化機能が実現できる効果を仮想ケースでさらに詳しく説明します。

ケース説明

A社が機密顧客情報テーブルcustomer_listを所有していると仮定します。詳細なフィールドは以下の通りです:
携帯電話番号
顧客レベル
利用額
メール
123456789
High
45,600
abc@example.com
234567891
Medium
15,000
bcd@example.com
345678912
Low
2,000
cde@example.com
456789123
Low
1,000
def@example.com
A社内部には、カスタマーサービス担当者グループ、財務担当者グループ、分析担当者グループの3つのユーザーグループがあります。現在、電話番号とメールアドレスという2つのPII(個人識別情報)に該当する機微なフィールドは、カスタマーサービス担当者グループのみが使用可能にし、消費額フィールドは財務担当者のみが使用可能、顧客等級タグは財務担当者のみが使用可能ですが、分析担当者は顧客等級のハッシュ値を確認できるため、顧客層別の統計分析が可能です。
上記の要件に基づいて、以下の3つのマスキングポリシータグを作成できます:
連絡先情報の匿名化
(フィールドにバインド:電話番号+メール)
消費金額の匿名化
(フィールドにバインド:消費額)
顧客レベルの匿名化
(フィールドにバインド:顧客レベル)
カスタマーサービス担当者グループ:匿名化しない
財務担当者グループ:NULL
アナリストグループ:NULL
カスタマーサービス担当者グループ:NULL
財務担当者グループ:匿名化しない
アナリストグループ:NULL
カスタマーサービス担当者グループ:NULL
財務担当者グループ:匿名化しない
アナリストグループ:ハッシュ
上記の表に対応する列にバインドされた匿名化ラベルを仮定すると:
1. 特定のワークグループにのみ存在するユーザーが、SELECT * FROM customer_list; を実行すると、以下の結果が得られます:
カスタマーサポートスタッフグループ:このワークグループには、連絡先情報を匿名化しないルールが付与されています。以下の結果が返されます:
携帯電話番号
顧客レベル
利用額
メール
123456789
NULL
NULL
abc@example.com
234567891
NULL
NULL
bcd@example.com
345678912
NULL
NULL
cde@example.com
456789123
NULL
NULL
def@example.com
財務担当者グループ:この作業グループには、利用額+顧客ランクの非マスキングルールが付与されています。以下の結果が返されます:
携帯電話番号
顧客レベル
利用額
メール
NULL
High
45,600
NULL
NULL
Medium
15,000
NULL
NULL
Low
2,000
NULL
NULL
Low
1,000
NULL
アナリストグループ:この作業グループには、顧客レベルのハッシュマスキングが許可されています。以下の結果が返されますが、実際の顧客レベルを把握することはできません。ただし、ハッシュ値を使用して統計分析を行うことができます:
携帯電話番号
顧客レベル
利用額
メール
NULL
4fa3c0d004d0750fc7bf8631993bd7c668fd33f8d089e0103ad8ef3fc1d9f4bb
45,600
NULL
NULL
35d8f8d59e2630de970e35271547d087278074addd61ce31940da69d82d19929
15,000
NULL
NULL
49542bc83b9d59935686144f352b6acb2264992720d0dbe780be50b56b87fef7
2,000
NULL
NULL
49542bc83b9d59935686144f352b6acb2264992720d0dbe780be50b56b87fef7
1,000
NULL
2. あるユーザーがカスタマーサポートスタッフグループ財務担当者グループの両方に存在する場合、上から下への優先順位でマスキングルールが適用され、そのユーザーに適用されるマスキングルールは以下の通りです:
連絡先情報の匿名化
(フィールドにバインド:電話番号+メール)
消費金額の匿名化
(フィールドにバインド:消費額)
顧客レベルの匿名化
(フィールドにバインド:顧客レベル)
カスタマーサービス担当者グループ:匿名化しない
カスタマーサービス担当者グループ:NULL
カスタマーサービス担当者グループ:NULL
SELECT * FROM customer_list; を実行すると、以下の結果が生成されます:
携帯電話番号
顧客レベル
利用金額
メール
123456789
NULL
NULL
abc@example.com
234567891
NULL
NULL
bcd@example.com
345678912
NULL
NULL
cde@example.com
456789123
NULL
NULL
def@example.com

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック