Databricks

Unity Catalogとは?Databricksのデータガバナンス

2026-03-21
更新: 2026-10-15
NicheeLab編集部
目次
  1. Unity Catalogの階層構造
  2. Catalog・Schemaの作成
  3. 権限管理(GRANT / REVOKE)
  4. Managed Table と External Table
  5. External Location と Storage Credential
  6. Hive Metastoreとの比較
  7. Unity CatalogとOpenSharing(旧Delta Sharing)
  8. Volumes(ファイルガバナンス)
  9. データリネージと監査
  10. 試験で問われるポイント(DEA 15%)
  11. サンプル問題
  12. よくある質問(FAQ)

Unity Catalogは、Databricksが提供するアカウントレベルの統合データガバナンスレイヤーです。 テーブル・ビュー・関数・MLモデル・ファイル(Volumes)といったすべてのデータアセットに対し、 複数ワークスペースを横断した一元的なアクセス制御・監査ログ・データリネージを実現します。 従来のHive Metastoreではワークスペースごとに分断されていたメタデータ管理を、catalog.schema.table の3レベル名前空間で統一し、 SQL標準のGRANT/REVOKEによる権限管理をワークスペース横断で一元化しました。

この記事では、Unity Catalogの階層構造・権限モデル・External Location・OpenSharing(旧Delta Sharing)連携・Hive Metastoreとの違いまでを網羅的に解説します。Data Engineer Associate(DEA)試験のGovernance and Securityセクション(出題比率15%)を中心に、認定試験で問われるポイントもあわせて整理しています。

Unity Catalogの階層構造

Unity Catalogは、Metastoreを頂点とする4階層のオブジェクトモデルを採用しています。すべてのデータアセットはこの階層ツリーに配置され、CatalogやSchemaに付与した権限は配下へ継承されます(Metastoreに付与した権限は、READ METADATAを除いて配下に継承されません)。

Metastore(リージョンごとに1つ)
 ├── Catalog: production
 │    ├── Schema: sales
 │    │    ├── Table: orders
 │    │    ├── Table: customers
 │    │    ├── View: daily_summary
 │    │    └── Function: calc_tax()
 │    ├── Schema: marketing
 │    │    ├── Table: campaigns
 │    │    └── Volume: raw_files
 │    └── Schema: information_schema(自動生成)
 ├── Catalog: development
 │    └── Schema: sandbox
 │         └── Table: test_orders
 ├── External Location: s3://data-lake/external/
 └── Storage Credential: aws_s3_role

データアセットを参照するときは、常に catalog.schema.object の3レベル名前空間を使います。これにより「どの環境の、どのドメインの、どのテーブルか」が名前だけで一意に特定できます。

-- 3レベル名前空間でのアクセス
SELECT * FROM production.sales.orders;
--            ^^^^^^^^^^  ^^^^^  ^^^^^^
--            Catalog     Schema Table

-- デフォルトのCatalog/Schemaを設定
USE CATALOG production;
USE SCHEMA sales;

-- 上記の設定後は短縮形でアクセス可能
SELECT * FROM orders;

各レベルの役割と設計パターン

レベル説明設計パターン例
MetastoreUnity Catalogの最上位コンテナ。1リージョンに1つ作成し、複数ワークスペースに紐づけるap-northeast-1(東京)用に1つ作成
Catalogデータアセットの最上位論理グループ。環境・部門・プロジェクト単位で分離production / development / staging、finance / marketing
Schemaテーブルやビューのグルーピング。ドメインやデータレイヤー単位で整理sales / hr / logs、bronze / silver / gold
Table / View / Function / Volume実際のデータアセット。テーブルとボリュームにはマネージドと外部があるorders(Managed)、external_logs(External)、calc_tax()(UDF)

Catalog・Schemaの作成

Unity Catalogでデータアセットを格納するには、まずCatalogとSchemaを作成します。CatalogはMetastore Admin(またはCREATE CATALOG権限を持つユーザー)が、SchemaはCatalog所有者(またはそのCatalogのCREATE SCHEMAとUSE CATALOGを持つユーザー)が作成できます。

-- Catalogの作成
CREATE CATALOG IF NOT EXISTS production
COMMENT 'Production environment catalog';

