ユーザーがMaxComputeプロジェクト内の特定の機密データにクエリを実行する権限を持っているが、完全な機密データを表示させたくない場合は、MaxComputeの動的データマスキング機能を有効にすることができます。このように、MaxComputeはクエリ結果の機密データを動的にマスキングできます。このトピックでは、MaxComputeの動的データマスキング機能を有効にする方法について説明し、例を示します。
背景情報
MaxComputeは機密データを動的にマスキングできず、DataWorksのデータセキュリティガードサービスに依存して機密データをマスキングします。 MaxComputeプロジェクトのMaxCompute基礎データマスキング機能を有効にする前に、DataWorksのデータセキュリティガードサービスをアクティブ化する必要があります。
MaxComputeプロジェクトのMaxCompute基礎データマスキング機能を有効にすると、DataWorksで構成されている機密データ識別ルールに基づいて、プロジェクトのデータマスキングルールを構成できます。データマスキングルールは、マスキングするデータを定義します。 MaxComputeクライアントまたはMaxCompute LogViewから機密データにクエリを実行すると、構成されたマスキングルールに基づいて返されるデータがマスキングされます。 MaxCompute基礎データマスキング機能は、携帯電話番号、IDカード番号、銀行カード番号、ナンバープレート番号、IPアドレスなどの機密データを効果的に保護できます。 MaxCompute基礎データマスキング機能を有効にした後、クエリ結果の機密データのみがマスキングされ、基礎レイヤーに保存されているデータは影響を受けません。
DataWorksにプリセットされている機密データ識別ルールを使用することをお勧めします。カスタム機密データ識別ルールの構成方法については、機密データ識別ルールを構成し、機密データ識別タスクを実行するをご参照ください。
制限
DataWorks Professional Edition以上を使用している場合にのみ、MaxCompute基礎データマスキング機能を使用できます。 DataWorks Basic Editionを使用している場合は、ビジネス要件に基づいてDataWorksを適切なエディションにアップグレードしてください。 DataWorksエディションの違いについては、DataWorksエディションの違いをご参照ください。
MaxCompute基礎データマスキング機能は、中国(北京)、中国(上海)、中国(杭州)、中国(成都)、中国(深セン)、中国北部2 Ali Gov 1、中国東部2金融、中国(香港)、シンガポール、ドイツ(フランクフルト)、マレーシア(クアラルンプール)、米国(シリコンバレー)のリージョンにあるMaxComputeプロジェクトで使用できます。
MaxCompute基礎データマスキング機能は、セッションに対して有効です。セッションに対してデータクエリを実行する場合は、マスキング構成を有効にするために、マスキングサービス呼び出しに関連するSETコマンドを追加する必要があります。
MaxCompute基礎データマスキング機能を使用して、MaxComputeテーブルの主キーをマスキングすることはできません。
MaxCompute基礎データマスキング機能は、STRING型のフィールドのみをマスキングするために使用できます。
MaxCompute基礎データマスキング機能は、MaxComputeプロジェクトにデータがすでに存在し、データが24時間作成されている場合にのみ使用できます。
準備
マスキング用のMaxComputeプロジェクトとデータを準備します。 詳細については、MaxComputeプロジェクトを作成するおよびテーブルにデータをインポートするをご参照ください。
データセキュリティガードページに移動し、データセキュリティガードをアクティブ化します。 詳細については、概要の「データセキュリティガードページに移動する」セクションをご参照ください。
[利用規約] ページで、規約を読み、[上記のすべての条項を読み、同意します] を選択し、[アクティブ化] をクリックします。
ホワイトリストを申請します。
Alibaba Cloudアカウントを使用して、チケットを送信して、MaxComputeプロジェクトから外部ネットワークへのアクセスを申請します。 申請が承認された後にのみ、MaxCompute基礎データマスキング機能を呼び出すことができます。
宛先 IP アドレスまたはエンドポイントにアクセス制御が課されていない場合、申請が承認された後、MaxComputeプロジェクトを使用して宛先 IP アドレスまたはエンドポイントにアクセスできます。 申請処理期間は3営業日以内です。
次のサンプルコードは、申請内容の形式を示しています。
Project name (name of the project for which you want to enable data masking): data_shield_hz // プロジェクト名(データマスキングを有効にするプロジェクトの名前): data_shield_hz Log address: // ログアドレス: Description: Enable an endpoint whitelist for the project to ensure that a specific user-defined function (UDF) can access the endpoints in the whitelist. // 説明:特定のユーザー定義関数(UDF)がホワイトリスト内のエンドポイントにアクセスできるように、プロジェクトのエンドポイントホワイトリストを有効にします。 Region: China (Hangzhou) // リージョン:中国(杭州) Destination endpoints: dsg-cn-hangzhou.data.aliyun.com and dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com. // 宛先エンドポイント:dsg-cn-hangzhou.data.aliyun.comおよびdsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com。 Port numbers: 80 and 443 // ポート番号:80および443
エンドポイントはリージョンによって異なります。次の内容は、異なるリージョンに対応するエンドポイントをリストしています。
China (Shanghai): dsg-cn-shanghai.data.aliyun.com, dsg-oss-dic-ori.oss-cn-shanghai.aliyuncs.com // 中国(上海):dsg-cn-shanghai.data.aliyun.com、dsg-oss-dic-ori.oss-cn-shanghai.aliyuncs.com China (Hangzhou): dsg-cn-hangzhou.data.aliyun.com, dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com // 中国(杭州):dsg-cn-hangzhou.data.aliyun.com、dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com China (Beijing): dsg-cn-beijing.data.aliyun.com, dsg-oss-dic-ori.oss-cn-beijing.aliyuncs.com // 中国(北京):dsg-cn-beijing.data.aliyun.com、dsg-oss-dic-ori.oss-cn-beijing.aliyuncs.com China (Chengdu): dsg-cn-chengdu.data.aliyun.com, dsg-oss-dic-ori-cd.oss-cn-chengdu.aliyuncs.com // 中国(成都):dsg-cn-chengdu.data.aliyun.com、dsg-oss-dic-ori-cd.oss-cn-chengdu.aliyuncs.com China (Shenzhen): dsg-cn-shenzhen.data.aliyun.com, dsg-oss-dic-ori-sz.oss-cn-shenzhen.aliyuncs.com // 中国(深セン):dsg-cn-shenzhen.data.aliyun.com、dsg-oss-dic-ori-sz.oss-cn-shenzhen.aliyuncs.com China North 2 Ali Gov: dsg-cn-north-2-gov-1.data.aliyun.com, dsg-oss-dic-ori-north-2-gov-1.oss-cn-north-2-gov-1-internal.aliyuncs.com // 中国北部 2 Ali Gov: dsg-cn-north-2-gov-1.data.aliyun.com, dsg-oss-dic-ori-north-2-gov-1.oss-cn-north-2-gov-1-internal.aliyuncs.com China East 2 Finance: dsg-cn-shanghai-finance-1.data.aliyun.com, dsg-oss-dic-ori-sh-fin-1.oss-cn-shanghai.aliyuncs.com // 中国東部 2 金融: dsg-cn-shanghai-finance-1.data.aliyun.com, dsg-oss-dic-ori-sh-fin-1.oss-cn-shanghai.aliyuncs.com China (Hong Kong): dsg-cn-hongkong.data.aliyun.com, dsg-oss-hongkong.oss-cn-hongkong.aliyuncs.com // 中国(香港): dsg-cn-hongkong.data.aliyun.com, dsg-oss-hongkong.oss-cn-hongkong.aliyuncs.com Singapore: dsg-ap-southeast-1.data.aliyun.com, dsg-oss-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com // シンガポール: dsg-ap-southeast-1.data.aliyun.com, dsg-oss-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com Silicon Valley: dsg-us-west-1.data.aliyun.com, dsg-oss-us-west-1.oss-us-west-1.aliyuncs.com // シリコンバレー: dsg-us-west-1.data.aliyun.com, dsg-oss-us-west-1.oss-us-west-1.aliyuncs.com Malaysia (Kuala Lumpur): dsg-ap-southeast-3.data.aliyun.com, dsg-oss-ap-malaysia.oss-ap-southeast-3.aliyuncs.com // マレーシア(クアラルンプール): dsg-ap-southeast-3.data.aliyun.com, dsg-oss-ap-malaysia.oss-ap-southeast-3.aliyuncs.com Germany (Frankfurt): dsg-eu-central-1.data.aliyun.com, dsg-oss-eu-central-1.oss-eu-central-1-internal.aliyuncs.com // ドイツ(フランクフルト): dsg-eu-central-1.data.aliyun.com, dsg-oss-eu-central-1.oss-eu-central-1-internal.aliyuncs.com
MaxCompute基礎データマスキング機能を有効にする
データマスキングシナリオを選択します。
[DataWorksコンソール] にログオンし、[データセキュリティガード] ページに移動します。詳細については、「概要」の「データセキュリティガード ページに移動する」セクションをご参照ください。
左側のナビゲーションペインで、 を選択します。
データマスキング管理ページで、Maxcomputeエンジンのレイヤーマスキング[基礎となる脱感作シナリオ] サブセクションの をクリックします。
説明DataWorksコンソールでデータマスキング効果を表示するには、DataWorksコンソールで [datastudioおよびデータマップに表示されるデータのマスキング] を有効にする必要があります。
データマスキングシナリオの作成方法の詳細については、データマスキングシナリオを作成するをご参照ください。
オプション:マスキングルールで指定されたデータを特定のユーザーに対してマスキングする必要がない場合は、マスキングルールホワイトリストを構成します。
[データマスキング管理] ページで、[ホワイトリストの構成] タブをクリックします。
[ホワイトリストの構成] タブの右上隅にある [ホワイトリスト] をクリックします。
[ホワイトリストの作成] パネルで、[機密フィールドタイプ]、[ユーザーグループ範囲]、[有効時間] パラメーターを構成します。
説明ホワイトリスト内のユーザーアカウントが、ホワイトリストで指定された時間範囲外でデータにクエリを実行した場合、クエリ結果の機密データは引き続きマスキングされます。
SQLステートメントの実行結果を表示する
DataWorksコンソールのDataStudioページを使用する
データマスキングスイッチをオフにします。 詳細については、セキュリティ設定とその他のタブで設定を構成するの「セキュリティ設定とその他のタブに移動する」セクションをご参照ください。
データクエリ用のSQLステートメントを実行します。
SQLステートメントを実行する前に、SET コマンドを実行して、現在のセッションでMaxCompute基礎データマスキング機能を呼び出します。次のコードは、異なるリージョンでMaxCompute基礎データマスキング機能を呼び出すために使用されるSETコマンドを示しています。
説明MaxCompute基礎データマスキング機能は、セッションレベルでのみ使用できます。
China (Shanghai) // 中国(上海) set odps.output.field.formatter={"name":"aegis:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; set odps.internet.access.list=dsg-cn-shanghai.data.aliyun.com:80,dsg-cn-shanghai.data.aliyun.com:443,dsg-oss-dic-ori.oss-cn-shanghai.aliyuncs.com:80,dsg-cn-shanghai.data.aliyun.com:443; China (Hangzhou) // 中国 (杭州) set odps.output.field.formatter={"name":"aegis_hz:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_hz:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; set odps.internet.access.list=dsg-cn-hangzhou.data.aliyun.com:80,dsg-cn-hangzhou.data.aliyun.com:443,dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com:80,dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com:443; China (Beijing) // 中国 (北京) set odps.output.field.formatter={"name":"aegis_bj:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_bj:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; set odps.internet.access.list=dsg-cn-beijing.data.aliyun.com:80,dsg-cn-beijing.data.aliyun.com:443,dsg-oss-dic-ori.oss-cn-beijing.aliyuncs.com:80,dsg-oss-dic-ori.oss-cn-beijing.aliyuncs.com:443; China (Chengdu) // 中国 (成都) set odps.output.field.formatter={"name":"aegis_cd:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_cd:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; set odps.internet.access.list=dsg-cn-chengdu.data.aliyun.com:80,dsg-cn-chengdu.data.aliyun.com:443,dsg-oss-dic-ori-cd.oss-cn-chengdu.aliyuncs.com:80,dsg-oss-dic-ori-cd.oss-cn-chengdu.aliyuncs.com:443; China (Hong Kong) // 中国 (香港) set odps.output.field.formatter={"name":"aegis_hk:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_hk:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; set odps.internet.access.list=dsg-cn-hongkong.data.aliyun.com:80,dsg-cn-hongkong.data.aliyun.com:443,dsg-oss-hongkong.oss-cn-hongkong.aliyuncs.com:80,dsg-oss-hongkong.oss-cn-hongkong.aliyuncs.com:443; US (Silicon Valley) // 米国 (シリコンバレー) set odps.output.field.formatter={"name":"data_sheild_silicon_dev:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "data_sheild_silicon_dev:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; set odps.internet.access.list=dsg-us-west-1.data.aliyun.com:80,dsg-us-west-1.data.aliyun.com:443,dsg-oss-us-west-1.oss-us-west-1.aliyuncs.com:80,dsg-oss-us-west-1.oss-us-west-1.aliyuncs.com:443;
次の表は、上記のコマンドのパラメーターについて説明しています。
パラメーター
説明
odps.output.field.formatter
実行するMaxComputeマスキング関数。この関数を使用するには、マスキングするフィールドがSTRING型であることを確認してください。
aegis_hz:<SchemaName>:masking_v2:関数名。
SchemaNameパラメーターは、MaxComputeプロジェクトが3層スキーママモデルを使用している場合にスキーマ名を指定します。 スキーマの詳細については、スキーマ関連の操作をご参照ください。
["alias","index"]:パラメーター。これらはデフォルトのパラメーターです。
odps.isolation.session.enable
セッションレベルで呼び出しを有効にするかどうかを指定します。セッションが終了すると、データマスキング機能は無効になります。
odps.internet.access.list
指定された関数の実行時にアクセスされるエンドポイントのリスト。エンドポイントは、データセキュリティガードに事前構成されているマスキング情報をクエリするために使用されます。
次のコードは、MaxCompute基礎データマスキング機能がプロジェクトで有効になった後、中国(杭州)リージョンでSchemaNameがdefaultであるMaxComputeプロジェクトからデータをクエリするためのサンプルスクリプトを示しています。
set odps.output.field.formatter={"name":"aegis_hz:default:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_hz:default:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; set odps.internet.access.list=dsg-cn-hangzhou.data.aliyun.com:80,dsg-cn-hangzhou.data.aliyun.com:443,dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com:80,dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com:443; select * from table;
DataStudioページでマスキング結果を表示します。
MaxComputeクライアント(odpscmd)を使用する
エンドポイントを構成します。
SQLステートメントを実行する前に、MaxComputeクライアントのConfigファイルでアクセスするエンドポイントを構成します。
次のコードは、異なるリージョンに対応するエンドポイントを示しています。
China (Shanghai) // 中国 (上海) set odps.internet.access.list=dsg-cn-shanghai.data.aliyun.com:80,dsg-cn-shanghai.data.aliyun.com:443,dsg-oss-dic-ori.oss-cn-shanghai.aliyuncs.com:80,dsg-cn-shanghai.data.aliyun.com:443; China (Hangzhou) // 中国 (杭州) set odps.internet.access.list=dsg-cn-hangzhou.data.aliyun.com:80,dsg-cn-hangzhou.data.aliyun.com:443,dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com:80,dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com:443; China (Beijing) // 中国 (北京) set odps.internet.access.list=dsg-cn-beijing.data.aliyun.com:80,dsg-cn-beijing.data.aliyun.com:443,dsg-oss-dic-ori.oss-cn-beijing.aliyuncs.com:80,dsg-oss-dic-ori.oss-cn-beijing.aliyuncs.com:443; China (Chengdu) // 中国 (成都) set odps.internet.access.list=dsg-cn-chengdu.data.aliyun.com:80,dsg-cn-chengdu.data.aliyun.com:443,dsg-oss-dic-ori-cd.oss-cn-chengdu.aliyuncs.com:80,dsg-oss-dic-ori-cd.oss-cn-chengdu.aliyuncs.com:443; China (Hong Kong) // 中国 (香港) set odps.internet.access.list=dsg-cn-hongkong.data.aliyun.com:80,dsg-cn-hongkong.data.aliyun.com:443,dsg-oss-hongkong.oss-cn-hongkong.aliyuncs.com:80,dsg-oss-hongkong.oss-cn-hongkong.aliyuncs.com:443; US (Silicon Valley) // 米国 (シリコンバレー) set odps.internet.access.list=dsg-us-west-1.data.aliyun.com:80,dsg-us-west-1.data.aliyun.com:443,dsg-oss-us-west-1.oss-us-west-1.aliyuncs.com:80,dsg-oss-us-west-1.oss-us-west-1.aliyuncs.com:443;
次の表は、上記のコマンドのパラメーターについて説明しています。
パラメーター
説明
odps.internet.access.list
指定された関数の実行時にアクセスされるエンドポイントのリスト。 エンドポイントは、データセキュリティガードに事前構成されているマスキング情報をクエリするために使用されます。
次のコードは、中国(杭州)リージョンでSchemaNameがdefaultであるMaxComputeプロジェクトのConfigファイルのサンプルコードです。
project_name=data_shield_hz # app access id and key are optional for individual users // アプリアクセス ID とキーは個人ユーザーの場合はオプションです # app_access_id=<app_accessid> # app_access_key=<app_accesskey> access_id=AccessKey ID access_key=AccessKey secret # this endpoint is for office environment // このエンドポイントはオフィス環境用です end_point=http://service.odps.aliyun.com/api # this url is for odpscmd update // この URL は odpscmd の更新用です update_url=http://odps.alibaba-inc.com/official_downloads # download sql results by instance tunnel // インスタンストンネルで SQL 結果をダウンロードする use_instance_tunnel=true # the max records when download sql results by instance tunnel // インスタンストンネルで SQL 結果をダウンロードする際の最大レコード数 instance_tunnel_max_record=10000 set odps.internet.access.list=dsg-cn-hangzhou.data.aliyun.com:80,dsg-cn-hangzhou.data.aliyun.com:443,dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com:80,dsg-oss-dic-ori-hz.oss-cn-hangzhou.aliyuncs.com:443;
データクエリ用のSQLステートメントを実行します。
SQLステートメントを実行する前に、SET コマンドを実行して、現在のセッションでMaxCompute基礎データマスキング機能を呼び出します。 次のコードは、異なるリージョンでMaxCompute基礎データマスキング機能を呼び出すために使用されるSETコマンドを示しています。
説明MaxCompute基礎データマスキング機能は、セッションレベルでのみ使用できます。
China (Shanghai) // 中国 (上海) set odps.output.field.formatter={"name":"aegis:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; China (Hangzhou) // 中国 (杭州) set odps.output.field.formatter={"name":"aegis_hz:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_hz:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; China (Beijing) // 中国 (北京) set odps.output.field.formatter={"name":"aegis_bj:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_bj:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; China (Chengdu) // 中国 (成都) set odps.output.field.formatter={"name":"aegis_cd:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_cd:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; China (Hong Kong) // 中国 (香港) set odps.output.field.formatter={"name":"aegis_hk:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_hk:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; US (Silicon Valley) // 米国 (シリコンバレー) set odps.output.field.formatter={"name":"data_sheild_silicon_dev:<SchemaName>:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "data_sheild_silicon_dev:<スキーマ名>:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true;
次の表は、上記のコマンドのパラメーターについて説明しています。
パラメーター
説明
odps.output.field.formatter
実行するMaxComputeマスキング関数。 この関数を使用するには、マスキングするフィールドがSTRING型であることを確認してください。
aegis_hz:<SchemaName>masking_v2:関数名。
SchemaNameパラメーターは、MaxComputeプロジェクトが3層スキーママモデルを使用している場合にスキーマ名を指定します。スキーマの詳細については、スキーマ関連の操作をご参照ください。
["alias","index"]:パラメーター。 これらはデフォルトのパラメーターです。
odps.isolation.session.enable
セッションレベルで呼び出しを有効にするかどうかを指定します。 セッションが終了すると、データマスキング機能は無効になります。
次のコードは、MaxCompute基礎データマスキング機能がプロジェクトで有効になった後、中国(杭州)リージョンでMaxComputeプロジェクトからデータをクエリするためのサンプルスクリプトを示しています。
set odps.output.field.formatter={"name":"aegis_hz:default:masking_v2","param":["alias","index"]}; // set odps.output.field.formatter = {"name": "aegis_hz:default:masking_v2", "param": ["alias", "index"]}; set odps.isolation.session.enable=true; select * from table;
データマスキング結果を表示します。
MaxCompute基礎データマスキング機能を無効にする
次のSQLステートメントを実行して、MaxCompute基礎データマスキング機能を無効にします。
set odps.output.field.formatter=;
select * from table;
DataWorksでデータマスキングシナリオを構成する場合は、宛先MaxComputeプロジェクトを選択しないでください。 詳細については、データマスキングシナリオを作成するの「データマスキングシナリオを構成する」をご参照ください。