すべてのプロダクト
Search
ドキュメントセンター

DataWorks:例:EMRデータのマスキング

最終更新日:Sep 09, 2026

プロジェクトユーザーが E-MapReduce (EMR) プロジェクト内の機密データに対するクエリ権限を持っているものの、完全な機密データを閲覧させたくない場合、クエリ結果に動的データマスキングを適用できます。本トピックでは、EMR の動的データマスキング機能を有効化する方法と参考例について説明します。

制限事項

  • EMR クラスターは、Data Security Guard の機密データ識別機能およびデータマスキング機能のみをサポートします。その他の Data Security Guard 機能はサポートされていません。

  • 機密データの識別とマスキングは、特定の EMR クラスタータイプおよびテーブルタイプでのみサポートされます。詳細については、「データマップでデータプレビューをサポートするHiveテーブルタイプ」をご参照ください。

  • Data Security Guard のメタデータは T+1 ベースで更新されます。EMR データマスキングを使用するには、マスキング対象のデータを少なくとも 1 日前に作成する必要があります。

  • スケジューリング用専用リソースグループのみがサポートされます。詳細については、「スケジューリング専用リソースグループの課金」をご参照ください。

事前準備

前提条件

デフォルトでは、Data Security Guard は Alibaba Cloud アカウントにマッピングされたクラスターアカウントを使用してデータをサンプリングします。クラスターで LDAP または Kerberos 認証が有効になっており、Ranger または DLF-Auth をテーブル権限管理に使用している場合は、Alibaba Cloud アカウントのアカウントマッピングを設定し、マッピングされたクラスターアカウントが EMR クラスター内のテーブルにアクセスする権限を持っていることを確認してください。詳細については、「Data Studio (レガシー):EMRクラスターの登録」をご参照ください。

データの準備

EMRテーブルの作成

  1. DataStudioページに移動します。

    DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[データモデリングと開発] > [DataStudio] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。

  2. 「データ開発」ページで、ノードの作成 > EMR Hive を選択して Hive ノードを作成します。

  3. ノードコードを編集して onefall_test_dsg テーブルを作成します。

    CREATE TABLE IF NOT EXISTS onefall_test_dsg
    (
        username  STRING
        ,gender   STRING
        ,phone    STRING
        ,email    STRING
        ,card_no  STRING
        ,address  STRING
        ,zip_code STRING
    )
    ROW FORMAT DELIMITED
    FIELDS
    TERMINATED
    BY','
    ;
  4. テストデータを onefall_test_dsg テーブルにインポートします。

    1. テストデータファイル data.csv をダウンロードします。

    2. テストデータをインポートします。

      • data.csv を EMR クラスター内のノードにアップロードし、SQL を使用してテストデータをロードします。

        LOAD DATA LOCAL INPATH '/…/data.csv' OVERWRITE INTO TABLE onefall_test_dsg;
      • data.csv を Object Storage Service (OSS) にアップロードし、SQL を使用してテストデータをロードします。

        LOAD DATA INPATH 'oss://bucket-name.Endpoint/…/data.csv' OVERWRITE INTO TABLE onefall_test_dsg
        ;

Data Security Guard のメタデータの更新

Data Security Guard のメタデータは T+1 ベースで更新されます。onefall_test_dsg テーブルを作成して公開した後、データマスキングを設定する前に翌日まで待つ必要があります。

データマスキングの設定

ステップ1:データ識別ルールの作成

DataWorks は識別ルールを使用して EMR テーブル内のフィールドを識別します。マスキングルールを設定する前に、対応する識別ルールを設定する必要があります。詳細については、「データ検出ルールとタスクの設定」をご参照ください。

データ識別ルールページへの移動

  1. DataStudioページに移動します。

    DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[データモデリングと開発] > [DataStudio] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。

  2. 左上隅の图标アイコンをクリックし、[すべての製品] > [データガバナンス] > [データセキュリティガード] を選択し、[今すぐ試す] をクリックしてデータセキュリティガードページに移動します。

    説明
    • Alibaba Cloudアカウントに必要な権限が付与されている場合、Data Security Guardのホームページに直接アクセスできます。

    • Alibaba Cloudアカウントに必要な権限が付与されていない場合、Data Security Guardの権限付与ページにリダイレクトされます。 Data Security Guardの機能は、Alibaba Cloudアカウントに必要な権限が付与された場合にのみ使用できます。

  1. 左側のナビゲーションウィンドウで、ルールの設定 > [機密データ識別] を選択して、[データ識別ルール]ページに移動します。

識別ルールの設定