-- Schemaの作成
CREATE SCHEMA IF NOT EXISTS production.sales
COMMENT 'Sales domain tables';

-- Managed Tableの作成(LOCATIONなし → Unity Catalog管理ストレージに格納)
CREATE TABLE production.sales.orders (
  order_id     BIGINT       GENERATED ALWAYS AS IDENTITY,
  customer_id  BIGINT       NOT NULL,
  amount       DECIMAL(12,2) NOT NULL,
  order_date   DATE         NOT NULL,
  status       STRING       DEFAULT 'pending'
)
COMMENT 'Customer order records'
TBLPROPERTIES ('quality' = 'gold');

-- External Tableの作成(LOCATIONあり → 外部ストレージのデータを参照)
CREATE TABLE production.sales.external_logs (
  log_id    BIGINT,
  message   STRING,
  timestamp TIMESTAMP
)
LOCATION 's3://data-lake/external/sales/logs/';

権限管理(GRANT / REVOKE)

Unity CatalogはSQL標準のGRANT/REVOKE構文でアクセス制御を行います。権限はSecurable Object(Catalog、Schema、Table、View、Function、Volume、External Location、Storage Credentialなど)に対して付与し、ユーザー・サービスプリンシパル・グループ(プリンシパル)に紐づけます。初期状態のユーザーはデータにアクセスできず、操作には権限を明示的に付与する必要があります。DEA試験ガイドのセクション7はGRANT・REVOKE・DENYの適用を挙げていますが、DENY文はhive_metastore専用で、Unity Catalogでは使えません。Unity Catalogで明示的に拒否する仕組みはABACのDENYポリシー(ベータ)で、拒否できるのはMANAGE ACCESS CONTROL(権限の付与・取り消しや所有権の移譲など、アクセス管理の操作)だけです。SELECTのようなデータの権限は、DENYポリシーでは拒否できません。

主な権限タイプ

権限適用対象効果
USE CATALOGCatalogCatalog内のオブジェクトを扱うのに必須(それ自体ではデータにアクセスできない)
USE SCHEMASchema, CatalogSchema内のオブジェクトを扱うのに必須。Catalogに付与すると配下の全Schemaに継承される
SELECTTable, Viewデータの読み取り(SELECT文の実行)
MODIFYTableINSERT / UPDATE / DELETE / MERGE の実行
CREATE TABLESchemaSchema内に新しいテーブルを作成
CREATE SCHEMACatalogCatalog内に新しいSchemaを作成
CREATE CATALOGMetastoreMetastore内に新しいCatalogを作成
ALL PRIVILEGESすべて対象オブジェクトと配下に適用できる権限をまとめて付与(MANAGEやREAD METADATAなど一部は含まれない)
CREATE EXTERNAL LOCATIONMetastore, Storage CredentialStorage Credentialを使ったExternal Locationの作成(MetastoreとStorage Credentialの両方で必要)

権限付与のSQL例

-- ステップ1: Catalogの使用を許可する(廊下を通す)
GRANT USE CATALOG ON CATALOG production TO analysts;

-- ステップ2: Schemaの使用を許可する
GRANT USE SCHEMA ON SCHEMA production.sales TO analysts;

-- ステップ3: テーブルのSELECT権限を付与(部屋に入れる)
GRANT SELECT ON SCHEMA production.sales TO analysts;
-- ↑ Schema配下の現在と将来の全テーブルにSELECTが適用される

-- 特定のテーブルだけに限定する場合
GRANT SELECT ON TABLE production.sales.orders TO analysts;

-- データ変更権限の付与
GRANT MODIFY ON TABLE production.sales.orders TO etl_service;

-- Schema内にテーブルを作れる権限
GRANT CREATE TABLE ON SCHEMA production.sales TO data_engineers;

-- 権限の確認
SHOW GRANTS ON SCHEMA production.sales;
SHOW GRANTS analysts ON SCHEMA production.sales;  -- analystsグループの分だけ表示

-- 権限の取り消し
REVOKE SELECT ON SCHEMA production.sales FROM analysts;

権限の継承モデル

Unity Catalogの権限は上位オブジェクトから下位に継承されます。 たとえば、CatalogにSELECTを付与すると、そのCatalog配下の現在と将来のすべてのテーブルに SELECTが適用されます。ただし、SELECTだけではデータを読めません。 CatalogへのUSE CATALOGとSchemaへのUSE SCHEMAも必要です。USE SCHEMAも継承されるのでCatalogに付与すれば配下の全Schemaに効きますが、 USE CATALOGはCatalog自体に付与します。

権限の継承イメージ:

GRANT SELECT ON CATALOG production TO analysts;
 → production配下の現在と将来の全TableにSELECTが継承

ただし使用権限が必要:
 Catalog: production  → USE CATALOGが必要 ✓
   Schema: sales      → USE SCHEMAが必要 ✓(Catalogに付与しても可)
     Table: orders    → SELECTで読み取り可能 ✓

USE CATALOGが欠けている場合:
 Catalog: production  → USE CATALOGなし ✗
   Schema: sales      → USE SCHEMAあり
     Table: orders    → SELECTあり → でもアクセス不可 ✗

Managed Table と External Table

Unity Catalogに登録するテーブルは、データの保存場所によって主にManaged TableとExternal Tableに分類されます(ほかにLakehouse Federationで外部のシステムを参照するフォーリンテーブルもあります)。DROP時の挙動が根本的に異なるため、設計時に正しく選択する必要があります。

比較項目Managed TableExternal Table
データの場所Unity Catalogの管理ストレージ(Metastore/Catalog/Schemaのストレージルート)ユーザーが指定した外部パス(S3, ADLS, GCS)
作成方法CREATE TABLE ...(LOCATIONなし)CREATE TABLE ... LOCATION 's3://...'
DROP時のデータテーブルが削除され、データファイルもリカバリ期間(既定7日)の後に自動削除される。期間内はUNDROP TABLEで復元できるメタデータのみ削除、データファイルは外部ストレージに残る
ライフサイクル管理Unity Catalogが完全に管理データファイルのライフサイクルはユーザーが管理
推奨ユースケースほとんどのケース(Databricksが推奨する既定のテーブル)マネージドテーブルに対応しない既存データ(JSON・Avroなど)の登録、Databricks以外のクライアントからの直接アクセス
試験ガイドのポイント: 第7セクションは、マネージドテーブルと外部テーブルの区別と、作成・変更・削除・相互変換を挙げています。DROP TABLEでは、Managed Tableはデータファイルも(リカバリ期間の後に)消え、External Tableはメタデータだけが消えます。外部テーブルからマネージドテーブルへの変換にはALTER TABLE ... SET MANAGEDを使います。

External Location と Storage Credential

External Tableを作成するには、Unity Catalogが外部ストレージにアクセスするための認証情報を登録する必要があります。この仕組みはStorage CredentialとExternal Locationの2段階で構成されます。

[Storage Credential]          クラウドの認証情報を登録
        │                     (IAMロール / Service Principal / Service Account)
        ▼
[External Location]           認証情報と許可パスを紐づけ
  url: s3://bucket/path/      「この認証情報で、このパス範囲にアクセスOK」
        │
        ▼
[External Table]              LOCATION句で外部パスを指定してテーブル作成
  production.sales.ext_logs
  LOCATION 's3://bucket/path/logs/'

設定の流れ(手順2以降はSQL)

-- 1. Storage Credentialの作成
--    SQLではなく、Catalog Explorer([Connect] > [Credentials])や
--    Databricks CLI、Terraformで作成する。
--    CREATE STORAGE CREDENTIAL権限が必要
--    (メタストア管理者とアカウント管理者は既定で持つ)。
--    ここでは、IAMロール(arn:aws:iam::123456789012:role/unity-catalog-role)を
--    登録したaws_s3_credentialを作成済みとする。

-- 2. External Locationの作成
--    (MetastoreとStorage CredentialのCREATE EXTERNAL LOCATION権限が必要)
CREATE EXTERNAL LOCATION s3_data_lake
URL 's3://my-data-lake/production/'
WITH (STORAGE CREDENTIAL aws_s3_credential)
COMMENT 'Production data lake on S3';

-- 3. External Locationの権限を付与
GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION s3_data_lake
TO data_engineers;

-- 4. External Tableの作成
CREATE TABLE production.sales.external_events (
  event_id   BIGINT,
  event_type STRING,
  payload    STRING,
  created_at TIMESTAMP
)
LOCATION 's3://my-data-lake/production/events/';

Storage Credentialは複数のExternal Locationで再利用できます。 たとえば1つのIAMロールで s3://bucket/sales/ と s3://bucket/marketing/の2つのExternal Locationを作成し、チームごとにアクセス範囲を分離するといった設計が可能です。

Hive Metastoreとの比較

Unity Catalogは、従来のHive Metastoreが抱えていたガバナンスの課題を解決するために設計されました。移行を検討する際は以下の違いを理解しておく必要があります。

比較項目Hive MetastoreUnity Catalog
管理スコープワークスペース単位(各ワークスペースに独立したメタストア)アカウント単位(複数ワークスペースで共有)
名前空間2レベル(schema.table / database.table)3レベル(catalog.schema.table)
権限モデルテーブルアクセス制御(レガシー)。CATALOG・SCHEMA・TABLE・VIEW・FUNCTIONなどにGRANT・DENY・REVOKEし、ワークスペースごとに管理GRANT/REVOKE(階層的な権限継承)。ワークスペースローカルのグループには付与できない。DENY文は使えず、明示的な拒否はABAC DENYポリシー(ベータ)
監査ログUnity Catalogの組み込み監査の対象外System Tablesによる統一監査ログ
データリネージUnity Catalogのリネージの対象外テーブル・カラムレベルの自動リネージ
テーブル形式Delta / Parquet / CSV / JSON / ORC / AvroManaged TableはDeltaまたはIceberg、External TableはDelta・CSV・JSON・Avro・Parquet・ORC・テキスト
ファイル管理DBFS(ルートはワークスペースの全ユーザーがアクセス可。DBFSルートとマウントは現在非推奨)Volumes(権限管理・監査付き)
クロスワークスペース共有不可(ワークスペース間でメタデータが分断)同一Metastore配下のワークスペースで自動共有

Unity CatalogとOpenSharing(旧Delta Sharing)

OpenSharing(旧Delta Sharing)は、組織の境界を超えてデータを安全に共有するためのオープンプロトコルです。 Unity CatalogはOpenSharingのプロバイダーとして機能し、外部組織のDatabricks環境や 非Databricks環境(Apache Spark、pandas、Power BIなど)に対してデータを共有できます。

-- 共有(Share)の作成
CREATE SHARE customer_analytics;

-- Shareにテーブルを追加
ALTER SHARE customer_analytics
ADD TABLE production.sales.orders;

-- 受信者(Recipient)の作成
CREATE RECIPIENT partner_company
USING ID 'partner-sharing-identifier';

-- 受信者にShareへのアクセスを付与
GRANT SELECT ON SHARE customer_analytics TO RECIPIENT partner_company;
  • データのコピーは発生しない(プロバイダーのストレージから直接読み取り)
  • テーブル単位・パーティション単位で共有範囲を制御可能
  • 受信者はDatabricksユーザーでなくてもよい(オープンプロトコル)
  • 共有したデータへのアクセスログはプロバイダー側の監査ログに記録される

Volumes(ファイルガバナンス)

Volumesは、テーブル以外のファイル(CSV、JSON、画像、モデルアーティファクト、設定ファイルなど)をUnity Catalogの権限モデルで管理するための機能です。従来のDBFS(Databricks File System)のルートはワークスペースの全ユーザーがアクセスでき、DBFSの監査イベントもDBFS REST API経由の操作とマウントの作成・削除に限られます(DBFSルートとマウントは現在非推奨)。VolumeはCatalog/Schema配下に作成されるため、GRANT/REVOKEで権限制御ができ、監査ログにも記録されます。

-- Managed Volumeの作成(Unity Catalog管理ストレージに保存)
CREATE VOLUME production.raw.landing_files;

-- External Volumeの作成(外部パスを参照)
CREATE EXTERNAL VOLUME production.raw.s3_landing
LOCATION 's3://my-bucket/landing/';

-- ファイルの一覧表示
LIST '/Volumes/production/raw/landing_files/';

-- SQLからファイルを読み取り
SELECT * FROM csv.`/Volumes/production/raw/landing_files/2026-03/data.csv`;

-- PythonからVolume内のファイルを読み取り
-- df = spark.read.csv("/Volumes/production/raw/landing_files/2026-03/data.csv")

データリネージと監査

Unity Catalogは、ノートブックやジョブで実行されたSparkクエリを自動的に解析し、テーブル間・カラム間のデータフロー(リネージ)を記録します。手動での設定や有効化は不要で、Unity Catalogが有効な環境では自動的に動作します。

  • テーブルレベルリネージ: テーブルAのデータがテーブルBに流れたことを追跡
  • カラムレベルリネージ: 特定カラムがどのソースカラムから派生したかを追跡
  • 影響分析: 「このテーブルのスキーマを変更したら、どの下流テーブルが影響を受けるか」を事前確認
  • コンプライアンス: PIIデータがどのテーブルに伝播したかを追跡し、GDPR等の規制対応に活用

監査ログは system.access.audit テーブル(System Tables)に記録されます。誰がいつどのオブジェクトに対してどの操作を行ったかを、SQLで直接クエリして分析できます。

-- 直近24時間のUnity Catalogの監査イベントを確認
-- (GRANT / REVOKEはupdatePermissionsとして記録される)
SELECT
  event_time,
  user_identity.email AS user_email,
  action_name,
  COALESCE(request_params.full_name_arg,
           request_params.securable_full_name) AS object_name
FROM system.access.audit
WHERE service_name = 'unityCatalog'
  AND event_time > current_timestamp() - INTERVAL 24 HOURS
  AND action_name IN ('getTable', 'deleteTable', 'updatePermissions')
ORDER BY event_time DESC;

試験で問われるポイント(DEA 15%)

Data Engineer Associate(DEA)試験の現行版(2026年5月4日改訂)では、Governance and Security(ガバナンスとセキュリティ)セクションが15%の出題比率を占めます。Unity Catalogはこのセクションの中核トピックです。以下の項目は確実に押さえてください。

出題テーマ押さえるべきポイント
3レベル名前空間catalog.schema.table の構造。Metastoreは名前空間には含まれない
USE CATALOG・USE SCHEMACatalogへのUSE CATALOGとSchemaへのUSE SCHEMAがないとSELECTが効かない(USAGEはレガシーのHive Metastoreの権限名)。上位が「廊下」、下位が「部屋」
GRANT / REVOKE / DENYガイドのセクション7はGRANT・REVOKE・DENYの適用を挙げる。DENY文はhive_metastore専用でUnity Catalogでは使えない。Unity Catalogで明示的に拒否するのはABACのDENYポリシー(ベータ)で、拒否できるのはMANAGE ACCESS CONTROLだけ
Managed vs ExternalDROP時の挙動: Managed→データファイルもリカバリ期間(既定7日)の後に削除され、期間内はUNDROP TABLEで復元できる。External→メタデータのみ削除。LOCATION句の有無で区別。外部テーブルからマネージドテーブルへの変換はALTER TABLE ... SET MANAGED
行フィルタ・列マスク行フィルタは行ごとに評価するSQL UDFで、FALSEを返した行を結果から除く(ALTER TABLE ... SET ROW FILTER)。列マスクは列の値を受け取り、元の値かマスクした値を返すSQL UDF(ALTER TABLE ... ALTER COLUMN ... SET MASK)
ABACポリシーガバナンスタグを条件にしたポリシーをカタログ・スキーマ・テーブルに付け、行フィルタと列マスクを多数のテーブルへ一元的に適用する。サーバーレスかDatabricks Runtime 16.4以上の標準コンピュートなどが必要
Storage Credential → External Location2段階の認証構造。Credential=クラウド認証情報、Location=許可パス範囲
Volumes非推奨になったDBFSルート・マウントに代わる、表形式でないファイルの置き場所。READ VOLUME・WRITE VOLUMEなどをGRANT/REVOKEで管理し、監査ログにも記録される
データリネージ有効化不要(自動記録)。テーブルレベルとカラムレベルの2種類
OpenSharing(旧Delta Sharing)2026年5月4日改訂の試験ガイドには記載がない(旧版ではDelta Sharingとして出題範囲)。オープンプロトコル。データコピー不要。受信者はDatabricksユーザーでなくてもよい
権限の継承Catalogに付与した権限は配下の現在と将来の全Schema・全オブジェクトに継承される。ただしデータを読むにはUSE CATALOGとUSE SCHEMAも必要

