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

タグの割り当てを自動化する

備考

ベータ版

この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。

このページでは、Unity Catalog のテーブルおよびボリュームに管理タグを大規模に割り当てるタグ自動化を作成および管理する方法について説明します。管理タグの概要については、「管理タグ」を参照してください。

自動化は、設定した条件によってビジネスルールをエンコードし、一致するアセットに対して管理タグの割り当てまたは削除を行います。自動化を作成した後、データやメタデータが変更されても、Databricks がタグを正確に維持します。

カタログエクスプローラで手動で自動化を作成するか、Genieを使用して自然言語でルールを記述することで自動化を作成できます:

「自動化の作成」ウィザードの「定義」ステップ。列に機密分類タグが付いている場合にテーブルを制限付きとしてタグ付けするルールを記述したプロンプトが入力されており、毎日実行するようにスケジュールされています。

管理者は、次のような幅広いガバナンスワークフローのタグ割り当てを自動化します:

  • 準備基準を満たす信頼できるデータの 認定
  • メンテナンスやクエリーが行われなくなった古いデータの 廃止
  • 上記の例のように、 列の機密性をテーブルレベルの機密性ティアにロールアップ します。
  • 必須タグが欠落しているアセットにフラグを立て 、その所有者に通知します。
  • 適用されなくなった 古いタグのクリーンアップ

自動化では管理タグが使用されるため、割り当てられるすべてのタグは、手動タグ付けを管理するのと同じ許可された値および権限に準拠します。

列内の機密データを自動的に検出してタグ付けするには、代わりにデータ分類を使用してください。すべての自動タグ付け機能を比較するには、手動タグ付けと自動タグ付けを参照してください。

前提条件

自動化を作成する前に、次の項目が揃っていることを確認してください。

  • USE CATALOGUSE SCHEMA、および自動化のスコープ内のカタログに対する APPLY TAG。これらはカタログレベルでチェックされるため、自動化を特定のスキーマに絞り込んでも、必要な権限は減りません。
  • MANAGE 自動化のスコープ内のカタログ上。
  • 自動化によって割り当てまたは削除されるすべての管理タグに対する ASSIGN 権限。
  • 割り当てる管理タグは、許可された値が定義された状態で既に存在している必要があります。管理タグを作成するには、管理タグの作成と管理を参照してください。管理タグの権限の詳細については、管理タグの権限の管理を参照してください。

自動化 tabには、ASSIGN権限を持つタグの自動化のみが一覧表示されます。アカウント管理者はdefaultですべてのタグに対して ASSIGN を保持しており、すべての自動化を確認できます。「管理タグのアクセス許可の管理」を参照してください。

タグの自動化を有効にする

タグのオートメーションは、ほとんどのワークスペースでdefaultで有効になっています。 管理タグ ページに Automations tabが表示されない場合、ワークスペース管理者がプレビューを有効にできます:

  1. ワークスペース管理者として、ワークスペースの上部バーにあるユーザー名をクリックします。
  2. メニューから「 プレビュー 」を選択します。
  3. タグの自動化 プレビューを見つけ、トグル コントロールをオンに切り替えます。 を使用して有効にします。

プレビューの管理の詳細については、ワークスペースレベルのプレビューの管理を参照してください。

注記

プレビュー機能は、コンプライアンス認証の対象外です。コンプライアンス セキュリティ プロファイルが有効になっているワークスペースでは、 タグの自動化 プレビューが プレビュー ページに表示されない場合があります。ご希望のワークスペースでこの機能を有効にするには、Databricks の担当者までご連絡ください。これらのワークスペースで有効にできるプレビューのリストについては、サポートされているプレビュー機能を参照してください。

自動化を作成または編集する

Databricksでは、作成したい自動化を自然言語でGenieに説明し、Genieにルールを構築させることを推奨しています。Genieがスコープ、条件、アクションを設定し、保存前にすべてを確認および調整できます。

  1. カタログエクスプローラーで、 管理タグ ページを開き、 自動化 tabをクリックします。

    管理タグページの [自動化] タブ。自動化の最終ラン、ターゲットアセット、作成者、Trigger、説明、ステータスが一覧表示されます。

  2. [自動化を作成] をクリックします。

  3. プロンプトフィールドで、必要な自動化について記述するか、Genie からの提案から開始します。

  4. Genie が生成した内容を確認し、必要に応じて調整してください。

フォームに自分で記入することもできます:

  1. [Scope] セクションでカタログを選択し、必要に応じて特定のスキーマに絞り込み、自動化の対象がテーブルかボリュームかを選択します。
  2. [Condition] セクションで、 [Match all] または [Match any] を使用して、アセットが一致する必要がある条件を追加します。条件リファレンスを参照してください。
  3. [ アクション ] セクションで [ タグの追加 ] または [ タグの削除 ] を選択し、管理タグのキーと値を選択して、[ 既存の値を上書き ] を選択すると、アセットが既に保持している値を置き換えることができます。ユーザーへの通知を参照してください。
  4. [スケジュールと詳細] ステップに進み、 [手動] を選択してオンデマンドで自動化を実行するか、 [定期的なスケジュール] を選択して自動的に実行します。
  5. 詳細 セクションで、名前と説明を入力し、 ドライラン をクリックします。

新しい自動化を保存すると、それが作成され、ドライランが開始されます。ドライランでは、タグを割り当てることなく、自動化が一致するアセットが記録されます。一致したアセットを確認し、期待どおりでない場合は条件を調整して、 [ドライラン] を再度クリックします。問題がなければ、 [自動化を有効にする] をクリックします。

既存の自動化を編集するには、 [自動化] tabからそれを開き、 [編集] をクリックします。条件、スケジュール、名前、説明は変更できますが、スコープやアクションは変更できません。それらのいずれかを変更するには、新しい自動化を作成してください。

例: 準備基準を満たすテーブルの認定

品質基準を満たすテーブルを認定するには、一致するすべてのテーブルに認定タグを割り当てる自動化を作成します:

  1. [Condition] (条件)で [Match all] (すべて一致)を選択し、準備が完了したテーブルのみが一致するように条件を追加します:

    • 所有者は、本番運用データに対して責任を負うプリンシパル の1つ です。
    • テーブルには説明があります。
    • このテーブルでは、過去30日間に100件を超える読み取りクエリーが実行されました。
  2. [Action] には、値 certified を持つ system.certification_status タグを割り当てます。

例:列の機密性をテーブルレベルの機密性ティアにロールアップする

データ分類によって検出された機密列とテーブルレベルの分類を同期させるには、いずれかの列に機密性タグが付与されたときにテーブルにタグを付ける自動化を作成します。

  1. [Condition][Match any] を選択し、 [Column tag] 条件を追加して、いずれかの列が class.us_driver_licenseclass.us_passportclass.us_ssn、または class.us_itin を保持している場合にテーブルが一致するようにします。
  2. Action については、テーブルレベルの機密性ティアタグに値 restricted を割り当て、 既存の値を上書き を選択して、より低いティアのテーブルが更新されるようにしてください。

使用する各階層に対して、それが必要とする分類タグを一致させ、同様の自動化を構築します。

条件リファレンス

次の表は、 条件 セクションに追加できる条件の一覧です。自動化のスコープがボリュームを対象としている場合、 列タグ やクエリー使用状況の条件など、テーブルにのみ適用される条件は提供されません:

条件

一致するもの

タグ および タグ値

アセット上の既存の管理タグ。アカウント内の管理タグから選択します。

cost_center finance と等しい。すべての class. タグなど、一連のタグキーを一致させるには、 starts with (で始まる) 演算子を使用して、次のように入力します class.

列タグ

アセットの列上の管理タグ。テーブルにのみ適用されます。

いずれかの列が class.email_address を保持している、または class.us_ssn

読み取りクエリー数 および 書き込みクエリー数

過去30日間にアセットに対して実行されたクエリーの数。テーブルにのみ適用されます。

未使用のテーブルを見つけるには読み取りクエリー数が 0 に等しいものを、頻繁に使用されるテーブルを見つけるには 100 より大きいものを探します

最終クエリー時間

アセットが最後にクエリーされてからの日数。テーブルにのみ適用されます。

最終クエリーは90日以上前

作成日 および 最終更新日

アセットが作成または最後に変更されてからの日数。

最終更新から 90 日以上経過、または過去 30 日以内

所有者

is one of (いずれかである)または is not one of (いずれでもない)で選択したプリンシパルと照合される、アセットの所有者。照合は所有者自身に対して行われるため、グループを選択するとそのグループが所有するアセットのみが一致し、そのメンバーが所有するアセットは一致しません。

オーナーはデータプラットフォーム管理者の 1人です

説明

アセットに説明があるかどうかを、 exists (存在する)または does not exist (存在しない)を使用して判断します。

説明が 存在しません (ドキュメント化されていないテーブルにフラグを立てるため)

名前

アセット名に文字列が含まれているかどうかを、 contains (含む)または does not contain (含まない)を使用して指定します。

名前に含まれる文字 _staging

条件

一致するもの

タグ および タグ値

アセット上の既存の管理タグ。アカウント内の管理タグから選択します。

cost_center finance と等しい。すべての class. タグなど、一連のタグキーを一致させるには、 starts with (で始まる) 演算子を使用して、次のように入力します class.

列タグ

アセットの列上の管理タグ。テーブルにのみ適用されます。

いずれかの列が class.email_address を保持している、または class.us_ssn

読み取りクエリー数 および 書き込みクエリー数

過去30日間にアセットに対して実行されたクエリーの数。テーブルにのみ適用されます。

未使用のテーブルを見つけるには読み取りクエリー数が 0 に等しいものを、頻繁に使用されるテーブルを見つけるには 100 より大きいものを探します

最終クエリー時間

アセットが最後にクエリーされてからの日数。テーブルにのみ適用されます。

最終クエリーは90日以上前

作成日 および 最終更新日

アセットが作成または最後に変更されてからの日数。

最終更新から 90 日以上経過、または過去 30 日以内

所有者

is one of (いずれかである)または is not one of (いずれでもない)で選択したプリンシパルと照合される、アセットの所有者。照合は所有者自身に対して行われるため、グループを選択するとそのグループが所有するアセットのみが一致し、そのメンバーが所有するアセットは一致しません。

オーナーはデータプラットフォーム管理者の 1人です

説明

アセットに説明があるかどうかを、 exists (存在する)または does not exist (存在しない)を使用して判断します。

説明が 存在しません (ドキュメント化されていないテーブルにフラグを立てるため)

名前

アセット名に文字列が含まれているかどうかを、 contains (含む)または does not contain (含まない)を使用して指定します。

名前に含まれる文字 _staging

ユーザーに通知する

自動化によってアセットが更新されたときにユーザーに通知するには、 [Action] セクションで [Notify users via email] をオンにしてから、通知先を選択します。

  • アセット所有者 : 一致した各アセットの所有者に通知してください。
  • 特定のユーザー : 一致したアセットの所有者に関係なく、指定したユーザーリストに通知します。これらの受信者は、一致したすべてのアセットを網羅するサマリーを1つ受け取ります。

通知はラン中に変更されたアセットのみを報告するため、ドライランでは通知は送信されません。

ラン履歴を確認する

自動化の詳細ページにあるラン履歴には、ドライランとライブランの両方が含まれます。各ランについて、その状態、 起動 日時、一致した アセット の数、および 期間 を確認できます。ドライランにはマークが付けられているため、タグが割り当てられたランと区別できます。ランをクリックして、一致したアセットを確認します。

自動化を有効または無効にする

自動化の ステータス は、 レビュー待ち または 有効 のいずれかです:

  • レビュー待ち : この自動化では、タグの割り当てや削除は行われません。いつでも好きなだけドライランを実行できます。
  • 有効 : 自動化はスケジュールに従って実行され、一致するアセットに対してタグの割り当てと削除を行います。

自動化を開き、 Enable automation をクリックして有効にするか、 Disable automation をクリックして Pending review に戻します。無効化すると自動化のスケジュールが停止し、手動実行はできなくなりますが、すでに進行中のランは停止しません。有効な自動化をすぐに実行するには、 ラン をクリックします。

制限事項

タグの自動化には、ベータ期間中、次の制限があります:

  • 自動化は、テーブルのみ、またはボリュームのみをターゲットにします。テーブルとボリュームの両方を管理するには、それぞれ個別の自動化を作成してください。
  • 自動化は単一のカタログにスコープされます。複数のカタログやメタストア全体にまたがることはできません。
  • 自動化のスコープは、すべてのテーブルタイプ(MANAGEDEXTERNALVIEWMATERIALIZED_VIEWSTREAMING_TABLE、および FOREIGN)をカバーします。自動化を特定のテーブルタイプにスコープ設定することはできません。
  • 定期的な自動化の結果は、通常 24 時間以内に反映されます。カスタムスケジュールやイベントベースのスケジュールは利用できません。
  • 自動化の作成後は、スコープとアクションを変更することはできません。いずれかを変更するには、新しい自動化を作成してください。
  • 各ランは、最大500個の一致するアセットを処理します。
  • 自動化では、最大 5 つの管理タグを割り当てまたは削除できます。各管理タグは、自動化ごとに 1 回のみ割り当てまたは削除できます。

トラブルシューティング

  • 自動化に一致するアセットはありません。 スコープにアセットを保持するカタログとスキーマが含まれていること、および条件が厳しすぎないことを確認してください。ドライランを使用して、一致をプレビューします。
  • ランが部分的に失敗しました。 一部のアセットにはタグが適用されているが他には適用されていない場合。通常、これは管理タグに対する ASSIGN またはアセットに対する APPLY TAG が不足していることが原因です。ランを開いて各アセットの結果を確認し、権限を修正してから、自動化を再実行してください。
  • ランに時間がかかっています。 スコープが大きくなるほど、完了までに時間がかかります。数時間経過してもランが終了しない場合は、ラン履歴で失敗がないか確認してください。

その他のリソース