ある小売企業は、全国 10 地域の売上データを単一の Amazon S3 データレイクに保存しています。データは AWS Glue Data Catalog で管理され Amazon Athena でクエリされており、アクセス制御には AWS Lake Formation を使用しています。各地域のアナリストは自分の担当地域のデータ(region 列の値が一致する行)のみ参照できるようにする必要があります。テーブルには数億件のレコードが含まれます。この要件を最も効率的に満たす方法はどれですか?
AWS Lake Formation のデータフィルター機能は、テーブル内の特定の行・列へのアクセスをきめ細かく制御します。「行フィルター式」に region = 'kanto' のような条件を定義して IAM ロールに適用することで、同一テーブルに対して地域ごとに異なるデータビューを提供できます。追加のビューやテーブルを作成する必要がなく、データの再配置も不要です。 選択肢AのAthenaビューは機能しますが、10 地域分のビューを作成・管理する必要があり、地域数が増えるたびにメンテナンスコストが増大します。元テーブルへの直接アクセス制限も別途必要になります。 選択肢CのS3 プレフィックス分割によるデータ再配置は大規模なデータ移行が必要で既存パイプラインへの影響も大きく、効率的ではありません。 選択肢DのLF-TBACはテーブルやデータベースへの属性ベースアクセス制御に適していますが、テーブル内の特定の行へのアクセス制限(行レベルセキュリティ)には対応していません。