サンプル問題

Governance and Security / Unity Catalog

問題 1

アナリストチーム(グループ名: analysts)が production.sales.orders テーブルを SELECT しようとしたが、'PERMISSION DENIED' エラーが発生した。管理者は「GRANT USE SCHEMA ON SCHEMA production.sales TO analysts」と「GRANT SELECT ON SCHEMA production.sales TO analysts」を実行済みである。この問題を解決するために追加で必要なSQL文はどれか。

  1. GRANT USE CATALOG ON CATALOG production TO analysts
  2. GRANT ALL PRIVILEGES ON TABLE production.sales.orders TO analysts
  3. GRANT READ ON SCHEMA production.sales TO analysts
  4. GRANT BROWSE ON CATALOG production TO analysts

正解: A

Unity Catalogでテーブルのデータを読むには、テーブル(またはその親のSchemaやCatalog)へのSELECTに加えて、親CatalogへのUSE CATALOGと親SchemaへのUSE SCHEMAが必要です。問題文ではUSE SCHEMAとSELECTが付与済みなので、足りないのはproductionカタログへのUSE CATALOGです。選択肢BのALL PRIVILEGESはテーブルの権限をまとめて付与しますが、USE CATALOGがなければ読めないうえ、最小権限の原則にも反します。選択肢CのREADはUnity Catalogの権限名ではありません。選択肢DのBROWSEは実在する権限ですが、オブジェクトを見つけてメタデータを見たり、アクセスを申請したりするためのもので、データは読めません。なお、USAGEはレガシーのHive Metastoreの権限名で、Unity CatalogではUSE CATALOG・USE SCHEMAを使います。

Governance and Security / External Location

問題 2

データエンジニアがS3上の既存データを参照するExternal Tableを作成したい。Unity Catalogで必要な手順として正しい順序はどれか。

  1. External Table作成 → External Location作成 → Storage Credential作成
  2. Storage Credential作成 → External Table作成 → External Location作成
  3. Storage Credential作成 → External Location作成 → External Table作成
  4. External Location作成 → Storage Credential作成 → External Table作成

正解: C

External Tableの作成には、事前にStorage CredentialとExternal Locationが必要です。正しい順序は (1) Storage Credential(クラウド認証情報の登録)→ (2) External Location(そのCredentialを使ってアクセス可能なパス範囲を定義)→ (3) External Table(LOCATION句でパスを指定して作成)です。External LocationはStorage Credentialへの参照を含むため、Credentialが先に存在する必要があります。External TableはExternal LocationのURL範囲内にLOCATIONを指定するため、Locationが先に存在する必要があります。

Governance and Security / Table Types

問題 3

Unity CatalogのManaged Tableに対して「DROP TABLE production.sales.orders」を実行した。リカバリ期間の設定が既定のままのとき、データファイルはどうなるか。

  1. DROP TABLEの直後にクラウドストレージから削除され、テーブルを復元する方法はない
  2. 7日間のリカバリ期間内はUNDROP TABLEで復元でき、期間が過ぎるとデータファイルも自動で削除される
  3. メタデータだけが削除され、データファイルはストレージに残り続ける
  4. データファイルは30日間保持され、その間は元のテーブル名のままSELECTで読み取れる

正解: B

Unity CatalogのManaged Tableは、DROP TABLEで削除してもデータファイルがすぐには消えません。既定7日のリカバリ期間内ならUNDROP TABLEで復元でき、期間が過ぎるとDatabricksがクラウドストレージのデータファイルを自動で削除します。選択肢Aは「直後に削除」と「復元できない」の両方が誤りです。選択肢CはExternal Tableの挙動で、External Tableではメタデータだけが削除され、データファイルは外部ストレージに残ります。選択肢Dのように、削除したテーブルを元の名前のままSELECTすることはできません。試験ではManaged/Externalの違いを「データファイルが削除されるかどうか」で即答できるようにし、Managed Tableには復元できる猶予期間があることも押さえておきましょう。

Unity Catalogの問題をもっと解いてみよう

Governance and Securityセクションの問題を含む16,000問以上で実力チェック

無料で問題を解く →

よくある質問(FAQ)

Unity CatalogとHive Metastoreの違いは何ですか?

Hive Metastoreはワークスペースごとに存在するレガシーのメタストアで、メタデータも権限(テーブルアクセス制御)もワークスペースごとに管理します。Unity Catalogはアカウントレベルで動作し、複数ワークスペースに対して統一的なアクセス制御・監査ログ・データリネージを提供します。権限の仕組みも異なり、Hive Metastoreのテーブルアクセス制御はGRANT・REVOKEに加えてDENY文も使えますが、DENY文はhive_metastore専用で、Unity Catalogでは使えません。Unity Catalogでは初期状態のユーザーはデータにアクセスできず、操作には権限を明示的に付与する必要があります。明示的な拒否はベータのABAC DENYポリシーで行い、拒否できるのはMANAGE ACCESS CONTROLだけです。Unity Catalogの権限はユーザー・サービスプリンシパル・アカウントグループに付与し(ワークスペースローカルのグループには付与できません)、Catalog・Schema・Table/View/Function/Volumeの階層全体で一貫した制御が可能です。

Unity Catalogは無料で使えますか?

Unity Catalogを使うには、DatabricksのPremiumプラン以上が必要です。Standardティアでは使えません(Azureでは2026年4月1日以降の新規ワークスペースはPremiumのみで、2026年10月1日の時点で残っているStandardティアのワークスペースはPremiumへ自動で移行すると案内されています)。学習目的なら、無料のFree Editionでも、アカウントあたりワークスペース1つ・メタストア1つの範囲で試せます。機能ごとに別の要件もあり、たとえばABAC(属性ベースのアクセス制御)のポリシーには、サーバーレスまたはDatabricks Runtime 16.4以上の標準コンピュートなどが必要です。最新の要件はDatabricks公式ドキュメントで確認してください。

Unity Catalogの権限でUSE CATALOG・USE SCHEMAとSELECTの違いは何ですか?

USE CATALOGとUSE SCHEMAは「その中のオブジェクトを扱うための前提となる権利」(使用権限)で、それ自体ではデータにアクセスできません。USE CATALOGはCatalogに、USE SCHEMAはSchemaに付与します。SELECTは「テーブルやビューのデータを読み取る権利」です。例えば、production.sales.ordersテーブルをSELECTするには、テーブルへのSELECT権限に加えて、productionカタログへのUSE CATALOGとsalesスキーマへのUSE SCHEMAが必要です。USE CATALOG・USE SCHEMAは「廊下を通る鍵」、SELECTは「部屋に入る鍵」と考えるとわかりやすいです。片方だけではアクセスできません。なお、USAGEはレガシーのHive Metastoreの権限名です。

Unity Catalog 関連記事

Data Engineer Associate 完全解説

Unity CatalogはGovernance and Securityセクション(15%)で出題

Delta Lake完全ガイド

Unity CatalogのManaged TableはDeltaまたはIceberg形式

Delta Sharing解説

Unity Catalogからの安全なデータ共有

Databricks SQL完全ガイド

GRANT/REVOKE構文とクエリ実行環境

この記事の内容を、基礎から読む

出題範囲を体系的に扱う教科書があります。全 16 章、登録なしで全部読めます。

教科書の目次をすべて見る →
この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

無料で問題を解いてみる
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Databricks

Databricks資格一覧|全8試験・難易度・勉強法

Databricks認定資格(全8試験)の一覧・出題範囲・合格ライン・難易度を徹底解説。2026年10月時点の公式情報に...

Databricks

Databricks試験の難易度ランキング|7資格を徹底比較

Databricks認定試験のうち7資格の難易度をランキング形式で徹底比較。合格率・学習時間・出題傾向から難易度を分析。...

Databricks

Databricks資格の勉強方法|最短合格ルートと学習時間の目安

Databricks認定資格に最短で合格するための勉強方法を完全ガイド。公式リソース・問題集・学習スケジュールを徹底解説...

Databricks

Databricks Data Engineer Associate完全解説|出題範囲・問題例・合格戦略

Databricks Certified Data Engineer Associate試験を徹底解説。2026年5月版...

Databricks

Databricks Data Engineer Professional完全解説|上級試験の攻略法

Databricks Certified Data Engineer Professional試験を徹底解説。2026年...

Databricksの記事一覧 (109件)
© 2026 NicheeLab All rights reserved.