データマスキングは、主要なデータセキュリティ対策です。DataWorks は、静的データマスキング、動T的データマスキング、エンジンレベルマスキングなど、複数の方法でさまざまなシナリオの機密データを保護します。特定のマスキングルールとマスキングポリシーを設定することで、機密データに正確なマスキングを適用し、データ開発や分析などのプロセスにおけるセキュリティを確保できます。
概要
データマスキングは、使用時および転送時に機密データを保護 し、不正な公開を防ぎます。データの分類と格付けに基づいて識別された機密データにマスキングまたは変換アルゴリズムを適用し、さまざまなシナリオで安全なデータ表示を実現します。
-
[静的データマスキング]
-
目的: ソースからデスティネーションへ データが書き込まれる際に、機密データを永続的に置換およびマスキングします。デスティネーションにはマスキング済みのデータが保存され、元のデータは永続的に置き換えられます。
-
ユースケース: 主に DataWorks Data Integration のリアルタイム同期タスク で使用されます。例えば、本番データベースから実際のユーザーデータをマスキングし、開発環境やテスト環境に同期することで、開発者が安全に使用できるようにします。
-
特徴:
-
物理的な置換: 置換は永続的なため、高いセキュリティレベルを提供します。
-
[データウォーターマーク]: マスキング処理中に不可視の電子透かしを埋め込むことができます。データ漏洩が発生した場合、透かしを使用して漏洩元を追跡できます。
-
-
-
[動的データマスキング]
-
目的: ユーザーが データをクエリまたはアクセスする 際に、事前設定されたポリシーに基づいて機密データをリアルタイムでマスキングします。物理的に保存されている元のデータは変更されません。同じデータにアクセスしても、ユーザーによって異なる結果が表示されます。
-
ユースケース: 本番環境において、異なるユーザーロールに対するデータの可視性を制御するために使用されます。例えば、カスタマーサービス担当者がユーザーテーブルをクエリした場合、電話番号は「138****1234」と表示されますが、その上司は完全な電話番号を確認できます。
-
特徴:
-
オンデマンドマスキング: 元のデータを変更しないため柔軟性が高く、データセキュリティとビジネス上の利便性を両立させます。
-
多層保護:
-
アプリケーションレベルのマスキング: 特定の DataWorks モジュールを通じてデータにアクセスした場合にのみ、ポリシーが有効になります。
-
エンジンレベルのマスキング (MaxCompute / Hologres): ポリシーはデータベースエンジン層で適用されます。アクセスツールに関係なく有効になり、最も高い優先度 を持ちます。
-
-
-
コア設定: 静的および動的データマスキングの両方で、マスキングルールを作成します。ルールでは、「電話番号」などの特定のデータ型に対して、ハッシュ化、マスキング、置換などのデータマスキング方式を指定します。動的データマスキングの場合、誰がどのような条件下でこれらのルールをトリガーするかを定義するマスキングポリシーも設定します。
制限事項
-
対象ユーザー:この機能は、セキュリティセンターでデータセキュリティの新バージョンを有効化している DataWorks Professional Edition または Enterprise Edition のユーザーが利用できます。
-
サポート対象リージョン:中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深セン)、中国 (成都)、中国 (香港)、日本 (東京)、シンガポール、インドネシア (ジャカルタ)。
-
サポート対象コンピュートエンジン:MaxCompute および Hologres。
前提条件
-
使用する Alibaba Cloud アカウントまたは RAM ユーザーは、次のいずれかの条件を満たす必要があります。
Alibaba Cloud アカウントまたは RAM ユーザーに AliyunDataWorksFullAccess ポリシーがアタッチされている。
Alibaba Cloud アカウントまたは RAM ユーザーに DataWorks のテナントセキュリティ管理者ロールが割り当てられている。
Alibaba Cloud アカウントまたは RAM ユーザーに DataWorks のテナント管理者ロールが割り当てられている。
-
新規ユーザーガイドのタスクを完了している必要があります。
データマスキングページへのアクセス
-
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、[セキュリティセンターに移動] をクリックします。
-
左側のナビゲーションウィンドウで、 を選択します。
ページの構造
データマスキングページの上部には 5 つの第 1 レベルタブがあり、それぞれ異なるマスキングシナリオに対応しています。各第 1 レベルタブの配下には、シナリオに応じて異なる第 2 レベルサブタブが表示されます。設定を開始する前に、マスキングシナリオに適したタブを開いてください。
|
第 1 レベルタブ |
第 2 レベルサブタブ |
適用シナリオ |
|
[動的データマスキング] |
ルール / マスキングポリシー / ワークスペース管理 |
DataWorks アプリケーションレベルのマスキング (Data Studio、DataAnalysis、データマップ)。 |
|
[静的データマスキング] |
ルールリスト (内部サブタブなし) |
DataWorks Data Integration のリアルタイム同期タスク。 |
|
[MaxCompute エンジンマスキング] |
ルール / マスキングポリシー |
MaxCompute のエンジンレイヤーで強制されるマスキング。 |
|
[Hologres エンジンマスキング] |
ルール / マスキングポリシー |
Hologres のエンジンレイヤーで強制されるマスキング。 |
|
[Ranger エンジンマスキング] |
ルール / マスキングポリシー |
EMR Hive や StarRocks など、Ranger で管理されるデータソースのエンジンレベルマスキング。 |
[ワークスペース管理] サブタブは、[動的データマスキング] の第 1 レベルタブでのみ使用できます。その他のマスキングシナリオでは、ワークスペース単位での有効化/無効化は不要です。実際にサポートされるマスキングシナリオは、ページの表示内容に従います。
動的データマスキングポリシー
[マスキングルールの追加]
DataWorks の業界テンプレートには、一般的なデータ型向けの事前定義されたマスキングルールが用意されています。独自のマスキングルールを作成する場合は、まず業界テンプレートで、該当するデータ型の事前定義ルールを無効化する必要があります。
-
データマスキングページで、動的データマスキング タブをクリックし、設定ページに移動します。
-
[動的データマスキング] タブで、ルール タブをクリックします。
-
左上で ルールの追加 をクリックし、次のパラメーターを設定します。
[フィールド]
説明
[データ型]
ルールを適用するデータ型です。
[データマスキング方式]
ユーザーアクセス時に、このデータ型をマスキングする方式です。
説明生データ フィールドにサンプルデータを入力し、マスキングされたデータ の出力が正しいことを確認してください。
[マスキングポリシーへの適用]
マスキングルールの適用範囲です。対象ユーザー、 機能範囲、データ範囲 が含まれます。
-
OK をクリックして、マスキングルールを保存します。
マスキングポリシーの追加
-
動的データマスキング タブをクリックし、マスキングポリシー タブに移動します。
-
左上で ポリシーの作成 をクリックし、ポリシーを設定します。
-
[設定] [適用条件]
マスキングポリシーは、有効条件を満たした場合に有効になります。次の表にパラメーターを示します。
パラメーター
説明
[ポリシー名]
マスキングポリシーの名前です。
[対象ユーザー]
ポリシーをすべてのユーザーに適用するか、特定のユーザーにのみ適用するかを指定します。
[DataWorks の機能]
指定した DataWorks 機能 ([データマップ]、 [データ分析]、 [データ開発]) を介して機密データにアクセスした場合に、ポリシーが有効になります。
[プロジェクトの上書き]
指定したプロジェクトまたはデータベース内の機密データにユーザーがアクセスした場合に、マスキングルールが有効になります。
[データ型]
指定した機密データ型にユーザーがアクセスした場合に、マスキングルールが有効になります。ルールには、1 つ以上の機密データ型を含めることができます。
重要事前に、このデータ型のマスキングルールを設定して有効化する必要があります。
-
[設定] [例外条件 (ホワイトリスト)]
次の例外条件を満たす場合、ポリシーは適用されません。次の表にパラメーターを示します。
パラメーター
説明
[データ型]
このポリシーの対象外とするデータ型です。これらのデータ型のデータはマスキングされません。
説明このデータ型のマスキングルールを設定して有効化する必要があります。
重要ホワイトリストで選択できる データ型 は、メインのポリシーフォームの 有効条件 にある データ型 フィールドで既に選択されている データ型 に制限されます。新しいデータ型をホワイトリストに追加するには、まずメインのポリシーフォームの データ型 フィールドで選択し、その後ここに戻ってホワイトリストに追加します。
[ホワイトリストに追加されたユーザー]
ポリシーの適用対象外となる RAM ユーザーまたはユーザーグループです。これらのユーザーが指定したデータ型にアクセスした場合、マスキングは実行されません。
[有効期間]
例外 (ホワイトリスト) が有効な期間です。特定の [期間] を設定するか、 [無期限] に設定できます。
-
-
ポリシー優先度を調整するには、その他 をクリックし、操作 列で [上へ移動] または [下へ移動] を選択します。これにより、ポリシーのマッチング順序が変更されます。
説明マッチング順序 は、動的データマスキングシナリオでのみ有効です。MaxCompute / Hologres / Ranger エンジンマスキングおよび静的マスキングのポリシーは互いに独立しており、マッチング順序はありません。そのため、[上へ移動] / [下へ移動] 操作は、動的データマスキングのポリシーリストでのみ使用できます。
ポリシーの検証 (マッチングプレビュー)
[ポリシーの検証] ボタンは、[動的データマスキング] タブ配下の [マスキングポリシー] サブタブのツールバーにあります (動的データマスキングシナリオでのみ提供されます)。この機能は、実際にデータへアクセスすることなく、指定したプロジェクトで、指定した DataWorks 機能を介して、指定したユーザーが指定したデータ型にアクセスするケースを想定し、ポリシーのマッチングをシミュレーションします。本番適用前に使用し、マッチング順序が期待どおりであるかを確認してください。
-
[マスキングポリシー] サブタブのツールバーで、[ポリシーの検証] をクリックして [ポリシーの検証] ダイアログボックスを開きます。
-
ダイアログボックスで、次のパラメーターを設定します。
-
検証対象ユーザー:シミュレーションの対象となる RAM ユーザーです (必須)。
-
DataWorks 機能:ユーザーがアクセスに使用する DataWorks 機能のエントリポイントです (必須)。
-
データ型:シミュレーションでアクセス対象となるデータ型です (必須)。
-
プロジェクト:シミュレーションでアクセスが発生するプロジェクトです (任意)。
-
指定時刻:シミュレーションでアクセスが発生する時刻です (任意。ホワイトリストの有効期間を検証するために使用します)。
-
-
[検証] をクリックします。システムは、マッチしたポリシー名、マスキングアルゴリズム、およびデータの電子透かしスイッチのステータスを返します。マッチするポリシーがない場合は、赤いプロンプト No masking policy matched が表示されます。
ポリシーの検証では、マッチングプロセスのみをシミュレーションし、実際にデータを読み取りません。
マスキングルールとポリシーの管理
[ルール] サブタブまたは [マスキングポリシー] サブタブで、各エントリを編集、有効化、無効化、または削除できます。マスキングポリシーから参照されているルールを削除すると、システムでは [強制削除] のための2段階の確認フローが開始されます。
ルールの強制削除:マスキングポリシーから参照されているルールを削除すると、影響を受けるマスキングポリシーを一覧表示する [強制削除] の二次確認ダイアログボックスが表示されます。確認後、これらのマスキングポリシーにおける当該データ型の参照は関連付けが解除され、対応するホワイトリストのエントリも削除されます。続行する前に、影響範囲を確認してください。
動的データマスキングの有効化
マスキングルールが設定されているデータ型について、ワークスペースで有効化されている場合、DataWorks はマスキングポリシーを順に評価し、最初にマッチしたものを適用します。ワークスペースレベルのマスタースイッチ は動的データマスキングシナリオでのみ提供されます。その他のマスキングシナリオでは、ワークスペース単位での有効化 / 無効化は不要です。
ワークスペースで動的データマスキングを有効化する必要があります。有効化すると、ポリシーは Data Studio および DataAnalysis で有効になります。
-
動的データマスキング タブで、ワークスペース管理 タブをクリックします。
-
ワークスペース管理 タブの ステータス 列で、単一のワークスペースを 有効化 または 無効化 できます。 また、複数のワークスペースを選択し、左下隅にある バッチ有効化 または バッチ無効化 をクリックすることもできます。
-
ページ上部に ワークスペース名 の検索ボックスがあります。名前によるあいまい一致が可能です。入力すると、送信せずに現在のリストが即時に絞り込まれます。
-
単一または一括でワークスペースのステータスを切り替えると、システムは二次確認プロンプト The status change takes effect within 5 minutes を表示します。実際の遅延は、バックエンドでのポリシー配信状況によって異なります。
-
[DPI エンジンマスキング]
エンジンレベルのマスキングとは、データベースエンジンレイヤーで適用されるマスキングのことです。動的データマスキングよりも優先度が高く、DataWorks 外のデータベースクライアントを含むすべてのアクセス経路を対象とします。同じデータ型に対してエンジンレベルのマスキングと動的データマスキングの両方を設定している場合は、エンジンレベルのマスキング結果が優先されます。エンジンレベルのマスキングは現在、MaxCompute、Hologres、Ranger の 3 つのシナリオに対応しています。全体的な設定フロー (ルールの追加、ポリシーの追加、例外の設定) は、動的データマスキングポリシー と同様です。以降のセクションでは、各シナリオに固有のフィールドと制限事項のみを説明します。
共通の制限事項
-
エンジンレベルのマスキングでは DataWorks のアクセスエントリを区別しません。そのため、ポリシーフォームには [DataWorks 機能] フィールド (データマップ、データ分析、Data Studio) は 表示されません。
-
ユーザー権限の事前チェック:3 つのエンジンマスキングシナリオ (MaxCompute、Hologres、Ranger) では、ポリシーで ユーザースコープ を指定するか、ホワイトリストにユーザーを追加する場合、ポリシーを保存する前に、これらのユーザーが選択した 対象プロジェクト にアクセスできるかどうかをシステムが検証します。ユーザーとプロジェクトの組み合わせに十分な権限がない場合、システムは拒否リストを表示し、保存をブロックします。不足している権限を、データアクセス制御 または対応するエンジンのプロジェクト認可で対象ユーザーに付与したうえで、再度お試しください。この事前チェックは、動的データマスキングおよび静的データマスキングのシナリオでは実行されません。
MaxCompute エンジンマスキング
MaxCompute エンジンマスキングは、MaxCompute プロジェクト内の機密データを対象とします。エンジンは SQL の実行パスにおいて、マスキングされた結果を適用します。
|
フィールド |
説明 |
|
対象プロジェクト |
必須です。ポリシーが有効になる MaxCompute プロジェクトを選択します。 |
|
ユーザースコープ |
[すべてのユーザー] または [特定のユーザー] に対応しています。[特定のユーザー] を選択すると、保存前にユーザー権限の事前チェックが実行されます。 |
|
リストフィルター |
MaxCompute エンジンマスキングポリシーのリストフィルターは、動的データマスキングのものとは一部異なります。例えば、対象プロジェクト フィルターは独立したフィルターとして表示されません。 |
Hologres エンジンマスキング
Hologres エンジンマスキングは、Hologres インスタンス配下の指定データベース内の機密データを対象とします。Hologres エンジンはクエリ結果に対してマスキングを適用します。
|
フィールド |
説明 |
|
対象範囲 |
Hologres エンジン固有の設定項目です。Hologres インスタンス、データベース、データソース、リソースグループを設定し、接続性テスト に合格する必要があります。 重要
ポリシーを送信する前に、接続性検証に合格した Hologres データベースを少なくとも 1 つ設定する必要があります。設定していない場合、システムによって「Configure at least one Hologres database that passes connectivity verification」というメッセージが表示されます。 |
|
ユーザースコープ |
Hologres エンジンマスキングでは、個別ユーザーの選択には対応していません。ポリシーは対象範囲内のすべてのユーザーに適用されます。マスキングの対象外とするユーザーは、ホワイトリストで指定してください。 |
Ranger エンジンマスキング
Ranger エンジンマスキングは、EMR Hive や StarRocks など、Ranger で管理されるデータソースに適用されます。Ranger はエンジンレイヤーでマスキングを適用し、任意のクライアントからデータソースにアクセスした場合でも、マスキングされた結果が返されるようにします。
|
フィールド |
説明 |
|
データソースタイプ |
必須です。EMR Hive や StarRocks など、管理対象の Ranger データソースタイプを選択します。 |
|
クラスター/インスタンス |
必須です。データソースが属する特定のクラスターまたはインスタンスを選択します。後続のホワイトリストで選択できるユーザーの範囲は、選択したクラスターに関連付けられます。 |
|
接続性テスト |
必須です。選択したクラスターで [接続性を検証] をクリックし、DataWorks と Ranger クラスター間で接続できるか検証します。 重要
ポリシーを保存する前に、Ranger クラスターの接続性テストに合格する必要があります。テストに失敗した場合、[保存] ボタンは無効になります。 |
|
Ranger 監査 |
任意です。有効にすると、Ranger はマスキングヒットに関する監査ログを記録し、その後のコンプライアンスのトレーサビリティに役立ちます。 |
|
ユーザースコープ |
Ranger エンジンマスキングは [すべてのユーザー] のみに対応しています。[ユーザーを選択] オプションは利用できません。特定のユーザーを除外するには、ホワイトリストで設定します。 |
|
ホワイトリストのユーザー |
ホワイトリストで選択できるユーザーの範囲は、選択した Ranger クラスターに関連付けられており、そのクラスター配下にマッピングされているアカウントのみが表示されます。 |
[静的データマスキング]
静的データマスキングは、保存先で機密データを物理的に置き換え、元のデータを恒久的に上書きします。
静的マスキングルールは、DataWorks Data Integration のリアルタイム同期タスクでこの機能が設定されている場合にのみ適用されます。この機能はデフォルトで有効ですが、無効にすることもできます。
-
データマスキングページで、静的データマスキング タブをクリックし、静的マスキングルールのリストに移動します。
-
左上の ルールの追加 をクリックし、静的マスキングルールを設定します。次の表に主要なパラメーターを示します。
パラメーター
説明
[データ型]
「Phone Number」など、マスキングルールを適用するデータ型を選択します。既存の型を選択することも、新規作成することもできます。
[マスキングルール名]
ルールの内容が分かる、明確な名前を指定します。
[データマスキング方式]
マスキング、ハッシュ化、カスタム 共形変換 などのマスキング方法を選択します。
-
[マスキング]:マスキングまたは保持する文字範囲を正確に定義します。例えば
Left to rightの場合、文字 1~2 をmaskに、文字 3~4 をdo not maskに設定します。 -
[ハッシュ化]:ハッシュのセキュリティを高めるためにソルト値を設定します。
-
[カスタム] [共形変換]: 特徴値と置換用の文字セットを設定します。
[データウォーターマーク]
有効にすると、システムはマスキング処理中にデータに目に見えない透かしを埋め込みます。この透かしは、機密データの漏洩元の追跡に役立ちます。詳細については、「データトレーサビリティ」をご参照ください。
説明[データ透かし] スイッチは、非識別化モードが ハッシュ非識別化 または フォーマット保持暗号化 (FPConvert) の場合にのみ表示され、使用できます。その他のマスキング方式 (mask、replace、transform、ランダムシャッフル、data encryption など) では、透かしの埋め込みをサポートしていません。
[有効]
今すぐ有効化 または 有効にしない を選択します。有効なルールのみが、該当する同期タスクに適用されます。
効果検証
検証ツールを使用して、マスキングの効果を確認します。生データ ボックスにサンプルデータを入力し、今すぐ検証 をクリックして、[マスキングされたデータ]が正しいことを確認します。
-
-
OK をクリックして、ルールを保存します。