本文へ移動

FORWARD DEPLOYED ENGINEER

FDE 基礎読本

Claude と Databricks の最新動向と、FDE の基礎知識

DATABRICKS未検証入門・約 20 分

Unity Catalog で、チーム用のカタログと権限を作る

分析チームにだけ読み取りを許すカタログとスキーマを作り、権限の付け方を確かめる。

※ 公式ドキュメント(2026年10月7日時点)に沿って作成しました。本サイトではまだ実際の環境で試していません。試した結果は追記していきます。

この手順でできること

  • カタログ・スキーマ・テーブルの3階層と、権限の関係が分かる
  • テーブルを読ませるのに必要な権限の組み合わせを確かめる

用意するもの

  • Unity Catalog が使える Databricks のワークスペース
  • カタログを作る権限(メタストアの CREATE CATALOG)
  • 権限を付ける相手のグループ(例: analysts)

手順

  1. 一、カタログとスキーマを作る

    案件や環境ごとにカタログを分けると、権限の管理がしやすくなります。

    CREATE CATALOG IF NOT EXISTS sales_dev;
    CREATE SCHEMA IF NOT EXISTS sales_dev.reports;
    CREATE TABLE sales_dev.reports.monthly AS
    SELECT * FROM VALUES ('2026-09', 1200), ('2026-10', 1350) AS t(month, amount);
  2. 二、グループに読み取りの権限を付ける

    テーブルを読むには、テーブルの SELECT だけでなく、親のカタログの USE CATALOG と、スキーマの USE SCHEMA も必要です。権限は個人ではなくグループに付けると、人の入れ替わりに強くなります。

    GRANT USE CATALOG ON CATALOG sales_dev TO `analysts`;
    GRANT USE SCHEMA ON SCHEMA sales_dev.reports TO `analysts`;
    GRANT SELECT ON TABLE sales_dev.reports.monthly TO `analysts`;
  3. 三、付けた権限を確かめる

    SHOW GRANTS で、だれにどの権限が付いているかを確かめます。

    SHOW GRANTS ON TABLE sales_dev.reports.monthly;

うまくいったかの確かめ方

  • analysts のグループに SELECT が付いていると表示される
  • analysts のメンバーが、テーブルを読めて、書き込めない

つまずきどころ

  • SELECT だけを付けても、USE CATALOG と USE SCHEMA がないと読めません。いちばん多いつまずきです。
  • スキーマやカタログに SELECT を付けると、その中のすべてのテーブル(後から作るものも含む)に効きます。範囲を意識して付けます。

後片付け

  • DROP CATALOG sales_dev CASCADE; で、練習用のカタログを中身ごと削除します。

公式の情報

← やってみたの一覧に戻る