🎭

Azure SQL Database の動的データマスク(DDM)で機密データを保護する

難易度:中級
所要時間:75 分

ラボ概要

Azure SQL Database に顧客テーブルを作り、メールやクレジットカード番号などの列に動的データマスク(DDM)を適用する。マスク対象外の管理者と、マスクされる一般ユーザーで同じクエリの結果がどう変わるかを実際に確かめる。

サポート担当者が顧客の問い合わせ画面を開いたとき、画面にクレジットカード番号がそのまま表示されてよいだろうか。多くの業務では「データは見えてほしいが、機密の中身までは見せたくない」という中間の要求がある。アプリ側で列を出し分ける実装はバグも漏れも生みやすい。

動的データマスク(Dynamic Data Masking, DDM)は、この出し分けをデータベース側に寄せる仕組みだ。テーブルの実データは一切変えず、クエリ結果が返る瞬間にだけ指定した列を覆い隠す。誰に見せるかは権限で制御し、UNMASK を持つ管理者には素のデータが、持たない一般ユーザーにはマスクされた値が返る。

ここでは Azure SQL Database に顧客テーブルを作り、メール・電話・クレジットカード・給与の各列に種類の違うマスク関数を当てていく。仕上げに低権限ユーザーを 1 つ用意し、同じ SELECT が権限によって別の結果を返す様子を、ポータルのクエリ エディターと Cloud Shell の sqlcmd の両方で観察する。

DDM は深層防御の一層であって暗号化の代替ではない、という距離感も最後に確認する。学習者は Contributor 相当の一時ユーザーでサインイン済みで、リージョンは japaneast、単一のリソースグループ内で作業する。

🎭

ハンズオンラボとは?

本物の Azure リソースを使い、リスクなく試行錯誤しながら実践的なスキルを身につけられます。

他のラボを見る