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

タグのプロパゲーション

備考

ベータ版

この機能はベータ版です。使用するには、ワークスペース管理者が タグのプロパゲーション を プレビュー ページから有効にする必要があります。Databricksのプレビューを管理するを参照してください。

このページでは、タグの伝播について説明します。タグの伝播では、タグ付けされたソースから派生したテーブルやビューに、サポートされている操作を通じて管理タグが自動的に適用されます。管理タグの概要については、管理タグを参照してください。タグの伝播を有効にする方法については、タグの伝播を有効にするを参照してください。

タグの伝播とは何ですか?​

タグの伝播では、ソーステーブルまたは列の管理タグが、そのソースから作成する新しいテーブルやビューにコピーされます。サポートされている操作(CREATE TABLE AS SELECTなど)を実行すると、Databricksはリネージからソースオブジェクトを特定し、その管理タグを、操作によって作成または更新されるオブジェクトに適用します。

たとえば、ソース列に値がssnのpiiタグが付いていて、その列を基にCREATE TABLE AS SELECTを使用してテーブルを作成すると、プロパゲーションによって新しいテーブルの対応する列に同じpiiタグが適用されます。

データが下流に移動する際に管理タグの一貫性を保つため、新しいテーブルやビューを手動で個別にタグ付けする必要はありません。これは属性ベースのアクセス制御(ABAC)で特に重要です。タグが派生列に伝播すると、そのタグに一致する既存のABACポリシー(列マスクなど)が、事前に誰かがタグ付けしなくても派生データに適用されます。

伝播は、システムタグを含む管理タグにのみ適用されます。また、有効にするには、管理タグごとに個別に設定します。

タグの伝播を使用する理由は?​

タグ付けされたソースから新しいテーブルまたはビューを作成しても、ソースの管理タグは自動的に引き継がれません。プロパゲーションがない場合、派生オブジェクトごとに手動で再度タグ付けする必要があり、タグのdriftが発生し、ソースの列をマスクするABACポリシーが下流の同じデータに適用されない可能性があります。

タグのプロパゲーションでは、データとともに管理タグが移動するため、次のことができます:

  • ソースに一度タグを付けます。 Databricksは、ソースの管理タグをテーブルと、そこから派生したビューに適用します。
  • 派生データにABACポリシーを自動的に適用します。 管理タグが派生列にプロパゲーションされると、そのタグに一致する既存のABACポリシーが、派生列に先にタグ付けしなくても直ちに適用されます。

タグの伝播の仕組み​

管理タグのプロパゲーションを有効にすると、Databricksは、1つ以上のソースから対象オブジェクトを派生または更新するサポートされている操作を検出するたびに、そのタグをプロパゲーションします。プロパゲーションとは:

  • タグごと。 defaultではタグのプロパゲーションはオフで、各管理タグで個別に有効化されます。タグのプロパゲーションを有効にするを参照してください。
  • リネージベース。 タグは、サポートされている操作について記録されたリネージに従い、テーブルレベルと列レベルの両方で伝播します。
  • システム操作。 タグのプロパゲーションが有効になると、Databricksはそのタグを自動的に伝播します。操作を実行するユーザーが派生オブジェクトまたは管理タグに対して持つ権限には依存しません。
  • 非同期。 プロパゲーションはバックグラウンドで実行され、クエリーの実行を妨げません。操作の完了後すぐに実行されるため、通常、プロパゲーションされたタグは数分以内に派生オブジェクトに表示されます。

サポートされている操作​

タグの伝播は、Serverlessコンピュートで次のいずれかの操作を実行した場合に適用されます:

  • CREATE TABLE AS SELECT (CTAS)
  • CLONE (テーブルレベルのタグのみ)
  • CREATE VIEW、 ALTER VIEW 、および CREATE OR REPLACE VIEW
  • INSERT INTO ... SELECT
  • MERGE

管理タグはテーブルレベルと列レベルの両方でプロパゲーションされます:

  • ソーステーブルのテーブルレベルのタグは、派生テーブルまたはビューに伝播します。ソーステーブルに複数の管理タグが付いている場合、派生オブジェクトはそれらすべてを受け取ります。
  • 列レベルのタグは、対応する派生列に伝播します。たとえば、ソース列に値ssnのpiiタグが付いている場合、新しいテーブル内の一致する列にも同じタグが伝播します。

競合の解決​

ターゲットに同じ管理タグキーが複数の値で適用される場合、競合が発生します。これは、複数のソースが同じタグキーを異なる値で持つ場合、またはターゲットにそのタグキーがすでに異なる値で割り当てられている場合に発生します。

たとえば、2つのソーステーブルに異なる値の sensitivity_level がある場合、Databricks は派生テーブルへの伝播を競合として扱います。

