動的データ マスク

適用対象: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Azure SQL Database、Azure SQL Managed Instance、および Azure Synapse Analytics は、動的データ マスキングをサポートしています。 動的データ マスクは、特権のないユーザーに対してデリケートなデータをマスクし、データの公開を制限します。

動的データ マスクでは、公開するデリケートなデータの量を指定することで、デリケートなデータに対する未承認のアクセスを防ぎ、アプリケーション レイヤーへの影響は最小限に抑えられます。 これはポリシー ベースのセキュリティ機能です。これにより、データベース内のデータはそのままで、指定されたデータベース フィールドに対するクエリの結果セットで機微なデータを非表示にすることができます。

たとえば、コール センターのサービス担当者は、メール アドレスのいくつかの文字を確認することによって発信者を識別できます。ただし、完全なメール アドレスをサービス担当者に開示すべきではありません。 クエリの結果セット内のすべての電子メール アドレスをマスクするマスク ルールを定義できます。 別の例として、開発者は、適切なデータ マスクを定義し、個人データを保護し、法令遵守規定に違反することなくトラブルシューティングの目的で運用環境に対して照会を行うことができます。

動的データ マスキングの基礎

Azure portal で動的データ マスキング ポリシーを設定するには、SQL Database 構成ペインの [セキュリティ] の下にある [動的データ マスキング] ブレードを選択します。 SQL Managed Instance の場合、この機能はポータルを使用して設定できません。 詳細については、「 Dynamic Data Masking」を参照してください。

動的データ マスク ポリシー

  • マスクから除外する SQL ユーザー - SQL クエリの結果でデータがマスクされない SQL ユーザーまたは Azure AD の ID のセット。 管理者特権を持つユーザーは常にマスクから除外され、マスクのない元のデータを見ることができます。
  • マスク ルール - マスクされる指定のフィールドと使用されるマスク関数を定義するルールのセット。 データベースのスキーマ名、テーブル名、列名を使用し、指定のフィールドを定義できます。
  • マスク関数 - さまざまなシナリオに対応してデータの公開を制御する方法のセット。
マスク関数 マスク ロジック
[Default] 指定のフィールドのデータ型に応じたフル マスク

• 文字列データ型 (nchar、ntext、nvarchar) のフィールドのサイズが 4 文字未満の場合は、XXXX またはそれ未満の数の X を使用します。
• 数値データ型 (bigint、bit、decimal、int、money、numeric、smallint、smallmoney、tinyint、float、real) の場合は、値 0 を使用します。
• 日付/時刻データ型 (date、datetime2、datetime、datetimeoffset、smalldatetime、time) の場合は、01-01-1900 を使用します。
• SQL バリアントの場合は、現在の型の既定値が使用されます。
• XML の場合は、ドキュメント <masked/> が使用されます。
• 特殊なデータ型 (タイムスタンプ テーブル、hierarchyid、GUID、binary、image、varbinary 空間型) の場合は、空の値を使用します。
クレジット カード クレジット カードの形式でプレフィックスとして定数文字列を追加し、指定のフィールドの末尾 4 桁を公開するマスク方法

XXXX-XXXX-XXXX-1234
Email 電子メール アドレスの形式でプレフィックスとして定数文字列を使用して、最初の文字を公開し、ドメインを XXX.com に置き換えるマスク方法

aXX@XXXX.com
ランダムな数値 選択した境界と実際のデータ型に応じて 乱数を生成するマスク方法。 指定された境界が等しい場合、マスク関数は定数になります。

乱数を生成するためのマスク方法を示すスクリーンショット。
カスタム テキスト 間にカスタム埋め込み文字列を追加し、最初と最後の文字を公開するマスク方法。 元の文字列が公開されたプレフィックスやサフィックスより短い場合、埋め込み文字列のみが使用されます。
prefix[padding]suffix

ナビゲーション ウィンドウ

DDM の推奨エンジンでは、データベースの特定のフィールドに「機密データの可能性あり」の注意が付けられます。この注意を参考にマスク候補を選択できます。 ポータルの動的データ マスク ブレードには、データベースの推奨列が表示されます。 1 つまたは複数の列の [マスクの追加] をクリックし、 [保存] をクリックするだけでそれらのフィールドにマスクを適用できます。

PowerShell コマンドレットを使用して、ご使用のデータベースの動的データ マスクを設定する

データ マスキングのポリシー

データ マスキングのルール

REST API を使用してデータベース用の動的データ マスクを設定する

REST API を使用して、データ マスク ポリシーおよびルールをプログラムで管理できます。 公開された REST API では、次の操作がサポートされます。

データ マスキングのポリシー

  • 作成または更新:データベース データ マスク ポリシーを作成または更新します。
  • 取得:データベース データ マスク ポリシーを取得します。

データ マスキングのルール

アクセス許可

動的データ マスクを構成できるのは、Azure SQL Database 管理者、サーバー管理者、またはロールベースのアクセス制御 (RBAC) の SQL セキュリティ管理者の各ロールです。

関連項目