DataWorks は、さまざまなデータマスキングシナリオをサポートしています。必要なシナリオに合わせてデータマスキングルールを作成できます。このトピックでは、DataWorks でこれらのルールを作成し、マスクされたクエリを実行する方法について説明します。
背景情報
DataWorks は、静的データマスキングと動的データマスキングの 2 種類を提供しています。
-
動的データマスキング: データ開発およびデータマップ表示マスキング、データ分析表示マスキング、MaxCompute エンジン層マスキング、Hologres エンジン層マスキング などのシナリオが含まれます。
-
静的データマスキング: データ統合の静的マスキングシナリオです。
デフォルトでは、データマスキングルールは作成後に無効化されます。関連するシナリオでデータを自動的にマスクするには、ルールを手動で有効にする必要があります。
-
データマスキングルールを有効または無効にする方法については、データマスキングルールの有効化または無効化をご参照ください。
-
各データマスキングシナリオの詳細については、データマスキングシナリオをご参照ください。
前提条件
-
(オプション、動的データマスキングのみ) 必要に応じて機密データ検出ルールを設定できます。これにより、データマスキングルールを作成する際に、マスキングが必要なフィールドを関連付けられるようになります。詳細については、「機密データ検出ルール」をご参照ください。
-
(オプション、動的データマスキングのみ) ホワイトリストを使用することで、特定のユーザーが指定された期間中にデータマスキングルールをバイパスできるようになります。これを行うには、ユーザーをユーザーグループに追加して、生データを表示できるようにします。詳細については、「ユーザーグループの設定」をご参照ください。
-
(オプション、MaxCompute エンジンレイヤーマスキングのみ) このシナリオでは、MaxCompute コマンドラインクライアント (odpscmd) や Logview など、DataWorks 以外のエントリポイントからデータをクエリする際に機密データをマスキングします。このシナリオを使用するには、MaxCompute ネットワークホワイトリストに IP アドレスを追加するようリクエストする必要があります。これにより、マスキング関数を呼び出せるようになります。詳細については、「例: E-MapReduce で基盤データマスキングを使用する」をご参照ください。
アクセスコントロール
-
データマスキングルールの設定 (作成、編集、削除):
-
[Tenant Administrator]およびテナントセキュリティ管理者は、すべてのデータマスキングシナリオでこれらの操作を実行できます。
-
[スペース管理者]およびワークスペースセキュリティ管理者は、権限のあるデータマスキングシナリオでのみ、これらの操作を実行できます。
-
-
データマスキングホワイトリストの設定 (作成、編集、削除):
-
テナント管理者およびテナントセキュリティ管理者は、すべてのデータマスキングシナリオでホワイトリストを設定できます。
-
[スペース管理者]およびワークスペースセキュリティ管理者は、権限のあるデータマスキングシナリオでのみホワイトリストを設定できます。
-
これらの操作を実行するには、必要なロール権限が必要です。権限付与に関する詳細については、「ワークスペースレベルのモジュール権限」および「グローバルモジュール権限」をご参照ください。
データマスキングルール設定のエントリポイント
DataStudioページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
左上隅の
アイコンをクリックし、 を選択し、[今すぐ試す] をクリックしてデータセキュリティガードページに移動します。 説明Alibaba Cloudアカウントに必要な権限が付与されている場合、Data Security Guardのホームページに直接アクセスできます。
Alibaba Cloudアカウントに必要な権限が付与されていない場合、Data Security Guardの権限付与ページにリダイレクトされます。 Data Security Guardの機能は、Alibaba Cloudアカウントに必要な権限が付与された場合にのみ使用できます。
-
左側のナビゲーションペインで を選択し、データマスキング管理ページに移動します。
-
左側のペインでデータマスキングシナリオを選択し、右側の Masking Rule をクリックして、シナリオのルールを作成します。
-
動的データマスキング:すべての動的マスキングシナリオで、ルール設定は類似しています。 このトピックでは、データ開発/データマップ表示マスキングシナリオを例に説明します。 設定の詳細については、「動的データマスキングルールの作成:データ開発/データマップ表示マスキングシナリオ」をご参照ください。
-
静的データマスキング:設定の詳細については、「静的データマスキングルールの作成:データ統合静的マスキングシナリオ」をご参照ください。
-
動的データマスキングルールの作成:データ開発/データマップ表示マスキングシナリオ
-
データマスキングシナリオを選択します。
[データマスキング管理] ページで、[データマスキングシナリオ] を に設定します。 次に、右側の Masking Rule をクリックします。
-
データマスキングルールを作成します。
-
Create Masking Rule ダイアログボックスで、ルールのパラメーターを設定します。
-
-
機密フィールドを選択し、ルール名を指定します。
パラメーター
説明
[機密フィールドタイプ]
このデータマスキングルールを適用するフィールドのタイプを選択します。
-
機密データ検出で作成した組み込みの機密フィールドタイプまたはカスタムの機密フィールドタイプを選択できます。 機密フィールドの追加方法の詳細については、「機密データ検出ルール」をご参照ください。
-
同じシナリオに対してデータマスキングルールをすでに作成している場合、DataWorks は、同じシナリオ内の同じ機密フィールドでマスキングルールが矛盾しないよう、すでに使用されている機密フィールドタイプを除外します。
Masking Rule Name
デフォルトでは、このパラメーターは [機密フィールドタイプ] と同じです。 カスタム名を指定することもできます。 ルール名は一意である必要があります。
-
-
データマスキングシナリオを設定します。
データマスキングルールを適用するシナリオを選択します。 デフォルトでは、手順 1 で選択したシナリオが使用されます。 必要に応じてシナリオを変更したり、シナリオを追加したりできます。
-
データマスキング方法を設定します。
DataWorks では、[フォーマット保持暗号化]、Mask、[ハッシュ暗号化]、String Replacement、[範囲変換]、[丸め]、[NULL に設定] などのデータ変換方法を利用できます。 要件に応じて方法を選択できます。
フォーマット保持暗号化 (旧: 仮名化アルゴリズム)
フォーマット保持暗号化は、値を同じ特性を持つマスク済みの値に置き換えます。 マスキング後もデータのフォーマットは同じままです。 次の表に、このデータマスキングルールのパラメーターを示します。
パラメーター
説明
(オプション) Data watermark
データウォーターマークは、データのトレーサビリティを確保します。 データ侵害が発生した場合、ウォーターマークは侵害の潜在的な原因を特定するのに役立ちます。 必要に応じて Data watermark を有効または無効にできます。
説明データウォーターマーク機能は、DataWorks Enterprise Edition でのみ利用できます。
Desensitization characteristic value
マスキング特性値が異なると、対応するマスキングポリシールールも異なります。 つまり、同じソースデータでも、マスキング特性値が異なれば、マスキング結果も異なります。 マスキング特性値が同じ場合、同じソースデータから同じマスク後のデータが生成されます。
たとえば、生データが a123 の場合:
-
マスキング特性値を 0 に設定すると、データは b124 としてマスクされます。
-
マスキング特性値を 1 に設定すると、データは c234 としてマスクされます。
デフォルト値は 5 です。 値の範囲は 0 から 9 です。
Replace Character Set
選択した [機密フィールドタイプ] の検出ルールが組み込みルールでない場合は、Replace Character Set を設定する必要があります。 置換文字セットを設定すると、セット内の文字は同じタイプの別の文字に置き換えられます。
たとえば、マスキング前の機密データが 0 から 3 までの数字と a から d までの文字で構成されている場合、マスク後のデータもその範囲内の数字と文字で構成されます。
説明文字セット内の文字は、同じ範囲の文字に置き換えられます。 置換文字セットは、大文字、小文字、および数字をサポートします。 複数の文字はカンマ (,) で区切ります。 漢字はサポートされていません。 マスクするデータが文字セットの範囲に準拠していない場合、データはマスクされません。
マスク
マスク方法は、特定の位置の文字をアスタリスク (*) に置き換えることで、情報の一部を隠します。 この方法を使用する場合は、マスキングモードを選択する必要があります。 DataWorks には、複数の組み込みマスキングモードが用意されており、カスタムモードもサポートしています。
パラメーター (いずれかを選択)
説明
Recommended Methods
ドロップダウンリストから推奨されるマスキング方法を選択します。 利用可能なマスキング方法は、マスクするフィールドによって異なります。
DataWorks には、[先頭と末尾の文字のみを表示]、[先頭 3 文字と末尾 2 文字のみを表示]、[先頭 3 文字と末尾 4 文字のみを表示] という 3 つの組み込みマスキング方法があります。 必要に応じて、ドロップダウンリストからオプションを選択します。
Custom
この方法では、マスキングをより柔軟に設定できます。 左から右に各セグメントをマスクするかどうかを設定し、マスクする (またはマスクしない) 文字数を指定する必要があります。 最大 10 個のセグメントを追加できます。 少なくとも 1 つのセグメントが必要で、また、セグメントのうち 1 つは、必ず Remaining Characters に設定する必要があります。
たとえば、最初の 3 文字をマスクし、残りの文字はマスクしません。
[ハッシュ暗号化]
データマスキングにハッシュ暗号化を使用する場合、次の表に示すパラメーターを設定する必要があります。
パラメーター
説明
Data watermark
データウォーターマークは、データのトレーサビリティを確保します。 データ侵害が発生した場合、ウォーターマークは侵害の潜在的な原因を特定するのに役立ちます。 必要に応じて Data watermark を有効または無効にできます。
説明データウォーターマーク機能は、DataWorks Enterprise Edition でのみ利用できます。
Encryption Algorithm
MD5、SHA256、SHA512、SM3 が選択できます。
Salt value
各暗号化アルゴリズムのソルト値を設定します。 デフォルト値は 5 です。 値の範囲は 0 から 9 です。
説明ソルトは、挿入される特定の文字列です。 暗号化では、ソルト化とは、パスワードの固定位置に特定の文字列を挿入するプロセスです。 これにより、ハッシュ化後の結果が元のパスワードをハッシュ化した結果とは異なります。
[文字列置換]
String Replacement 方法は、指定した位置の文字を選択した文字に置き換えます。 次の表に、このデータマスキングルールのパラメーターを示します。
パラメーター
説明
(必須) [置換位置]
ドロップダウンリストから、[すべて置換]、[最初の 3 文字を置換]、または [最後の 4 文字を置換] を選択できます。 Custom を選択して置換位置を定義することもできます。
Custom を Custom に設定した場合、カスタムセグメントを定義できます。 左から右にセグメントを定義し、置換する文字数と各セグメントの置換方法を設定する必要があります。 最大 10 個のセグメントを追加できます。 少なくとも 1 つのセグメントが必要で、また、セグメントのうち 1 つは、必ず Remaining Characters に設定する必要があります。
(必須) Replacement Method
オプションには、Random replacement、[サンプル値置換]、Fixed value substitution があります。
-
Random replacement:対応する位置の文字をランダムに置換します。 置換後も文字数は変わりません。
-
[サンプル値置換]:サンプルライブラリを選択する必要があります。 選択したサンプルライブラリの値で、対応する位置の文字を置換します。
-
Fixed value substitution:[置換値] テキストボックスに、置換文字 (任意の文字、長さ 1 ~ 100 文字、NULL 文字は含められません) を入力します。 入力した値で、対応する位置の文字を置換します。
[範囲変換]
[範囲変換] 方法は、数値データにのみ適用されます。 指定した数値範囲内のデータを固定値に変換します。 最小 1 つ、最大 10 個の範囲を追加できます。
パラメーター
説明
[元の数値範囲 [m,n)]
マスキング前のデータの数値範囲。 値は 0 以上で、小数点以下 2 桁まで指定できます。
[マスクされた数値]
マスキング後の値。 値は 0 以上で、小数点以下 2 桁まで指定できます。
[丸め]
[丸め] 方法は、数値データにのみ適用されます。
パラメーター
説明
[生データ型]
数値型のみに対応しています。
Keep the number of decimal places
0 ~ 5 桁の小数を保持できます。 残りの部分は切り捨てられます。 たとえば、元の値が 3.1415 で、小数点以下 2 桁を保持することを選択した場合、マスク後の値は 3.14 になります。
[NULL に設定]
[NULL に設定] 方法を使用すると、対応する機密フィールドは NULL に設定されます。
-
-
-
マスキング結果を検証します。
Sample Data テキストボックスに、マスクするサンプルデータを入力します。 データの長さは 0 ~ 100 文字です。 次に、Validation をクリックします。 マスク後のデータが Masking Effect フィールドに表示されます。
-
Save または Save をクリックしてデータマスキングルールを作成します。
-
データマスキングルールを作成した後:
-
動的データマスキングシナリオでは、ルールにホワイトリストを設定できます。 ホワイトリストに登録されたユーザーは、指定された期間内に生データを表示できます。 ユーザーをホワイトリストに追加する方法の詳細については、「データマスキングルールのホワイトリストを設定する (動的データマスキングのみ)」をご参照ください。
-
デフォルトでは、データマスキングルールは作成後に無効になります。 関連するシナリオでルールを適用するには、手動でルールを有効にする必要があります。 ルールのステータスを変更する方法の詳細については、「データマスキングルールを有効または無効にする」をご参照ください。
静的データマスキングルールの作成:データ統合静的マスキングシナリオ
-
[データマスキング管理] ページで、[データマスキングシナリオ] を に設定します。 次に、右側の [+ データマスキングルール] をクリックします。
-
データマスキングルールを作成します。
-
Create Masking Rule ダイアログボックスで、ルールのパラメーターを設定します。
ダイアログボックスの下部で、マスキング結果を検証できます。 [サンプルデータ] フィールドにサンプルデータを入力し、[マスキングの検証] をクリックします。 マスクされた結果が [マスキング効果] エリアに表示されます。
-
機密データタイプを選択し、ルール名を指定します。
パラメーター
説明
[Sensitive Data Type]
-
Select Existing:必要に応じて、既存の機密データタイプ (組み込みまたはカスタム) を選択します。
-
Add Type:機密データタイプの名前を入力します。 名前は一意である必要があり、既存のタイプと同じ名前は使用できません。
説明組み込みの機密データタイプには、携帯電話番号、ID カード番号、銀行カード番号、Email_Built-in、IP アドレス、ナンバープレート番号、郵便番号、固定電話番号、MAC アドレス、住所、氏名、会社名、民族、星座、性別、国籍が含まれます。
[Masking Rule Name]
デフォルトでは、このパラメーターは Sensitive Data Type と同じです。 カスタム名を指定することもできます。 データマスキングルール名は一意である必要があります。
-
-
データマスキング方法を設定します。
DataWorks は、Pseudonym、Hash、Mask の 3 つのデータマスキング方法をサポートしています。 ニーズに最も適した方法を選択できます。
エイリアス
仮名化は、値を同じ特性を持つマスクされた値に置き換えます。 マスキング後もデータのフォーマットは同じままです。 一部の既存フィールドのみが仮名化をサポートしています。
-
選択した Sensitive Data Type が、携帯電話番号、ID カード番号、銀行カード番号、Email_Built-in、IP アドレス、ナンバープレート番号、郵便番号、固定電話番号、MAC アドレス、住所、氏名、会社名などの組み込みタイプである場合は、Security domain を設定する必要があります。
Security domain:値は 0 から 9 までの整数です。 各セキュリティドメインでは、異なるマスキングポリシールールのセットが使用されます。 その結果、同じソースデータでも、使用するセキュリティドメインによってマスク結果が異なります。 たとえば、生データが a123 の場合、セキュリティドメインを 0 に設定するとデータは b124 としてマスクされ、1 に設定すると c234 としてマスクされます。 セキュリティドメインが同じ場合、同じソースデータは常に同じ結果にマスクされます。
-
選択した Sensitive Data Type が組み込みタイプでない場合は、Replace Character Set を設定する必要があります。
Replace Character Set:文字を同じタイプの他の文字に置き換えます。 置換文字セットには、大文字、小文字、数字を含めることができます。 複数の文字を区切るには、カンマ (,) を使用します。 漢字はサポートされていません。 指定された文字タイプと一致しないデータはマスクされません。 たとえば、元の機密データが 0~3 の数字と a~d の文字で構成されている場合、マスクされたデータもその指定された範囲内の数字と文字で構成されます。
ハッシュ化
この方法は、生データを固定長のデータに暗号化します。 ハッシュ化方法では、Security domain を選択する必要があります。
Security domain:値の範囲は 0 から 9 です。 各セキュリティドメインでは、異なるマスキングポリシールールのセットが使用されます。 したがって、同じソースデータに異なるセキュリティドメインを適用すると、異なるマスク結果になります。 逆に、同じソースデータに同じセキュリティドメインを適用すると、常に同じマスク結果になります。
たとえば、生データが a123 の場合:
-
セキュリティドメインを 0 に設定すると、データは b124 としてマスクされます。
-
セキュリティドメインを 1 に設定すると、データは c234 としてマスクされます。
マスク
Mask 方法は、特定の位置の文字をアスタリスク (*) に置き換えることで、情報の一部を隠します。 この方法を使用する場合、マスキングモードを選択する必要があります。 DataWorks は、複数の組み込みマスキングモードを提供し、カスタムモードもサポートしています。
-
Recommended Methods:一部のフィールドでは、ドロップダウンリストから推奨されるマスキング方法を選択できます。 利用可能なマスキング方法は、フィールドによって異なります。 DataWorks は、3 つの組み込みマスキング方法を提供しています。 これらの方法では、先頭と末尾の文字のみ、先頭 3 文字と末尾 2 文字、または先頭 3 文字と末尾 4 文字のみが表示されます。 必要に応じて 1 つを選択できます。 一部の既存フィールドでは、デフォルトの方法しか選択できません。
-
Custom:マスキングを柔軟に設定できます。 左から右に各セグメントを設定し、マスクするかどうかと、マスクまたは保持する文字数を指定できます。 最大 10 個のセグメントを追加できます。 セグメントは少なくとも 1 つ必要であり、そのうちのちょうど 1 つをRemaining Charactersに設定する必要があります。
-
例 1:最初の 3 文字をマスクし、残りの文字はマスクしません。
-
例 2:最後の 3 桁がマスクされ、残りの桁はマスクされません。
-
-
-
-
マスキング結果を検証します。
Sample Data テキストボックスにマスクするサンプルデータを入力します。 データは 0~100 文字の長さで入力できます。 次に、Verify Masking をクリックします。 マスクされたデータが Masking Effect フィールドに表示されます。
-
Confirm をクリックして、データマスキングルールを作成します。
-
データマスキングルールを作成した後:
-
デフォルトでは、データマスキングルールは作成後に無効になります。 関連するシナリオでルールを有効にするには、手動でルールを有効にする必要があります。 ルールのステータスを変更する方法の詳細については、「データマスキングルールを有効または無効にする」をご参照ください。
-
データ統合マスキングルールを作成した後、単一テーブルのリアルタイム同期タスクを作成するときにそのルールを使用できます。 詳細については、「データマスキングの設定」をご参照ください。
データマスキング ルールのホワイトリスト設定 (動的データマスキングのみ)
動的データマスキングのシナリオでは、データマスキング ルールにユーザーのホワイトリストを設定できます。ルールが有効になると、ホワイトリストに登録されたユーザーはルールの影響を受けず、指定された期間中に生データを表示できます。
ホワイトリストを作成する前に、ホワイトリストに追加するユーザーをユーザーグループに追加する必要があります。ユーザーグループの設定方法の詳細については、「ユーザーグループの設定」をご参照ください。
ホワイトリストを追加するには、次の手順を実行します。
-
[データマスキング管理] ページで、[ホワイトリスト設定] をクリックします。
-
右上隅の Allowlist をクリックします。
-
[ホワイトリストの作成] ダイアログボックスで、パラメーターを設定します。
説明-
[Hologres エンジンレイヤーマスキング] または [Data Integration 静的マスキング] シナリオでは、ホワイトリストを設定できません。
-
ホワイトリストの有効期間を設定した後、ホワイトリストの条件を満たす機密データは、指定された期間中はマスクされません。
次の表にパラメーターを示します。
パラメーター
説明
機密フィールドタイプ
現在のデータマスキング シナリオで有効な機密フィールドタイプのみを選択できます。
ユーザーグループ範囲
設定済みのユーザーグループを選択します。最大 50 のユーザーグループを選択できます。ユーザーグループがホワイトリストに追加されると、そのユーザーグループ内のアカウントはマスキング前の生データを取得できます。ユーザーグループの設定方法の詳細については、「ユーザーグループの設定」をご参照ください。
[Effective Time]
必要に応じて、ホワイトリストの有効期間を設定します。短期または永続を選択できます。短期のオプションには、30 日、90 日、180 日、365 日があります。また、当日または将来の日付を開始日とするカスタム期間も設定できます。
ユーザーがホワイトリストの有効期間外に機密情報をクエリした場合、データは引き続きマスクされます。
説明短期を選択した場合、現在から指定された日数が経過するまでの期間、データはマスクされません。
-
-
Save をクリックして、ホワイトリストの設定を完了します。
データマスキングルールの有効化または無効化
[データマスキングルール] タブで、データマスキングルールの Status スイッチをクリックし、ステータスを Effective または Failure に設定します。
ステータスを設定した後、ルールを編集、削除、または詳細を表示できます。
-
有効なデータマスキングルールは Delete または Edit できません。先にルールを Failure に設定する必要があります。その前に、関連するタスクでルールが使用されていないかを調べ、セキュリティ管理者に連絡して確認してください。
-
Failure の状態では、ルールを編集または削除できますが、Sensitive Data Type または Masking Rule Name は変更できません。
-
変更後、ステータスを Effective に設定できます。このルールを使用するタスクは、データマスキングを継続して実行できます。
データマスキングルールの適用例
-
データ統合マスキングルールを作成した後、単一テーブルのリアルタイム同期タスクを作成する際にこのルールを使用できます。詳細については、「データマスキングの設定」をご参照ください。