LakeFormationのデータパーミッション – 権限タイプについて整理してみた

LakeFormationのデータパーミッション – 権限タイプについて整理してみた

データパーミッションとは

LakeFormationでは、データレイク内のデータへのアクセスを「データパーミッション」で制御します。これはデータベースやテーブルに対して、誰がどんな操作をできるかを定義するものです。

テーブルレベルの基本権限

SELECT(読み取り)

テーブルからデータを参照する権限です。

-- これができるようになる
SELECT * FROM my_table WHERE date = '2025-01-01';

列レベルでの制限も可能なので、個人情報が含まれるカラムを除外して付与することもできます。

INSERT(挿入)

テーブルに新しいデータを追加する権限です。

-- これができるようになる
INSERT INTO my_table VALUES ('2025-01-01', 'sample_data');

DELETE(削除)

テーブルからデータを削除する権限です。

-- これができるようになる
DELETE FROM my_table WHERE date < '2024-01-01';

ALTER(変更)

テーブル構造を変更する権限です。

-- これができるようになる
ALTER TABLE my_table ADD COLUMN new_column STRING;

スキーマ変更、パーティション追加・削除、テーブルプロパティの変更などが行えます。

DROP(テーブル削除)

テーブル自体を削除する権限です。

-- これができるようになる
DROP TABLE my_table;

これは本当に注意が必要です。間違って付与してしまうと、大事なテーブルが消される可能性があります。

DESCRIBE(参照)

テーブルのメタデータを参照する権限です。

-- これができるようになる
DESCRIBE my_table;

テーブルの構造(カラム名、データ型など)を確認できます。実際のデータは見えませんが、スキーマ情報は分かります。データカタログ的な用途で活用されることが多く、多くの人に付与される傾向にあります。

Super権限

これは特別な権限で、データベースやテーブルに対する広範囲な操作を許可する強力な権限です。ただし、「すべての権限を含む」というわけではなく、実はいくつかの制限があります。

Super権限でできることは多岐にわたります:

  • データベース、テーブルに対するほとんどの操作を実行できる
  • 他のユーザーに権限を付与・取り消しできる
  • データレイク全体の管理を行える

ただし注意点として、カタログレベルでSuper権限を持っていても、カタログに対するALTERやDROPの操作は制限されています。

初期設定時やトラブル対応時には確かに便利な権限ですが、やはり普段使いには強いかも。基本的にはデータレイク管理者と、どうしても必要な緊急時対応用に限定しておくのがよさそう。実際の運用では、必要最小限の個別権限を組み合わせて使う方が安全かも。

参考記事

  1. Lake Formation permissions reference(権限リファレンス)
    https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html
Last modified: 2025-07-18

Author