SQL Database の動的データ マスクSQL Database dynamic data masking

SQL Database 動的データ マスクは、特権のないユーザーに対してデリケートなデータをマスクし、データの公開を制限します。SQL Database dynamic data masking limits sensitive data exposure by masking it to non-privileged users.

動的データ マスクでは、公開するデリケートなデータの量を指定することで、デリケートなデータに対する未承認のアクセスを防ぎ、アプリケーション レイヤーへの影響は最小限に抑えられます。Dynamic data masking helps prevent unauthorized access to sensitive data by enabling customers to designate how much of the sensitive data to reveal with minimal impact on the application layer. これはポリシー ベースのセキュリティ機能であり、指定されたデータベース フィールドに対するクエリの結果セットに含まれるデリケートなデータが表示されないようにします。データベース内のデータは変更されません。It’s a policy-based security feature that hides the sensitive data in the result set of a query over designated database fields, while the data in the database is not changed.

たとえば、コール センターのサポート担当者は、クレジット カード番号の一部の数字から電話の相手を特定できますが、このようなデータ項目をサポート担当者にすべて公開してはなりません。For example, a service representative at a call center may identify callers by several digits of their credit card number, but those data items should not be fully exposed to the service representative. クエリの結果セットのクレジット カード番号の末尾 4 桁を除くすべての数字をマスクするマスク ルールを定義できます。A masking rule can be defined that masks all but the last four digits of any credit card number in the result set of any query. 別の例として、開発者は、適切なデータ マスクを定義し、個人を特定できる情報 (PII) データを保護し、法令遵守規定に違反することなくトラブルシューティングの目的で運用環境に対して照会を行うことができます。As another example, an appropriate data mask can be defined to protect personally identifiable information (PII) data, so that a developer can query production environments for troubleshooting purposes without violating compliance regulations.

SQL Database 動的データ マスクの基礎SQL Database dynamic data masking basics

SQL Database の構成ブレードまたは設定ブレードで動的データ マスク操作を選ぶことにより、Azure Portal で動的データ マスク ポリシーを設定します。You set up a dynamic data masking policy in the Azure portal by selecting the dynamic data masking operation in your SQL Database configuration blade or settings blade.

動的データ マスクのアクセス許可Dynamic data masking permissions

動的データ マスクを構成できるのは、Azure SQL Database 管理者、サーバー管理者、または SQL セキュリティ管理者の各ロールです。Dynamic data masking can be configured by the Azure SQL Database admin, server admin, or SQL Security Manager roles.

動的データ マスク ポリシーDynamic data masking policy

  • マスクから除外する SQL ユーザー - SQL クエリの結果でデータがマスクされない SQL ユーザーまたは AAD の ID のセット。SQL users excluded from masking - A set of SQL users or AAD identities that get unmasked data in the SQL query results. 管理者特権を持つユーザーは常にマスクから除外され、マスクのない元のデータを見ることができます。Users with administrator privileges are always excluded from masking, and see the original data without any mask.
  • マスク ルール - マスクされる指定のフィールドと使用されるマスク関数を定義するルールのセット。Masking rules - A set of rules that define the designated fields to be masked and the masking function that is used. データベースのスキーマ名、テーブル名、列名を使用し、指定のフィールドを定義できます。The designated fields can be defined using a database schema name, table name, and column name.
  • マスク関数 - さまざまなシナリオに対応してデータの公開を制御する方法のセット。Masking functions - A set of methods that control the exposure of data for different scenarios.
マスク関数Masking Function マスク ロジックMasking Logic
既定値Default 指定のフィールドのデータ型に応じたフル マスクFull masking according to the data types of the designated fields

• 文字列データ型 (nchar、ntext、nvarchar) のフィールドのサイズが 4 文字未満の場合は、XXXX またはそれ未満の数の X を使用します。• Use XXXX or fewer Xs if the size of the field is less than 4 characters for string data types (nchar, ntext, nvarchar).
• 数値データ型 (bigint、bit、decimal、int、money、numeric、smallint、smallmoney、tinyint、float、real) の場合は、値 0 を使用します。• Use a zero value for numeric data types (bigint, bit, decimal, int, money, numeric, smallint, smallmoney, tinyint, float, real).
• 日付/時刻データ型 (date、datetime2、datetime、datetimeoffset、smalldatetime、time) の場合は、01-01-1900 を使用します。• Use 01-01-1900 for date/time data types (date, datetime2, datetime, datetimeoffset, smalldatetime, time).
• SQL バリアントの場合は、現在の型の既定値が使用されます。• For SQL variant, the default value of the current type is used.
• XML の場合は、ドキュメント <masked/> が使用されます。• For XML the document <masked/> is used.
• 特殊なデータ型 (タイムスタンプ テーブル、hierarchyid、GUID、binary、image、varbinary 空間型) の場合は、空の値を使用します。• Use an empty value for special data types (timestamp table, hierarchyid, GUID, binary, image, varbinary spatial types).
クレジット カードCredit card クレジット カードの形式でプレフィックスとして定数文字列を追加し、指定のフィールドの末尾 4 桁を公開するマスク方法Masking method, which exposes the last four digits of the designated fields and adds a constant string as a prefix in the form of a credit card.

XXXX-XXXX-XXXX-1234XXXX-XXXX-XXXX-1234
電子メールEmail 電子メール アドレスの形式でプレフィックスとして定数文字列を使用して、最初の文字を公開し、ドメインを XXX.com に置き換えるマスク方法Masking method, which exposes the first letter and replaces the domain with XXX.com using a constant string prefix in the form of an email address.

aXX@XXXX.com
ランダムな数値Random number 選択した境界と実際のデータ型に応じて乱数を生成するマスク方法Masking method, which generates a random number according to the selected boundaries and actual data types. 指定された境界が等しい場合、マスク関数は定数になります。If the designated boundaries are equal, then the masking function is a constant number.

ナビゲーション ウィンドウNavigation pane
カスタム テキストCustom text 間にカスタム埋め込み文字列を追加し、最初と最後の文字を公開するマスク方法Masking method, which exposes the first and last characters and adds a custom padding string in the middle. 元の文字列が公開されたプレフィックスやサフィックスより短い場合、埋め込み文字列のみが使用されます。If the original string is shorter than the exposed prefix and suffix, only the padding string is used.
prefix[padding]suffixprefix[padding]suffix

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

DDM の推奨エンジンでは、データベースの特定のフィールドに「機密データの可能性あり」の注意が付けられます。この注意を参考にマスク候補を選択できます。The DDM recommendations engine, flags certain fields from your database as potentially sensitive fields, which may be good candidates for masking. ポータルの動的データ マスク ブレードには、データベースの推奨列が表示されます。In the Dynamic Data Masking blade in the portal, you will see the recommended columns for your database. 1 つまたは複数の列の [マスクの追加] をクリックし、 [保存] をクリックするだけでそれらのフィールドにマスクを適用できます。All you need to do is click Add Mask for one or more columns and then Save to apply a mask for these fields.

PowerShell コマンドレットを使用して、ご使用のデータベースの動的データ マスクを設定するSet up dynamic data masking for your database using PowerShell cmdlets

Azure SQL Database コマンドレット」をご覧ください。See Azure SQL Database Cmdlets.

REST API を使用してデータベース用の動的データ マスクを設定するSet up dynamic data masking for your database using REST API

Azure SQL Database の操作」を参照してください。See Operations for Azure SQL Database.