無限ノック › DEA 練習問題一覧 › 問題
DEAデータストアの管理

ある医療系企業は、複数の病院グループが参加するデータレイクを Amazon S3 と AWS Glue Data Catalog で構築しています。患者レコードを格納する単一の Glue テーブルがあり、各病院の分析担当者は自病院の患者データのみ参照できる必要があります。以下の制約があります。 ・S3 のバケットやプレフィックスを病院ごとに分割することは禁止(データレイクの構造を変更しない) ・Glue テーブルは1つのまま維持する ・分析担当者は Amazon Athena でクエリを実行する この要件を最小の運用オーバーヘッドで実現するにはどのアプローチが最適ですか?

A
AWS Lake Formation のデータフィルター機能を使用して、hospital_id 列に基づく行レベルセキュリティを各グループに適用する
✓ 正解
単一のGlueテーブルに行レベルフィルター(例:hospital_id = 'A')を定義してIAMロールに付与することで、Athenaクエリ時に自動でフィルターが適用されます。S3構造の変更やテーブル分割は不要で、最小の運用負荷でデータアクセス制御を実現できます。
B
各病院グループ向けに IAM ポリシーを作成し、Athena ワークグループごとに WHERE 句を強制するクエリポリシーを設定する
AthenaワークグループはクエリのS3出力先やスキャン量を制御しますが、WHERE句を自動で強制してデータ行を制限する機能はありません。ユーザーが意図的にWHERE句を省略した場合に全データへアクセスできてしまうため、確実な行レベルアクセス制御にはなりません。
C
AWS Glue ETL ジョブをスケジュール実行し、病院ごとに別テーブルをデイリーで生成して各グループにアクセス権を付与する
Glue ETLで病院ごとに別テーブルを生成するアプローチは「テーブルを1つに維持する」という制約に直接違反します。また日次バッチ処理のためリアルタイムアクセスが制限され、テーブル数増加による運用負荷も増加するため適切ではありません。
D
Amazon Macie で PII データを検出し、病院ごとのデータを S3 Select フィルタリングで分離してアクセス制御する
Amazon MacieはS3バケット内の機密データ(PII等)を検出・分類するセキュリティサービスであり、行レベルのアクセス制御機能は持ちません。S3 Selectはオブジェクト単位でのクエリ最適化の仕組みであり、ユーザーごとのデータアクセス制御には使用できません。

解説

AWS Lake Formation のデータフィルター(行レベルセキュリティ)機能を使用すると、単一の Glue テーブルに対してフィルター条件を定義し、特定の IAM プリンシパルやグループが参照できる行を制限できます。 データフィルターの仕組みは以下の通りです。 ①AWS Glue Data Catalog のテーブルに対してデータフィルターを作成(例:hospital_id = 'A') ②各病院グループの IAM ロールまたは Lake Formation タグにフィルターを付与 ③Athena でクエリを実行すると、Lake Formation が自動的にフィルター条件を適用して対象行のみ返す これにより S3 の構造を変更せず、単一テーブルを維持したまま細粒度のアクセス制御が実現でき、運用負荷も最小化されます。 選択肢Bの IAM ポリシーと Athena ワークグループのアプローチは、WHERE 句の自動強制はワークグループ設定ではサポートされておらず、ユーザーが WHERE 句を省略した場合にデータ全体にアクセスできてしまう恐れがある。 選択肢Cの AWS Glue ETL ジョブによる別テーブル生成は、テーブルを1つに維持するという要件に反し、かつ日次バッチ完了まで最新データを参照できない。 選択肢Dの Amazon Macie は PII データの検出・分類ツールであり、行レベルのアクセス制御機能は持たない。S3 Select はオブジェクト単位のクエリ最適化であり、アクセス制御の仕組みではない。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DEA の問題一覧に戻る