Microsoft SQL Server
動的データマスキング
サーチ…
動的データマスキングを使用して電子メールアドレスをマスクする
電子メール列があれば、email()マスクでマスクすることができます:
ALTER TABLE Company
ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()')
ユーザーがCompanyテーブルから電子メールを選択しようとすると、次のような値が表示されます。
列に部分マスクを追加する
列の上に部分マスクを追加して、文字列の末尾と文字列の最後から少数の文字を表示し、中央の文字の代わりにマスクを表示することができます。
ALTER TABLE Company
ALTER COLUMN Phone ADD MASKED WITH (FUNCTION = 'partial(5,"XXXXXXX",2)')
部分関数のパラメータでは、最初から表示される値の数、最後から表示される値の数、途中に表示されるパターンを指定できます。
ユーザーがCompanyテーブルから電子メールを選択しようとすると、次のような値が表示されます。
(381)XXXXXXX39
(360)XXXXXXX01
(415)XXXXXXX05
ランダム()マスクを使用して範囲からランダムな値を表示する
ランダムマスクは、実際の値の代わりに、指定された範囲の偶然番号を表示します:
ALTER TABLE Product
ALTER COLUMN Price ADD MASKED WITH (FUNCTION = 'random(100,200)')
いくつかのケースでは、表示された値が列内の実際の値と一致する場合があります(ランダムに選択された数値がセルの値と一致する場合)。
列にデフォルトのマスクを追加する
列にデフォルトマスクを追加すると、SELECT文の実際の値の代わりにmaskが表示されます。
ALTER TABLE Company
ALTER COLUMN Postcode ADD MASKED WITH (FUNCTION = 'default()')
マスクされていないデータを見ることができる人の制御
権限のないユーザーは、次の文を使用して、マスクされていない値を表示する権限を付与できます。
GRANT UNMASK TO MyUser
一部のユーザーがすでにアンマスク権限を持っている場合は、この権限を取り消すことができます。
REVOKE UNMASK TO MyUser
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow