特権継承にアップグレードする

パブリック プレビュー中 (2022 年 8 月 25 日より前) に Unity Catalog メタストアを作成した場合は、Privilege Model バージョン 1.0 にアップグレードすると、 特権継承を利用できます。 既存のワークロードは、特権モデルをアップグレードするまで引き続き動作します。 Databricks では、特権継承と新機能の利点を得るために、Privilege Model バージョン 1.0 にアップグレードすることをお勧めします。

Privilege Model バージョン 1.0 の相違点

Unity Catalog の Privilege Model v1.0 は、パブリック プレビュー特権モデルと次の点が異なります。

  • 特権継承: Privilege Model v1.0 では、セキュリティ保護可能な子オブジェクトに特権が継承されます。 つまり、カタログに権限を付与すると、カタログ内のすべての現在および将来のオブジェクトに権限が自動的に付与されます。 同様に、スキーマに付与された特権は、そのスキーマ内の現在および将来のすべてのオブジェクトに継承されます。 プレビュー モデルでは、セキュリティ保護可能な子オブジェクトに権限は継承されません。 特権継承の詳細については、「継承モデル」を参照してください。

  • ALL PRIVILEGES が異なる方法で評価されます。パブリック プレビュー特権モデルでは、特権付与時に ALL PRIVILEGES からプリンシパルに使用可能なすべての特権が付与されます。 Privilege Model v1.0 では、アクセス許可のチェックが行われた時点で、ALL PRIVILEGES アクセス許可が使用可能なすべての特権に拡張されます。

    Privilege Model v1.0 では、ALL PRIVILEGES が取り消された場合、ALL PRIVILEGES 特権自体のみが取り消されます。 ユーザーは、個別に付与されたその他の特権を保持します。

  • CREATE TABLECREATE EXTERNAL TABLE に更新されました。外部テーブルの作成に必要な外部の場所またはストレージの資格情報に、CREATE TABLE アクセス許可が適用されなくなりました。 Privilege Model v1.0 では代わりに、ユーザーが外部の場所またはストレージの資格情報を使用して外部テーブルを作成できるように、その外部の場所とストレージの資格情報に CREATE EXTERNAL TABLE 特権が付与されます。

  • CREATE が削除されました。CREATE アクセス許可が削除され、より具体的な特権 (CREATE CATALOGCREATE EXTERNAL LOCATIONCREATE FUNCTIONCREATE SCHEMACREATE TABLECREATE MANAGED STORAGE) で置き換えられます。

  • USAGE が削除されました。USAGE アクセス許可が削除され、より具体的な特権 (USE CATALOGUSE SCHEMA) で置き換えられます。

Privilege Model 1.0 にアップグレードする

警告

この操作を元に戻すことはできません。

  1. Databricks Runtime 11.3 LTS 以降を使用するために、Unity Catalog を参照するすべてのワークロードをアップグレードします。

    Databricks Runtime 11.3 LTS 以降を使用するためにすべてのクラスターをアップグレードし、実行中の SQL ウェアハウスを再起動する必要があります。 この手順をスキップすると、アップグレードの完了後に、以前のバージョンの Databricks Runtime のワークロードが拒否されます。

  2. アカウント管理者として、アカウント コンソールにログインします。

  3. Catalog iconカタログ をクリックします。

  4. メタストアの名前をクリックします。

  5. [特権モデル][アップグレード] をクリックします。

  6. [アップグレード] をクリックします。

アップグレードするオプションが表示されない場合は、既に Unity Catalog メタストアで Privilege Model 1.0 が使用されています。

SQL コマンドをアップグレードする (省略可能)

Databricks では引き続き、以前の特権モデルを使用して表現された付与がサポートされ、それらが Privilege Model v1.0 の同等の付与に自動的にマップされます。 ただし、SHOW GRANTS または information_schema データから返される特権では引き続き Privilege Model v1.0 が参照されます。 Databricks では、更新された特権モデルを参照するために許可を実行する既存のコードをアップグレードすることをお勧めします。

  • 外部の場所またはストレージの資格情報に対する CREATE TABLE 特権を CREATE EXTERNAL TABLE 特権に置き換えます。
  • CREATE アクセス許可を特定の特権 (CREATE CATALOGCREATE EXTERNAL LOCATIONCREATE FUNCTIONCREATE SCHEMA、または CREATE TABLE) に置き換えます。
  • USAGE アクセス許可を特定の特権 (USE CATALOG または USE SCHEMA) に置き換えます。

Unity Catalog 特権モデルの詳細については、「Unity カタログの特権とセキュリティ保護可能なオブジェクト」を参照してください。