「AWS Lake Formationをざっくり解説」というタイトルで社内でお話したので資料公開します

「AWS Lake Formationをざっくり解説」というタイトルで社内でお話したので資料公開します

Clock Icon2025.04.06

はじめに

こんにちは、データ事業本部の渡部です。

S3 Tablesが登場し、Lake Formationでのアクセス制御をしなければならなくなったところから、Lake Formationをちゃんと理解しないといけない時が来たと感じています。
Lake Formationはそのサービス単体で語られることは少なく、そのためまとまった情報も少なく理解するのが個人的にハードルが高いと感じていました。
そのため、まずは技術的な話をほぼカットした「AWS LakeFormationをざっくり解説」というタイトルで自分の勉強がてら社内向けに資料作成・説明をしました。そちらを今回は共有します。

資料

概要説明

Lake Formationについて

Lake Formation、私はずっと「アクセス制御をするサービスなんだなー、ふふん」という知識だったのですが、よくよく調べてみると、
構造化データ に対するアクセス制御をするサービス」であることがわかりました。
もうちょっと詳しくいうと、Glue Data Catalogというメタデータに対する制御なのですが、今回はそこまでは触れません。

貼り付けた画像_2025_04_06_12_22

アクセス制御手法

それでは肝心のアクセス制御はどうやるのかというと、LFタグ方式とリソース方式という2つがあります。それぞれの方式について説明します。

貼り付けた画像_2025_04_06_12_24

まずはLFタグ方式です。
LFタグは何かというとLake Formationタグのことです。
こちらについてはデータアセット(データベース・テーブル・カラム)にタグをつけて、人やシステム(まとめてプリンシパルと呼ばれます)に対してタグに対する操作権限を付与する、という感じでアクセス制御をします。

対してリソース方式です。
こちらはプリンシパルへデータアセットに対する操作権限を一つずつ付与するやり方でアクセス制御をします。

両者の特徴をざっくり比較すると、設定・変更の量を考えるとタグ方式に軍配があがり、細やかなアクセス制御は行レベル・セルレベル(列れべると行レベルの掛け合わせ)までアクセス制御が可能なリソース方式に軍配があがります。
基本はLFタグ方式を使用して、どうしても行レベルのアクセス制御をしたい場合はリソース方式を使用するのが良いのかなと思います。

別途LFタグの設計は考える必要があるため、そこは会社のセキュリティ要件に従って検討していきましょう。

誰がアクセス制御をするのか

最後にLake Formationのペルソナについてです。
アクセス制御のやり方はわかれど、誰がどうアクセス制御に関わっていくかも考えていく必要があります。
AWSは以下のプリンシパル3つの構成を推奨として提案しています。

貼り付けた画像_2025_04_06_12_51

まずはデータレイク管理者(Lake Formationの管理者)ですが、こちらはアクセス制御設定をするというよりは、アクセス制御をするプリンシパルに対して、アクセス制御の付与権限を与える役割を持ちます。
誰でもアクセス制御ができてしまうと、セキュリティが担保できなくなってしまうため、このような管理者が用意されています。

続いて権限管理者です。こちらはアクセス制御をするプリンシパルです。
最後にデータ利用者です。アクセス制御された上で、データを取得します。

これらのプリンシパルは、IAM UserやIAM Roleとして用意する必要はありますが、AWSドキュメントで上記の役割を満たすIAM Policyが公開されています。
そのため、それをまずは参考にして、どうしても満たせないことがあるなら、カスタムして使っていくことを考えていけば良いでしょう。

さいごに

ざっくりとしたLake Formation紹介資料でした。
詳しくはAWSのBlack Beltを参考いただきたいのですが、まずは第一歩として把握すべきことを記載したつもりです。
もう少し技術的に寄った資料も作成済みのため、後日公開します。次はそちらの記事・資料をご覧いただければと思います。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.