AWS認定資格 WEB問題集&徹底解説

機械学習エンジニア–アソシエイト

正解 C問題
分野1:機械学習 (ML) のためのデータ準備 タスクステートメント1.3:データ整合性の確保とモデリング用データの準備
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある医療機関では、Amazon Redshiftデータベースに患者の医療記録と個人を特定できる情報 (PII) を保管しています。データサイエンティストが、特定の疾患トレンド分析のためにこのデータへのアクセスを必要としていますが、PIIはマスクまたは隠蔽して表示されないようにする必要があります。医療機関は、元のRedshiftテーブルのデータ構造や内容を物理的に変更せず、データの複製を伴う追加のETLパイプラインも構築せずに、この要件を満たすことを望んでいます。さらに、実装と管理のオーバーヘッドを最小限に抑えるソリューションを求めています。
これらの要件を最も効率的に満たすアプローチはどれですか?
  • AWS Lake Formationを利用して、Redshiftデータカタログのテーブルに対してカラムレベルの権限を設定し、データサイエンティストには非機密カラムのみへのアクセスを許可する。
  • Amazon Redshiftの標準ビューを作成し、機密情報を含むカラムを除外したSELECT文を定義して、データサイエンティストにそのビューへのアクセス権を付与する。
  • Amazon Redshiftのダイナミックデータマスキングを実装し、指定されたロールを持つユーザーに対して、PIIを含むカラムのデータを自動的にマスクするように設定する。
  • Amazon Redshiftの行レベルセキュリティポリシーを適用し、データサイエンティストがアクセスできるデータ行を制限することで、PIIへのアクセスを防ぐ。
解説 頻出度★★★★★
この問題は、「元テーブルを物理変更しない × 複製も ETL も作らない × ロールごとに PII を隠す × 運用負荷最小」という要件で、Amazon Redshift ネイティブのダイナミックデータマスキング(DDM)を選べるかがポイントです。

A. AWS Lake Formationを利用して、Redshiftデータカタログのテーブルに対してカラムレベルの権限を設定し、データサイエンティストには非機密カラムのみへのアクセスを許可する。

AWS Lake Formation の列レベル権限が効くのは、AWS Glue データカタログで管理されるテーブル(S3 データレイクや Redshift Spectrum の外部テーブル、データシェア)に対してであり、Redshift 内部テーブルの列を直接マスクする仕組みではありません。本問はデータが Redshift 内に保管されている前提なので、まず土俵が合っていません。

加えて、Lake Formation の列レベル権限は列そのものを見せない(非表示にする)制御であり、「マスクして表示する」という要件に対しても Redshift ネイティブの機能より遠回りで、統合設定のオーバーヘッドも増えます。

B. Amazon Redshiftの標準ビューを作成し、機密情報を含むカラムを除外したSELECT文を定義して、データサイエンティストにそのビューへのアクセス権を付与する。

機密列を除いた標準ビューを作る方法は、確かに元テーブルを物理変更せず ETL も不要ですが、これは「マスク」ではなく「列を見せない」だけです。生年月日を年代だけに丸めるといった、部分的に情報を残したマスキングには対応できません。

さらに、対象テーブルやロールが増えるたびにビューを作り分けて権限を管理する必要があり、「実装と管理のオーバーヘッドを最小限に」という要件に反します。元テーブルへの直接アクセス権が残っていれば PII が露出する点にも注意が必要です。

正解

C. Amazon Redshiftのダイナミックデータマスキングを実装し、指定されたロールを持つユーザーに対して、PIIを含むカラムのデータを自動的にマスクするように設定する。

Amazon Redshift のダイナミックデータマスキング(DDM)は、マスキングポリシーを作成して列とロールに紐付けるだけで、クエリ実行時にそのロールのユーザーへ返す値を動的に変換する機能です。テーブルに格納された実データは一切書き換わらず、データの複製も追加の ETL パイプラインも不要です。

ロールごとに「完全マスク」「部分マスク(末尾 4 桁のみ表示など)」「マスクなし」を出し分けられるため、データサイエンティストには PII をマスクした状態で、監査担当には元の値を、といった制御を1 つのテーブルのまま実現できます。要件をすべて満たす最小構成であり、これが正解です。

D. Amazon Redshiftの行レベルセキュリティポリシーを適用し、データサイエンティストがアクセスできるデータ行を制限することで、PIIへのアクセスを防ぐ。

Amazon Redshift の行レベルセキュリティ(RLS)は、ユーザーやロールに応じて「見える行」を絞り込む機能です。本問の要件は「特定のに含まれる PII を隠す」ことなので、制御の軸がそもそも違います。