競合が発生した場合、Databricksはタグの defaultのプロパゲーション値 を適用します。管理タグに対するMANAGEを持つユーザーは、プロパゲーションを有効にするときにこの値を設定します。これにより、最も制限の厳しい機密性レベルを常に適用するなど、組織で確定的な動作を定義できます。タグのプロパゲーションを有効にするを参照してください。

プロパゲーションの可視性​

伝播されたタグは、Catalog Explorer の Unity Catalog オブジェクト上で、直接割り当てられたタグと並んで表示されます。各タグの割り当てについて、タグがどのように適用されたかを確認できるため、伝播されたタグと、次の方法で適用されたタグを区別できます:

  • 直接割り当て済み
  • 継承
  • 自動化(データ分類など)によって適用されます

権限​

タグのプロパゲーションでは、既存の管理タグのアクセス許可モデルが使用され、新しいアクセス許可は導入されません。

権限

プロパゲーションにおける役割

MANAGE 管理タグに対して

タグの伝播を有効または無効にし、タグのdefaultの伝播値を設定します。アカウントレベルでのMANAGEにより、アカウント内のすべての管理タグに対してこの権限が付与されます。

ASSIGN 管理タグに対して

必須ではありません。プロパゲーションはシステム操作であり、その操作を実行するユーザーがASSIGNを持っているかどうかには依存しません。

権限

プロパゲーションにおける役割

MANAGE 管理タグに対して

タグの伝播を有効または無効にし、タグのdefaultの伝播値を設定します。アカウントレベルでのMANAGEにより、アカウント内のすべての管理タグに対してこの権限が付与されます。

ASSIGN 管理タグに対して

必須ではありません。プロパゲーションはシステム操作であり、その操作を実行するユーザーがASSIGNを持っているかどうかには依存しません。

アカウント管理者は、defaultで、すべての管理タグに対する MANAGE と ASSIGN を持ちます。「管理タグのアクセス許可を管理する」を参照してください。

プロパゲーションされたタグの表示に、プロパゲーション専用の権限は必要ありません。プロパゲーションされたタグはオブジェクトのメタデータの一部であるため、BROWSE、SELECT、READ METADATAなど、オブジェクトのタグを表示できる権限があれば、プロパゲーションされたタグも表示されます。Unity Catalog の権限リファレンスを参照してください。

要件​

管理タグのタグプロパゲーションを有効にする​

管理タグのプロパゲーションを有効にするには、そのタグに対するMANAGEが必要です。プロパゲーションはタグごとに設定するため、プロパゲーションする各管理タグについてこれらのステップを繰り返してください。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。

  2. シールドアイコン。 ガバナンス ボタンをクリックします。

  3. ドロップダウンメニューで、 管理タグ をクリックします。

  4. プロパゲーションする管理タグを選択してください。

  5. 構成 をクリックすると、 タグのプロパゲーションを設定 ダイアログが開きます。

  6. タグのプロパゲーション トグルをオンにします。

  7. 許可された値があるタグの場合は、 Defaultのプロパゲーション値 を選択します。プロパゲーションによって競合が発生した場合、Databricks はこの値を適用します。

    タグの許可された値を示す、タグのプロパゲーションがオンになっており、「default」のプロパゲーション値のドロップダウンが開いた状態の「タグのプロパゲーションを設定」ダイアログ。

  8. 保存 をクリックします。

注記

プロパゲーションは非同期ですが、操作の完了後すぐにランするため、通常、派生オブジェクトにタグが表示されるまでの遅延はごくわずかです。この短い間、プロパゲーションされたタグを参照するABACポリシーは、タグが表示されるまで派生オブジェクトに適用されません。

制限事項​

タグの伝播には、次の制限事項があります:

  • 伝播は非同期で行われます。操作の完了後すぐに実行されるため、伝播されたタグは通常数分以内に表示されます。ただし、伝播されたタグを参照する ABAC ポリシーは、そのタグが表示されるまで派生オブジェクトに適用されません。
  • プロパゲーションはServerlessコンピュートでのみサポートされています。Classic コンピュートはサポートされていません。
  • システムタグを含め、管理タグのみがプロパゲーションされます。カスタムの未管理タグはプロパゲーションされません。
  • プロパゲーションは、テーブルのセキュリティ保護可能オブジェクトの種類でのみサポートされます。これには、テーブルレベルおよび列レベルのタグが含まれます。Unity Catalog ボリュームおよびその他のセキュリティ保護可能オブジェクトはサポートされていません。
  • Lakeflow宣言型パイプラインによって作成されたストリーミングテーブルまたはマテリアライズドビューへの伝播はサポートされていません。
  • 1つのオブジェクトに設定できるタグは、伝播されたタグを含めて最大50個です。伝播によってこの上限を超えることはありません。

その他のリソース​