Unity Catalog で権限を管理する

この記事では、 Unity Catalogでデータやその他のオブジェクトへのアクセスを制御する方法について説明します。

アクセス制御は、 カタログ エクスプローラー、ノートブックの SQL ステートメント、Databricks SQL クエリー、Unity Catalog REST API、または Terraform を使用して設定できます。

最初は、ユーザーはメタストア内のデータにアクセスできません。アクセスは、メタストア管理者、オブジェクトの所有者、またはオブジェクトが格納されたカタログまたはスキーマの所有者のいずれかが許可できます。

管理者権限

Databricks アカウント管理者、ワークスペース管理者、メタストア管理者には、Unity Catalog を管理するための既定の特権があります。 「 Unity Catalog の管理者特権」を参照してください。

オブジェクトの所有権

Unity Catalog 内のすべてのセキュリティ保護可能なオブジェクトには所有者があります。オブジェクト所有者は、他のプリンシパルに特権を付与する機能を含め、そのオブジェクトに対するすべての特権を持ちます。 「 Unity Catalog オブジェクトの所有権の管理」を参照してください。

Unity Catalog 特権

アクセス権限は、メタストア管理者、オブジェクトの所有者、またはオブジェクトを含むカタログまたはスキーマの所有者のいずれかが付与できます。 Unity Catalog 権限とセキュリティ保護可能なオブジェクトを参照してください。

特権の継承

Unity Catalog 内のセキュリティ保護可能なオブジェクトは階層構造であり、特権は下位に継承されます。つまり、カタログに対する特権を付与すると、カタログ内の現在および将来のすべてのオブジェクトに特権が自動的に付与されます。 同様に、スキーマに付与された権限は、そのスキーマ内の現在および将来のすべてのオブジェクトに継承されます。 継承モデルを参照してください。

パブリック プレビュー中 (2022 年 8 月 25 日より前) に Unity Catalog メタストアを作成した場合は、特権の継承を使用して特権モデル バージョン 1.0 にアップグレードできます。 特権継承へのアップグレードを参照してください。

基本オブジェクト権限

Unity Catalog では、カタログ、スキーマ、表、ビュー、および関数に対する特権を管理するための SQL キーワード SHOWGRANT、および REVOKE がサポートされています。

オブジェクトの所有者またはメタストア管理者は、オブジェクトのすべての許可を一覧表示できます。 オブジェクトがカタログまたはスキーマ (表やビューなど) 内に含まれている場合、カタログまたはスキーマの所有者は、オブジェクトに対するすべての許可をリストすることもできます。

この構文の例については、SQL リファレンス ドキュメントを参照してください。

「カタログエクスプローラ」(Catalog Explorer) には、これらのアクションを完了するための UI が用意されています。「 カタログ エクスプローラーでの Unity Catalog のアクセス許可の管理」を参照してください。

オーナー権限の 譲渡

メタストア内のオブジェクトの所有権を譲渡するには、SQL またはカタログ エクスプローラを使用できます。 「Unity Catalog オブジェクトの所有権を管理する」または「 カタログ エクスプローラーで Unity Catalog オブジェクトの所有権を管理する 」を参照してください。

外部ロケーションとストレージの資格情報の管理

カタログ エクスプローラーを使用して、Unity Catalog の外部ロケーションとストレージの資格情報を構成できます。 詳細については、「 ストレージ資格情報 の管理」および「 外部ロケーションの管理」を参照してください。

ダイナミックビュー

動的ビューを使用すると、値をフィルタリングまたはマスクすることで、ビューの行、列、または特定のレコードにアクセスできるユーザーを管理できます。 ダイナミック ビューの作成を参照してください。