Unity カタログでの属性ベースのアクセス制御

属性ベースのアクセス制御 (ABAC) は、セキュリティ保護可能なオブジェクトに関連付けられている属性を評価することによってアクセスが決定される Unity カタログのアクセス制御モデルです。 これらの属性は、 管理タグを使用して表され、 ポリシー が保護する必要があるデータを識別するためにポリシー条件で使用されます。

ポリシーは 、メタストア(ベータ)、カタログ、スキーマ、テーブルなどのUnity Catalog階層のレベルに付随し、動的に評価されます。 セキュア可能なオブジェクトにポリシーが対象となる属性を持つ場合、そのポリシーは自動的に発効するため、単一のポリシーでメタストア、カタログ、スキーマ全体にわたって一貫したアクセスルールを強制できます。

ABACは、テーブル上の 行フィルターポリシー および カラムマスクポリシー を通じて、行レベルおよびカラムレベルのセキュリティをサポートしています。 ABACはまた、 GRANT ポリシー を通じた動的特権付与や、サポートされているセキュラブルタイプに対する DENY ポリシー (ベータ版)による明示的な特権拒否もサポートしています。

次のトピックは、Unity カタログでの ABAC の使用を開始する際に役立ちます。

トピック Description
属性ベースのアクセス制御 (ABAC) の中心概念 管理タグ、ポリシー、UDF、ポリシー スコープ、タグの継承、およびクエリ時のポリシーの評価と適用方法について説明します。
行フィルターポリシーと列マスク ポリシーを作成および管理する カタログ エクスプローラー、SQL、REST API を使用して行フィルターポリシーと列マスク ポリシーを作成、編集、表示、削除する方法。
メタストアレベルのABACポリシー(ベータ版) メタストアレベル(ベータ版)でポリシーを付与する方法で、メタストア内のすべてのカタログに単一のポリシーを適用する方法。
ABAC GRANT 政策 サポートされているセキュアラブルタイプに対する動的特権付与のための GRANT ポリシーの作成と管理方法。
ABAC DENY ポリシー(ベータ版) サポートされているセキュラブルタイプに対してMANAGE ACCESS CONTROL権限を拒否するDENYポリシー(ベータ版)の作成と管理方法。
行フィルターと列マスク ポリシーの評価と実行時の動作 ポリシーの評価と適用の内部メカニズム、およびタグとポリシー操作の監査ログ。
行フィルター処理と列マスクの一般的なパターン 行フィルタおよび列マスキング向けの再利用可能なパターン(ID 属性を使用した列マスキング、リクエスト コンテキストに基づくマスキング、複数型のマスキングのための VARIANT ベースの UDF を含む)
ABAC ポリシーのベスト プラクティス ポリシー スコープ、タグ分類の設計、およびポリシー管理に関する推奨事項。
行フィルターポリシーと列マスク ポリシーのパフォーマンスに関する考慮事項 UDF の複雑さ、述語のプッシュダウン、クエリの最適化など、ABAC ポリシーのパフォーマンス特性。
ABAC とテーブル レベルの行フィルターと列マスクを使用する場合 ABAC ポリシーとテーブル レベルの行フィルターと列マスク (スコープ、所有権、オーバーライド動作の違いなど) を選択する方法。
行フィルターポリシーと列マスク ポリシーの要件、クォータ、制限事項 コンピューティング要件、ポリシーのクォータ、そして現在の ABAC 制限 (ビュー サポートおよび競合の解決を含む)。