Unity Catalog の権限とセキュリティ保護可能なオブジェクト
適用対象: Databricks SQL Databricks Runtime Unity Catalog のみ
権限は、メタストア内のセキュリティ保護可能なオブジェクトを操作するためにプリンシパルに付与される権限です。 権限モデルとセキュリティ保護可能なオブジェクトは、Unity Catalog メタストアとレガシの Hive メタストアのどちらを使用しているかによって異なります。 この記事では、Unity Catalog の権限モデルについて説明します。 Hive メタストアを使用している場合は、Hive メタストアの Privileges およびセキュリティ保護可能なオブジェクトを参照してください。
Unity カタログで権限を管理する方法の詳細については、「 Unity カタログの管理権限」を参照してください。
Note
この記事では、特権モデル バージョン 1.0 の Unity Catalog の特権と継承モデルについて説明します。 パブリック プレビュー中 (2022 年 8 月 25 日より前) に Unity Catalog メタストアを作成した場合は、現在の継承モデルをサポートしていない以前の特権モデルを使用している可能性があります。 特権モデル バージョン 1.0 にアップグレードして、特権の継承を取得できます。 「特権継承へのアップグレード」を参照してください。
セキュリティ保護可能なオブジェクト
セキュリティ保護可能なオブジェクトは、プリンシパルに権限を付与できる Unity Catalog メタストアで定義されているオブジェクトです。 Unity カタログのセキュリティ保護可能なオブジェクトとそのオブジェクトに付与できる権限の完全な一覧については、「 Unity Catalog 権限とセキュリティ保護可能なオブジェクト」を参照してください。
オブジェクトに対する権限を管理するには、その所有者である必要があります。
構文
securable_object
{ CATALOG [ catalog_name ] |
CONNECTION connection_name |
CLEAN ROOM clean_room_name |
EXTERNAL LOCATION location_name |
FUNCTION function_name |
METASTORE |
SCHEMA schema_name |
SHARE share_name |
[ STORAGE | SERVICE ] CREDENTIAL credential_name |
[ TABLE ] table_name |
MATERIALIZED VIEW view_name |
VIEW view_name |
VOLUME volume_name
}
CONNECTION
の代わりに SERVER
、SCHEMA
の代わりに DATABASE
を指定することもできます。
パラメーター
CATALOG
catalog_nameデータ カタログ全体へのアクセスを制御します。
CLEAN ROOM
clean_room_nameクリーン ルームへのアクセスを制御します。
CONNECTION
接続名接続へのアクセスを制御します。
EXTERNAL LOCATION
location_name外部の場所へのアクセスを制御します。
FUNCTION
function_nameユーザー定義関数または MLflow 登録済みモデルへのアクセスを制御します。
MATERIALIZED VIEW
view_name具体化されたビューへのアクセスを制御します。
METASTORE
ワークスペースにアタッチされている Unity Catalog メタストアへのアクセスを制御します。 メタストアの権限を管理する場合、SQL コマンドにメタストア名を含めないでください。 Unity Catalog は、ワークスペースにアタッチされているメタストアに対する権限を付与または取り消します。
SCHEMA
schema_nameスキーマへのアクセスを制御します。
[ STORAGE | SERVICE ] CREDENTIAL
credential_namecredentialへのアクセスを制御します。
キーワード
STORAGE
とSERVICE
( Databricks Runtime 15.4 以降) は省略可能です。SHARE
share_nameTABLE
table_nameマネージドまたは外部のテーブルへのアクセスを制御します。 テーブルが見つからない場合、Azure Databricks で TABLE_OR_VIEW_NOT_FOUND エラーが発生します。
VIEW
view_nameビューへのアクセスを制御します。 ビューが見つからない場合、Azure Databricks では TABLE_OR_VIEW_NOT_FOUND エラーが生じます。
VOLUME
volume_nameボリュームへのアクセスを制御します。 ボリュームが見つからない場合、Azure Databricks によってエラーが発生します。
特権の種類
特権の種類の一覧については、「Unity Catalog の特権とセキュリティ保護可能なオブジェクト」を参照してください。
例
-- Grant a privilege to the user alf@melmak.et
> GRANT SELECT ON TABLE t TO `alf@melmak.et`;
-- Revoke a privilege from the general public group.
> REVOKE USE SCHEMA ON SCHEMA some_schema FROM `alf@melmak.et`;