RLS でアクセスを許可された行については、その行のすべての列(PII を含む)がそのまま表示されます。逆に PII を隠そうとして行自体を絞り込めば、疾患トレンド分析に必要なデータまで欠落してしまい、分析要件も満たせません。

これだけ覚える(記憶フック)
Redshift で「列の中身」をロール別に隠す=ダイナミックデータマスキング。行を絞るのは RLS。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
元の Redshift テーブルのデータ構造や内容を物理的に変更しない クエリ時に動的に変換して返す方式なら、格納データはそのまま。マスキングポリシーは列とロールに紐付けるだけ
→選択肢(C)は候補
データの複製や追加の ETL パイプラインを作らない マスク済みテーブルを別途作る発想は不可。1 つのテーブルのまま出し分けられる機能を選ぶ
→選択肢(C)は候補
PII をマスクまたは隠蔽して表示させない(隠すのは「列」) 行レベルセキュリティは「行」を絞る機能で、許可された行の列はすべて見えてしまう
→選択肢(D)を消す
対象データは Redshift 内部テーブルに保管されている Lake Formation の列レベル権限は Glue データカタログ経由のテーブルが対象で、Redshift 内部テーブルを直接マスクしない
→選択肢(A)を消す
実装と管理のオーバーヘッドを最小限に抑える ビュー方式はテーブル × ロールの数だけビューと権限が増えるうえ、部分マスクもできない
→選択肢(B)を消す。選択肢(C)が正解
ひっかけポイント
  • 選択肢 B のビューは「元テーブルを変えない・ETL も不要」という条件を満たすため最後まで残りやすい罠。決め手は「マスク(値を変換して見せる)」と「除外(列を見せない)」の違いと、ビュー増殖による管理負荷
  • 選択肢 D の行レベルセキュリティは名前が似ていて紛らわしい。RLS=行、DDM=列(の中身)と対で覚える
  • 選択肢 A の Lake Formation は「データガバナンスの本命」という印象で選ばせにくる。効く範囲は Glue データカタログ管理下のテーブルで、Redshift 内部テーブルのネイティブなマスキング手段ではない
  • 「PII をマスク」と聞いて Amazon Macie(検出)や Glue の PII 変換(加工=新データ生成)を思い浮かべると、「物理変更なし・ETL なし」の条件で必ず外れる
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「データサイエンティストに特定の行(例:自分の担当地域)だけを見せたい」 行レベルセキュリティ(RLS)が正解に。
「PII 列をそもそも参照させない(列自体を隠す)だけでよい」 列レベルのアクセス権限(GRANT)やビューでも要件を満たせる。
「対象データが S3 のデータレイクにあり、Athena / Redshift Spectrum から分析する」 AWS Lake Formation の列レベル・セルレベル権限が正解軸に。
「保管データ内の PII がどこにあるかをまず特定したい」 Amazon Macie(S3)や Glue の機密データ検出が正解軸に。
関連サービスの解説 Amazon Redshift
AWS Lake Formation
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 73%
No.9 解説
ある医療機関では、Amazon Redshiftデータベースに患者の医療記録と個人を特定できる情報 (PII) を保管しています。データサイエンティストが、特定の疾患トレンド分析のためにこのデータへのアクセスを必要としていますが、PIIはマスクまたは隠蔽して表示されないようにする必要があります。医療機関は、元のRedshiftテーブルのデータ構造や内容を物理的に変更せず、データの複製を伴う追加のETLパイプラインも構築せずに、この要件を満たすことを望んでいます。さらに、実装と管理のオーバーヘッドを最小限に抑えるソリューションを求めています。
これらの要件を最も効率的に満たすアプローチはどれですか?
  • AWS Lake Formationを利用して、Redshiftデータカタログのテーブルに対してカラムレベルの権限を設定し、データサイエンティストには非機密カラムのみへのアクセスを許可する。
  • Amazon Redshiftの標準ビューを作成し、機密情報を含むカラムを除外したSELECT文を定義して、データサイエンティストにそのビューへのアクセス権を付与する。
  • Amazon Redshiftのダイナミックデータマスキングを実装し、指定されたロールを持つユーザーに対して、PIIを含むカラムのデータを自動的にマスクするように設定する。
  • Amazon Redshiftの行レベルセキュリティポリシーを適用し、データサイエンティストがアクセスできるデータ行を制限することで、PIIへのアクセスを防ぐ。

(会員限定)当問題の評価をお願いします。改善に活用します。