プロジェクトユーザーが MaxCompute プロジェクト内の機密データをクエリする権限を持っているが、ユーザーに完全な情報を表示したくない場合は、クエリ結果のデータを動的にマスキングできます。このトピックでは、MaxCompute の動的データマスキングを有効にする方法を説明し、その例を示します。
背景情報
MaxCompute には、組み込みの動的データマスキング機能はありません。DataWorks のデータセキュリティガードのデータマスキング機能に依存しています。MaxCompute プロジェクトで動的データマスキングを有効にするには、まず DataWorks でデータセキュリティガードサービスを有効化する必要があります。動的データマスキングを有効にした後、データセキュリティガードのデータ識別ルールに基づいて、プロジェクトのデータマスキングルールを設定できます。これらのルールは、どの機密データをマスキングするかを定義します。
MaxCompute の基盤となるデータマスキング機能の新しいバージョンは、次の機能を提供します:
データセキュリティガードでデータマスキングルールを設定すると、MaxCompute プロジェクトのエントリポイントから機密データをクエリする際にルールが有効になります。例として、Java Database Connectivity (JDBC)、ローカルクライアント (odpscmd) を使用した接続が挙げられます。
MaxCompute の基盤となるデータマスキングを有効にし、対応するルールを設定すると、機密データをクエリする際に [MaxCompute の基盤となるデータマスキング] ルールが適用されます。
この機能は、電話番号、ID カード番号、銀行カード番号、ナンバープレート番号、IP アドレスなどの機密情報の保護に役立ちます。動的データマスキングはクエリ結果のデータのみをマスキングし、基盤となる保存データには影響しません。
制限事項
この機能は、DataWorks Professional Edition 以降でのみ利用可能です。DataWorks Basic Edition では利用できません。DataWorks Basic Edition を使用している場合は、適切なエディションにスペックアップしてください。詳細については、「エディションのスペックアップ」をご参照ください。
MaxCompute の基盤となるデータマスキングは、次のリージョンでのみサポートされています:中国 (北京)、中国 (上海)、中国 (杭州)、中国 (成都)、中国 (深セン)、中国 (北京) 政務クラウド、中国 (上海) 金融クラウド、中国 (香港)、シンガポール、ドイツ (フランクフルト)、マレーシア (クアラルンプール)、米国 (シリコンバレー)、インドネシア (ジャカルタ)。
MaxCompute の基盤となるデータマスキングを有効にし、対応するルールを設定すると、機密データをクエリする際に [MaxCompute の基盤となるデータマスキング] ルールが適用されます。基盤となるデータマスキングを有効にしない場合、またはルールを設定しない場合は、設定済みの [上位レイヤーのマスキングシナリオ] ルールが適用されます。
MaxCompute の基盤となるデータマスキングは、MaxCompute テーブルのプライマリキーフィールドのマスキングをサポートしていません。
この機能は、24 時間以上前に作成されたデータを含む MaxCompute プロジェクトでのみ使用できます。
事前準備
マスキング対象の MaxCompute プロジェクトとデータを準備します。詳細については、「MaxCompute プロジェクトの作成」および「データのインポート」をご参照ください。
データセキュリティガードサービスに移動し、有効化します。詳細については、「データセキュリティガードへの移動」をご参照ください。
[利用規約] ページで、[上記の規約を読み、同意しました] を選択し、[今すぐ有効にする] をクリックします。
データマスキングの有効化
データマスキングシナリオを選択します。
データセキュリティガードに移動します。
左側のナビゲーションウィンドウで、[ルール設定] > [データマスキング管理] をクリックして、[データマスキング管理] ページに移動します。
[マスキングシナリオ] エリアで、 を選択します。
説明DataWorks インターフェイスでマスキング効果を確認したい場合は、[データ開発/データマップ表示マスキング] を有効にします。データマスキングシナリオの作成方法の詳細については、「データマスキングシナリオの作成」をご参照ください。
(任意) ホワイトリストの設定
マスキングルールで指定されたデータを特定のユーザーに対してマスキングする必要がない場合は、そのルールのホワイトリストを設定できます。
[データマスキング管理] ページで、[ホワイトリスト設定] をクリックします。
右上隅の[+ホワイトリスト]をクリックします。
表示された [ホワイトリストの作成] ダイアログボックスで、[機密フィールドタイプ]、[ユーザーグループスコープ]、および [有効期間] を選択します。
説明ホワイトリストの有効期間を設定した後、ユーザーがこの期間外に機密情報をクエリした場合、データは引き続きマスキングされます。
プロジェクトを設定します。
[MaxCompute エンジンレイヤーマスキング_New] をクリックして、基盤となるデータマスキングが有効になっているすべての MaxCompute プロジェクトを表示します。
対象プロジェクトの [ステータス] スイッチをクリックして、そのプロジェクトの基盤となるデータマスキングルールを有効にします。
説明MaxCompute の基盤となるデータマスキングを有効にし、対応するルールを設定すると、機密データをクエリする際に [MaxCompute の基盤となるデータマスキング] ルールが適用されます。基盤となるデータマスキングを有効にしない場合、またはルールを設定しない場合は、設定済みの [上位レイヤーのマスキングシナリオ] ルールが適用されます。
データのクエリとマスキング結果の確認
この例では、odpscmd インターフェイスで SQL 文を使用してデータをクエリし、マスキング結果を確認する方法を示します。
クエリ SQL 文を実行します。
説明MaxCompute の基盤となるデータマスキングは、セッションレベルでのみサポートされています。
中国 (杭州) リージョンを例にとると、MaxCompute の基盤となるデータマスキングを実装するための完全なスクリプトは次のとおりです。
select * from table;マスキング結果を表示します。