この例では、データ準備セクションで作成したテーブルを使用して識別ルールを作成します。目標は、onefall_test_dsg テーブル内の gender、phone、email の各フィールドを識別し、これら 3 つのフィールドにマスキングを適用することです。

  1. 機密フィールドのデータカテゴリを選択します。

    左側の[組み込み分類テンプレート]セクションで、機密フィールドタイプのデータカテゴリを選択します。詳細については、「データ検出ルールとタスクを設定する」をご参照ください。

  2. 機密フィールドタイプを作成し、識別ルールを設定します。

    右上隅で [機密フィールドタイプ] をクリックして、識別ルール設定ページを開きます。詳細については、「データ検出ルールとタスクを設定する」をご参照ください。

    説明

    理解しやすくするため、機密フィールドタイプ名を onefall_test_dsg テーブルのフィールド名 (gender、phone、email) に設定します。

  3. [データ識別ルール] の設定が完了したら、右上隅の バッチ公開 をクリックし、作成したルールを選択して一括で公開します。設定後、機密フィールドタイプリストに 性別 (レベル 4)、電話番号 (レベル 2)、および メールアドレス (レベル 2) が表示されます。識別ルール定義方法は カスタム、精度は 100%、ステータスは 公開済み となります。

ステップ2:データマスキングルールの作成

DataWorks はデータマスキングルールを使用して EMR テーブル内のフィールドをマスキングします。マスキングルールを設定する前に、「データマスキングルールの作成」をご参照ください。

データマスキングルールページへの移動

  1. DataWorks コンソールにログインし、データセキュリティガード ページに移動します。 詳細については、「Data Security Guard の概要」をご参照ください。

  2. 利用を開始 をクリックすると、Data Security Guard の ホームページ が表示されます。

  3. 左側のナビゲーションペインで、ルールの設定 > [データマスキング管理] を選択します。[データマスキング管理] ページでは、マスキングシナリオタイプを作成し、マスキングルールを設定できます。

マスキングシナリオの作成

  • DataWorks は、組み込みのレベル 1 マスキングシナリオとして、[データ開発/データマップ表示マスキング]、[データ分析表示マスキング]、動的マスキングのための [MaxCompute エンジンレベルマスキング] と [Hologres エンジンレベルマスキング]、および [データ統合静的マスキング] を提供します。 これらのレベル 1 シナリオは固定されており、作成、編集、削除はできません。 ビジネスニーズに基づいて、その下にカスタムレベル 2 シナリオを作成できます。 詳細については、「データマスキングシナリオを作成する」をご参照ください。

  • この例では、[データ開発/データマップ表示マスキング] と [データ分析表示マスキング] を使用します。

    • [データ開発/データマップ表示マスキング] 配下のレベル 2 シナリオ名: 開発表示。

    • [データ分析表示マスキング] 配下のレベル 2 シナリオ名: SQL 分析。

マスキングルールの作成

マスキングシナリオを作成したら、右上隅の [マスキングルール] をクリックして、gender、phone、email という名前の 3 つのマスキングルールを作成します。詳細については、「データマスキングルールの作成」をご参照ください。

  1. マスキングシナリオを選択します。

    [データマスキング管理] ページで、[マスキングシナリオ] を [データ開発/データマップ表示マスキング] > [デフォルトシナリオ] に設定し、右側の [+マスキングルール] をクリックします。

  2. データマスキングルールを作成します。

    • [マスキングルールの作成] ページで、[機密フィールドタイプ]、データマスキングルール名、[マスキングシナリオ]、マスキング方式、およびその他の設定を行います。 詳細については、「データマスキングルール設定のエントリポイント」をご参照ください。

    • 次の表に、この例の 3 つのマスキングルールの設定を示します。

      設定項目

      設定内容

      gender

      email

      phone

      機密フィールドタイプ

      gender

      email

      phone

      マスキングルール名

      gender

      email

      phone

      マスキングシナリオ

      Development display、SQL analysis

      Development display、SQL analysis

      Development display、SQL analysis

      マスキング方法

      文字置換

      置換位置

      すべて置換

      置換方法

      ランダム置換

      ハッシュ暗号化

      データウォーターマーク

      オフ

      暗号化アルゴリズム

      MD5

      ソルト値

      5

      墨塗り

      墨塗りモード

      推奨方法 > 先頭 3 文字と末尾 4 文字のみ表示

      説明

      複数のマスキング方法が利用可能です。この例では、文字の置き換え、[HASH 暗号化]、[マスキングアウト] を例として使用します。詳細については、「マスキング方法の設定」をご参照ください。

