Unity CatalogとはDatabricksの中央集権型データガバナンスのシステムであり、構造化/非構造化データ、AIモデルなど組織の多様なデータ&AIリソースを管理することができます。オープンソース版のUnity Catalogもあります。
本記事は、Unity Catalogでこういうリソースをこう管理したいというようなケースごとにどうしたらいいのかをまとめた逆引き記事です。現時点ではDatabricksの製品版のUnity Catalogの仕様に基づいています。
(随時更新予定です)
管理の方針
この記事では以下の方針で権限を管理します。組織やユースケースによってはこれ以外の方針が適している場合もあると思います。
- スキーマ単位で権限を付与します
- グループに対して権限を付与します
- 目的のために最小の権限だけを付与します
目次
- ケース1 特定のスキーマのテーブル/ビューだけを読み取らせたい
- ケース2 全てのスキーマのリソースのメタデータを参照させたい
- ケース3 特定のスキーマ以下のテーブル/ビューの書き込みをさせたい
- ケース4 AIモデルを登録させたい
- ケース5 AIモデルをロードして使用させたい
ケース1 特定のスキーマのテーブル/ビューだけを読み取らせたい
どうしたい
- 特定のスキーマ内のテーブルのデータを参照させたい
- 参照だけできればよくデータの追加・更新はさせたくない
- 特定のスキーマ以外のスキーマは非表示にしたい
どう設定する
グループに対して以下の権限を付与します
- カタログに
USE CATALOG - スキーマに
USE SCHEMA、SELECT
ケース2 全てのスキーマのリソースのメタデータを参照させたい
どうしたい
- 全てのスキーマとその内部の全てのリソースのメタデータを参照させたい
- 実データは参照させたくない
どう設定する
グループに対して以下の権限を付与します
- カタログに
BROWSE
ケース3 特定のスキーマ以下のテーブル/ビューの書き込みをさせたい
どうしたい
- 特定のスキーマ内にテーブル/ビューの作成、データ書き込みを参照させたい
どう設定する
グループに対して以下の権限を付与します
ケース4 AIモデルを登録させたい
どうしたい
- 特定のスキーマ内にAIモデルの登録をさせたい
どう設定する
グループに対して以下の権限を付与します
- カタログに
USE CATALOG - スキーマに
USE SCHEMA、次の2つのどちらかCREATE MODELまたはCREATE FUNCTION
参考
ケース5 AIモデルをロードして使用させたい
どうしたい
- AIモデルをロードして使用させたい
どう設定する
グループに対して以下の権限を付与します
- カタログに
USE CATALOG - スキーマに
USE SCHEMA、EXECUTE




