DEA / ドメイン4 データセキュリティとガバナンス

データマスキングと匿名化

分析やに使うデータには、氏名、メールアドレス、カード番号などの個人を特定できる情報 () が混ざります。法令や社内規程は「必要な人以外に見せない」「目的に必要な範囲だけ使う」ことを求めます。 DEA では、マスキング・・ハッシュ化・・匿名化の違いを理解し、要件に合わせてパイプラインのどこで、どの AWS の機能を使って保護するかを判断します。

Point
  • PII = Personally Identifiable Information (個人を特定できる情報) の略です。
  • Masking は「覆い隠す」ことで、値の一部や全部を別の文字に置き換えます。
  • Tokenization は、値を意味のない代替値 (トークン) に置き換え、元の値との対応表を別に安全に保管する方式です。
  • Pseudonymization (仮名化) は、追加の情報がないと個人を特定できない形にすることです。追加の情報があれば戻せます。
  • Anonymization (匿名化) は、どんな手段でも個人を特定できない形にすることです。
  • 和訳

概要

保護の方式は「元に戻せるか」「同じ値が同じ結果になるか (結合や集計に使えるか)」で選びます。

概要の図 ある 権限者だけ 使う 使わない ない したい しない PII を含む列 元の値に戻す必要がある? 結合や集計のキーに使う? トークン化決定的暗号化 暗号化動的マスキング 同じ人を識別して集計したい? ソルト付きハッシュ化 削除・伏せ字・一般化匿名化
見るポイント代表的な判断
一部の利用者だけ元の値を見る必要があるか元データは残し、や列の権限で見せ分けます。
元の値を分析環境に置くこと自体を避けたいか取り込み時に静的にマスキング・ハッシュ化した列だけを書き込みます。
同じ顧客の行を結合・集計したいか決定的な方式 (ハッシュ化、、決定的暗号化) を使います。
統計的な分析だけでよいか削除・一般化・集約で匿名化します。

主要技術

①保護の方式の違い ⚠️ 頻出

方式例元に戻せるか結合・集計のキー主な用途
伏せ字 (マスキング、リダクション)****-****-****-1234戻せない使えない画面やレポートでの表示、問い合わせ対応
削除 (ヌル化)列ごと消す戻せない使えない分析に不要な列
ハッシュ化 (ソルト付き)SHA-256 の値戻せない使える同じ顧客を識別した集計
tok_8f3a... と対応表対応表で戻せる使える決済、権限者だけが元の値を必要とする処理
決定的暗号化同じ値は同じ暗号文キーで戻せる使える結合が必要で、権限者は復号する
確率的暗号化毎回違う暗号文キーで戻せる使えない保管時の保護
一般化年齢 → 年代、住所 → 都道府県戻せない粗い単位で使える統計、外部への提供
置換・本物らしい別の値、他の行の値と入れ替え戻せない使えないテスト用データの作成

ハッシュ化は、電話番号のように取りうる値が少ないと、総当たりで元の値を推測されます。秘密のソルト (付け足す値) を加えるか、HMAC のようにキー付きのハッシュを使います。

したデータ (トークン化、ハッシュ化) は、対応表や追加の情報と組み合わせれば個人を特定できる可能性が残ります。規制の上では引き続き個人データとして扱われる場合があるため、「匿名化したので規制の対象外」と判断するには、組み合わせによる再識別の可能性まで考える必要があります。


②静的マスキングと動的マスキング

方式仕組み長所短所
静的マスキング でマスクした値を書き込みます。保存先に元の値がないため、漏えいの影響が小さいです。元の値が必要な利用者のために、別に元データを保管する必要があります。
動的マスキング保存値はそのままで、クエリの結果を利用者ごとに変えます。1つのテーブルで利用者ごとに見せ方を変えられます。保存先には元の値があるため、保存先の権限管理が前提です。
②静的マスキングと動的マスキングの図 Glue で PII を検出しハッシュ化・伏せ字 COPY 動的データマスキング 優先度の高いポリシー raw ゾーン元の値 アクセス制限 curated ゾーン静的にマスク済み Athena の利用者 Redshift 一般の分析者 伏せ字 不正対策チーム 元の値