ステップ3:機密データ識別タスクの実行

本番環境では、Data Security Guard が毎日 EMR のメタデータを取得した後、DataWorks のメタデータ OpenAPI を呼び出してテーブルからサンプルデータを取得し、識別ルールに基づいて機密フィールドを識別します。この例はテストケースであるため、識別タスクを手動で実行して機密フィールドを識別できます。

  1. 左側のナビゲーションペインで、ルールの設定 > [機密データの識別] を選択して、[機密データの識別] ページに移動します。

  2. [機密データ識別] ページの左上隅で、「タスクの実行」をクリックして [機密データ識別タスクの有効化] パネルを開き、次の設定を構成します。

    • [タスクタイプ]:手動タスク。

    • [識別用アカウント]: 現在のアカウントを使用して、データをサンプリングおよびスキャンします。アカウント権限によって、データサンプリングの範囲が異なります。この例では、Alibaba Cloud アカウントを選択します。

    • [コンテンツ識別]:テーブルコンテンツ識別またはメタデータ識別を選択できます。この例では、コンテンツ識別を選択します。

    • [サンプル数]: サンプリング数を指定します。デフォルト値の 100 のままにします。

    • [スキャン範囲]: カスタム範囲 に設定し、ワークスペース/データベース範囲を使用して範囲を定義します。 ワークスペース/データベース範囲セクションでは、カスケードセレクターを使用してデータソースタイプ (ODPS、EMR、HOLO など)、ワークスペース、およびデータベースを選択します。 この例では、EMR タイプ配下のターゲットデータベースを選択します。

    • この例のテーブル名は onefall_test_dsg です。

  3. 範囲を定義した後、パネルの右下隅にある有効化をクリックして識別タスクを開始します。

    説明

    識別タスクの実行詳細を表示するには、[機密データ識別] ページに移動し、[タスク実行記録] をクリックします。

クエリによるマスキング結果の検証

EMRテーブルプレビューでのマスキング結果の確認

  1. DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[データガバナンス] > [データマップ] を選択します。 表示されるページで、[データマップに移動] をクリックします。

  2. 左側のimageアイコンをクリックして検索ページに切り替えます。ページ上部のドロップダウンをクリックして E-MapReduce データソースに切り替え、テーブル名 onefall_test_dsg を検索します。

  3. 検索結果でテーブル名をクリックします。テーブル詳細パネルが開いたら、[データプレビュー] をクリックしてテーブルデータをプレビューします。onefall_test_dsg テーブルのプレビューでは、設定に基づいて gender、phone、email の各フィールドがマスキングされていることを確認できます。gender フィールドはランダムな文字列に置換され (文字置換)、phone フィールドは先頭3文字と末尾4文字のみが表示されるようにマスキングされ (墨塗り)、email フィールドはハッシュ化された文字列で表示されます (ハッシュ暗号化)。マスキングルールが設定されていないその他のフィールド (username、card_no、address、zip_code) は、元の値のまま表示されます。

説明

テーブル内のフィールドは、設定された識別ルールとマスキングルールに基づいて、データプレビュー でマスキングされます。

データ開発ページでのマスキング結果の確認

DataWorks の開発ページでマスキングされたデータをクエリする操作は、データ開発のプロジェクトレベルのトグルによって制御されます。次の手順に従って有効化します。

  1. DataStudioページに移動します。

    DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[データモデリングと開発] > [DataStudio] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。

  2. 左側のimageアイコンをクリックして、開発ワークスペースの設定ページに移動します。

  3. 開発ワークスペース設定ページで、セキュリティ設定とその他 をクリックし、データセキュリティ > [ページクエリコンテンツマスキングの有効化] トグルをオンにします。

クエリ結果のマスキングのテスト

  1. DataStudioページに移動します。

    DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[データモデリングと開発] > [DataStudio] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。

  2. 左側の imageアイコンをクリックして、臨時クエリ ページに移動します。次に、image をクリックし、新規作成 > EMR Hive を選択してアドホッククエリノードを作成します。

  3. ノード内で onefall_test_dsg テーブルをクエリして、データ開発ページでのマスキング結果を確認します。

    SELECT * FROM onefall_test_dsg;

    クエリ結果には、設定したマスキングルールが適用されていることが示されます。gender 列はランダムな文字列に置換され、phone 列は先頭3文字と末尾4文字のみが表示されるようにマスキングされ、email 列はハッシュ化された文字列として表示されます。マスキングルールが設定されていないその他の列は、元の値のまま表示されます。