メインコンテンツまでスキップ

Unity Catalogにおける属性ベースのアクセス制御

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

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

ABACは、行フィルタポリシー列マスクポリシーを通じて、行レベルおよび列レベルのセキュリティもサポートしています。サポートされているセキュリティ保護可能なオブジェクトタイプは、テーブル、マテリアライズドビュー、およびストリーミングテーブルです。

以下のトピックは、Unity Catalog で ABAC を使い始めるのに役立ちます。

トピック

説明

属性ベースアクセス制御(ABAC)の基本概念

管理タグ、ポリシー、UDF、ポリシーのスコープ、タグの継承、クエリ時にポリシーがどのように評価され適用されるかについて説明します。

ABACポリシーの作成と管理

カタログ エクスプローラー、 SQL 、およびREST APIsを使用して ABAC ポリシーを作成、編集、表示、および削除する方法。

ポリシーの評価とランタイムの動作

ポリシーの評価と施行の内部構造、およびタグおよびポリシー操作の監査ログ。

行フィルタリングと列マスキングの一般的なパターン

行フィルタリングと列マスキングのための再利用可能なパターン。これには、複数型マスキングと構造体列の編集のためのVARIANTベースのUDFが含まれます。

ABAC ポリシーのベスト プラクティス

ポリシーの範囲、タグ分類体系の設計、およびポリシー管理に関する推奨事項。

ABAC ポリシーのパフォーマンスに関する考慮事項

ABACのパフォーマンス特性UDF複雑さ、述語プッシュダウン、クエリ最適化など。

ABACとテーブルレベルの行フィルターおよび列マスクの使い分け

ABACとテーブルレベルの行フィルターおよび列マスクのどちらを選択するか スコープ、所有権、およびオーバーライド動作の違いを含めて。

ABACの要件、割り当て、および制限

コンピュート要件、ポリシー クォータ、およびビューのサポートや競合解決を含む現在の ABAC 制限。