では、元の値を持つ raw ゾーンへのアクセスを最小限に絞り、多くの利用者には静的にマスクした curated ゾーンを使わせる構成が一般的です。


③AWS Glue の機密データ検出 ⚠️ 頻出

Studio の「Detect Sensitive Data ( の検出)」変換は、 の途中で PII を見つけて処理します。

設定選択肢
走査の方法すべての行のセルを調べる (網羅的)、または一部の行を標本として調べ、PII を含む列を特定する (費用と時間を抑える)
検出する対象AWS が定義したエンティティ (メール、クレジットカード番号、各国の識別番号など) をカテゴリや個別に選びます。正規表現と文脈の単語で独自のパターンも作れます。
検出時の処理検出結果を列として追加する、伏せ字にする、一部を伏せ字にする、SHA-256 のハッシュに置き換える
細かい上書き列ごとに検出の対象外にしたり、別の処理を指定したりできます。

取り込みのジョブにこの変換を入れると、raw から curated へ書き込む時点で PII を伏せ字やハッシュに変えられます。


④そのほかの AWS の機能

機能役割方式
のクエリの結果を利用者・ロールごとに伏せ字やハッシュにします (「Redshift のアクセス制御とデータ共有」の章)。動的
の列・セルのフィルター利用者ごとに の列を見せません (「AWS Lake Formation」の章)。動的 (列ごと隠す)
のレシピ置換、、決定的・確率的暗号化、ヌル化、伏せ字、ハッシュ化の変換をコードなしで適用し、プロファイルで PII を検出します。静的
のどこに PII があるかを見つけます。マスキングはしません (「Amazon Macie」の章)。検出のみ
+ 独自のや暗号化を行い、対応表を などに暗号化して保管します。静的

⑤コンプライアンスの要件との対応

要件の例対応の考え方
目的に必要な最小限のデータだけを使う分析に不要な の列は取り込み時に削除します。
権限者以外に個人を特定させない列の権限、動的マスキング、静的マスキングを組み合わせます。
決済カード番号の表示を制限する表示は末尾の数桁などに限り、元の値はや暗号化で保護します。
研究や外部への提供一般化や集約で匿名化し、少人数の集団から個人が推測されないかを確かめます。
削除要求 (忘れられる権利)トークンの対応表を消すと、トークン化したデータから個人を特定できなくなります。
監査どの列をどう保護したかを Data Catalog のタグや で記録します。

試験対策

マスキングの問題では、「元の値に戻す必要があるか」「結合のキーとして使うか」「保存先に元の値を置いてよいか」の3つで方式を絞ります。 次に、パイプラインのどこ (取り込み時の か、クエリ時か) で保護するかで AWS の機能を選びます。

①判断マトリクス

問題文のキーワード選ぶもの理由
の途中で を検出して伏せ字にしたい の機密データ検出の変換検出と伏せ字・ハッシュ化を同時に行えます。
個人を識別せずに同じ顧客の購買を集計したいソルト付きのハッシュ化同じ値は同じハッシュになり、元に戻せません。
権限のある処理だけが元のカード番号を使う (対応表を厳重に保管)対応表で元に戻せます。
1つのテーブルで、チームにより見え方を変えたい の保存値を変えずに結果だけ変えます。
で PII の列を一部の利用者から隠す の列のフィルター などの結果から列を除きます。
分析環境に元の PII を置きたくない取り込み時の静的マスキング保存先に元の値が残りません。
コードを書かずに分析者が PII を変換したい の PII のレシピ画面の操作で変換します。
どのに PII があるか分からない で検出してから保護検出と保護を分けて考えます。
テスト環境に本番に似たデータを用意したい置換・本物らしいが個人ではない値にします。

②よくある誤答

  • ハッシュ化を、元に戻せる暗号化と混同すること。ハッシュは戻せません。
  • がデータをマスキングすると考えること。Macie は検出だけです。
  • 動的マスキングをすれば保存先の権限管理が不要と考えること。保存先には元の値があります。
  • ソルトなしのハッシュで十分と考えること。値の種類が少ないと推測されます。
  • したデータを、常に個人データではないと考えること。

参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください