高粒度なDML特権
ベータ版
この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。
高粒度なDML特権である INSERT、UPDATE、および DELETE は、Unity Catalog テーブルにおける MODIFY の最小特権の代替手段です。テーブルのデータは変更する必要があるものの、テーブルのスキーマやその他のメタデータは変更すべきではないプリンシパルに対して、それらを付与します。
これらの特権のいずれかを行使するには、プリンシパルは以下の特権も持っている必要があります。
SELECTテーブル上USE SCHEMA親スキーマ上USE CATALOG親カタログ上
特権の継承により、カタログまたはスキーマに対して INSERT、UPDATE、または DELETE を付与すると、それらに含まれる現在および将来のすべてのテーブルに対して自動的に特権が付与されます。
コンピュートの要件
きめ細かなDML権限には、Databricks Runtime 18.1以降が必要です。これらは、Serverlessコンピュート、SQLウェアハウス、および標準アクセスモードのクラシックコンピュートでサポートされています。これらは、専用アクセスモードのコンピュートではサポートされていません。サポートされていないコンピュートでは、代わりに MODIFY を使用してください。
Databricks Runtime 18 は、Databricks Runtime 18.0、18.1、および 18.2 よりも新しいバージョンです。以前は後の番号付きバージョンとしてリリースされていた機能が、今後は Databricks Runtime 18 への日付付きアップデートとしてリリースされるようになります。詳細については、統合リリースノートについてを参照してください。
MODIFY との関係
MODIFY は複合特権であり、INSERT、UPDATE、および DELETE はその子特権です。MODIFY はテーブルのデータへの完全な書き込みアクセス権を付与しますが、各詳細な DML 特権はそのアクセス権のサブセットを付与するため、完全な MODIFY 特権を付与することなく、特定のデータ変更操作を委任できます。
複合権限と子権限は個別に付与および取り消されます。MODIFY を付与しても INSERT、UPDATE、または DELETE は付与されず、MODIFY を取り消しても、明示的に付与されたそれらの権限は取り消されません。詳細については、「複合権限および子権限」を参照してください。
操作と必要な特権
INSERT、UPDATE、および DELETE の権限で、ほとんどの DML 操作をカバーします。その他の操作では、引き続き MODIFY が必要です。
次の表に、一般的な操作がどのようにきめ細かな DML 権限にマッピングされるかを示します。これは包括的なリストではありません。
オペレーション | 必要な権限 |
|---|---|
|
|
|
|
|
|
動的パーティションの上書き |
|
|
|
|
|
|
|
|
|
スキーマ変更を伴う |
|
|
|
|
|
制限事項
INSERT、UPDATE、およびDELETEは、テーブルベースのアクセスでのみサポートされます。外部テーブルへのパスベースのアクセスには、MODIFY特権の使用が必要です。