データとAI資産のガバナンスのためのDatabricksにおけるタグ活用の入門書

[A Primer on Leveraging Tags in Databricks for Data\.\.\. \- Databricks Community \- 119908](https://community.databricks.com/t5/technical-blog/a-primer-on-leveraging-tags-in-databricks-for-data-ai-asset/ba-p/119908)の翻訳です。

:::note warn
本書は著者が手動で翻訳したものであり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

Databricksにおいて、シンプルなキー/バリューのメタデータであるタグは長い間リソースの整理や管理に用いられてきました。Unity Catalogを用いることで、**属性ベースのアクセス制御(ABAC)** と自動データ分類を通じたスケーラブルなガバナンスを可能とする**タグポリシー**によって管理される、**ガバナンスタグ**が導入されました。

さらに推し進めることで、タグポリシーは単一のフレームワークで管理される、あるいは管理されないタグを統合し、資産の検索や発見において一貫性のある体験を提供します。これを完全に活用するために、明確な**タグ管理戦略**を打ち立てることをお勧めします。これによって、データスチュワードは標準化されたガバナンスの用語を維持しつつも、データ実践者には発見と分析のために資産にタグづけを行う柔軟性を提供します。適切に設計されたタグづけ戦略は、あなたの組織における共通言語を醸成し、ガバナンス、使いやすさ、コラボレーションを改善します。

# Databricksにおけるタグの進化: コスト配分からガバナンスへ

![](https://community.databricks.com/t5/image/serverpage/image-id/17266i24052834F770B5E5/image-dimensions/861x290?v=v2)

Databricksにおけるタグづけは、**コスト配分**のための基本的なツールから資産の**ガバナンス**や**発見可能性**におけるコアコンポーネントに進化しました。当初は計算資源の追跡やインフラストラクチャコストの管理に用いられていましたが、タグづけは、よりきめ細かい制御のためにクラスターポリシーやサーバレス予算ポリシーも拡張されました。プラットフォームが成長するにつれて、タグもまた資産の発見において重要になりました。ガバナンスの課題に対応するため、Databricksは権限管理を簡素化するためにタグを用いた属性ベースのアクセス制御(**ABAC**)を導入しました。

さらに、Databricksはそのタグづけシステムを統合しようと考えており、コスト追跡、発見、アクセス制御のための一貫性があり、スケーラブルなフレームワークを作成しようとしています。この統合されたタグづけアプローチによって、組織はモデル、ダッシュボード、データセットのような*さまざまな資産において一貫性のあるメタデータ*を維持し、**オペレーションに対する洞察**と**コンプライアンス**の両方を円滑にします。アカウントレベルにおけるタグポリシーは、さらにガバナンスを標準化し、管理のオーバーヘッドとリスクを削減します。タギングはDatabricks管理において重要なものであり、チームが動的でスケーラブルなアクセス制御やコスト管理戦略の実装ができるように支援を行います。最終的には、この進化はモダンデータプラットフォームにおける**メタデータ駆動**のオペレーションに向けた広範なシフトを反映したものとなります。はじめに、Unity CatalogのデータとAI資産に存在するタグのタイプを明確にしましょう。

| 機能 | 権限セット | 用途 | 適用範囲 |
|:--|:--|:--|:--|
| 通常のタグ  | APPLY TAG  | Unity Catalogのセキュリティ保護可能オブジェクトにプリンシパルがタグを追加することを許可。  | 所有者、APPLY TAGを保持  |
| タグポリシー  | CREATE  | プリンシパルにタグポリシー作成を許可。  | アカウント  |
| タグポリシー  | MANAGE  | <ul><li>プリンシパルにタグポリシー編集を許可<li>タグポリシーによって管理されるタグを適用することをプリンシパルに許可<li>プリンシパルにタグポリシー削除を許可</ul>  | 個々のタグポリシーあるいはアカウント  |
| タグポリシー  |  ASSIGN |タグポリシーによって管理されるタグを適用することをプリンシパルに許可   | 個々のタグポリシーあるいはアカウント  |

**タグポリシー**(ガバナンスタグ)と**通常のタグ**は共存します。タグポリシーによって管理されるタグは、タグの標準を設定し、権限を強制し、ABACで用いられるタグを設定するために活用できます。一方で、非ガバナンスタグ(ungoverned tags)は、データおよびAIチームに対して、すべてのデータおよびAI資産を対象とした検索や発見を支援するドメイン固有のタグを自由に導入する柔軟性を提供します。
![](https://community.databricks.com/t5/image/serverpage/image-id/17268iA88280DA02C71D19/image-dimensions/745x482?v=v2)

# ユースケース

効果的なタグ戦略はデータ実践者とデータスチュワードの両方を支援します。
![](https://community.databricks.com/t5/image/serverpage/image-id/17267i473EFD565BE7EB5A/image-dimensions/635x401?v=v2)

## データ実践者のユースケース

**機能: 発見、検索、フィルタリング**

**シナリオ:** *domain:portfolio-management*に属する**ポートフォリオマネージャ**として、私のリサーチに必要な資産をより簡単に特定できるように、金融資産に関係する適切なデータセット、ダッシュボード、モデルを容易にブラウズしたいと考えています。個人的あるいはチームベースの分類をマークするために、ユーザーは非ガバナンスタグを活用でき、*domain:portfolio-management*のような公式の企業レベルのタグを設定するためにガバナンスタグを活用することができます。理想的には、管理者やスチュワードは、これらの資産を一目でより発見できるようにするために、*認証済み*としてテーブルやダッシュボードなどを信頼される資産にマークすることができます。

**方法:** すべてのユーザーが資産を発見できるように、**BROWSE**がカタログレベルで自動的に設定されます。グローバルサーチによって、タグのキー/バリューを用いて、名前/タグ/メタデータを通じて**すべての資産**を検索することができます。例: `tag:tag_key`や`tag:tag_key:tag_value` - 現時点では、UCのマネージドテーブル、ビュー、モデルがキーのみで検索可能ですが、まもなくバリューによる検索もサポートされます。

**機能: 自動化、モニタリング、リソースの整理**

**シナリオ:** **数理系エンジニア**として、私はMLとビジネスチームが利用できるように生データをキュレーションされ、タグづけされたテーブルに変換する高信頼かつスケジュールされたパイプラインを構築する必要があります。**domain**や**team**のようなタグは、観測ダッシュボードやターゲティングされたアラートを強化し、パイプラインの健康状態の監視やインパクトを受けるダッシュボードやアラートの失敗の追跡を容易にします。データの新鮮度や完全性に関する追加の属性によって、信頼できる分析のためにデータセットが品質標準を満たすことを確実にします。

**方法:** 発見のためのタグに加え、分析に利用可能であることを指し示すために、ゴールドテーブルにDatabricksのシステムタグである*認証済み*を適用します。発見タグの例には - Domain: wealth management  Team1: Investment specialists  Team2: Tax Advisorsといったものがあります。

異常検知のためのメタデータ(**新鮮度と完全性**)は、テーブルから抽出してダッシュボードに表示可能です。将来的には、データ品質ルールや健康状態のインジケータが追加の自動化された洞察を提供します。

**機能: データ品質、データ分類**

**シナリオ:** 予測モデルを構築する**アクチュアリー**として、使用しているデータが高品質かつ機微な個人情報が含まれていないことを確実にする必要があります。*class.name*を含む特定の*分類タグ*は、検知された機微なカラムを自動で通知し、除外するためのフラグづけの助けになります。これは、コンプライアンスをサポートし、バイアスを削減し、倫理的なモデル開発を促進します。

**方法:** データサイエンティストが安全に適切なデータにアクセスし、class.nameとタグづけられたカラムのような機微情報を制限、検閲できるようにするためにclass.nameのようなタグを参照するABACポリシーを適用します。

**機能: 配分、使用量/コスト**

**シナリオ:** チーフアーキテクトとして、私は共有環境においてアクチュアリー、引受審査担当者、投資マネージャーのようなチームがどのようにコラボレーションしているのか、どのリソースが使用されているのかに関する可視性を必要としています。

パイプライン、クラスター、ジョブに対するタグによって、ユーザーやチームごとのコスト配分が可能となり、使用率を最適化する助けとなります。リネージと監査ログによって、ユーザーパターンを明らかにしつつも、認証済みや非推奨タグによって、信頼できるデータセットや古くなったデータセットを明確にする助けとなります。まとめると、このタグづけおよび観測可能性のフレームワークは、大規模なガバナンス、説明責任、効率的なプラットフォーム管理をサポートします。

**方法:** 

- ジョブ追跡、チーム配分のためにユーザー定義タグを使います。
- サーバレスワークロードには予算ポリシーを提供します。
- ライフサイクルのステータスを示すために、認証済み、非推奨システムタグを使用します。
- データセットを削除する前に、システムテーブルの時間経過(過去90日など)を通じてアクセスを監査します。

## データスチュワードのユースケース

**機能: タグ管理**

- **Creator:** 関連づけるキーと許容されるバリューで新規のタグポリシーを定義します。Creatorはすべてのタグポリシーに関連づけられる権限を管理することができます。
- **Manager:** バリューの更新や特定のタグポリシーに関連づけられる権限の管理を含む、タグポリシーのライフサイクルに責任を持ちます。
- **Assignee:** アクセスが許可されている場合、UC資産にガバナンスタグを適用することができます。

非ガバナンスタグを割り当てるには、ユーザーはアセットのオーナーあるいはAPPLY TAG権限を持っている必要があります。

**方法:** データスチュワードと管理者は、プラットフォーム全体における一貫性を確実にするために、連携してタグポリシーを定義します。

**例:** 

- **Domain:** retail, investment, asset
- **UseCase:** fraud, risk, churn, CLV
- **sensitivity_level:** public, restricted, confidential

新たなドメインやユースケースが導入された場合、**Manager**がポリシーで許可される値を更新します。

**機能: ABAC + データ分類を通じたガバナンス**

**シナリオ:** カタログでデータ分類が有効化されると、Databricksは分類タグを用いて自動でセンシティブなデータを検知、分類します。スチュワードや管理者がそれらのタグの一つを参照するABACポリシーを適用している場合、このカタログに追加のテーブルが取り込まれると、UCはデータがデフォルトで保護されるようにします。

**方法:** データスチュワードは特定のカタログでデータ分類を有効化し、センシティブなデータがフィルタリング、マスキングされるようにカタログレベルでABACポリシーを作成します。

# Unity Catalogオブジェクトに対するタグのCUJ(クリティカル・ユーザー・ジャーニー)

**クラウドプロバイダー**(AWS、Azure、GCPなど)は、Unity Catalogの資産に対するきめ細かいガバナンスでは不十分となる粗い粒度の権限のタグを提供しています。**エンタープライズカタログ**(Collibra、Alationなど)はタグをサポートしていますが、構造化データに限定されています。一方、Databricksではほとんどの資産(コンピュート、ワークフロー、Unity Catalogセキュリティ保護可能オブジェクト、ダッシュボードなど)に対するタグづけを可能にしています。また、**Unity Catalog**はフェデレーションされたデータソースもサポートしており、Databricksプラットフォームの外にあるデータやワークロードに対してガバナンスや配分を拡張するためにタグを活用することができます。

| CUJ | 説明 |
|:--|:--|
| タグの定義  |  <ul><li>組織は特にガバナンスタグにオバアイには、アカウントレベルでタグポリシーや定義を集中管理すべきです。<li>LoBはクラスター、ジョブ、ワークフローのようなワークスペースの資産に関する追加のタグポリシーを記述することができます。</ul>注意: UCを用いることで、データ/AI資産は複数のワークスペースから利用できるようになるので、命名規則を十分検討してください。 |
| タグポリシー権限の付与  |  特定の領域に適したタグポリシーを作成できる、ドメイン/BU/LoB固有のデータスチュワードを定義し、パワーユーザーに委任します。 |
| UCオブジェクトへのタグの割り当て  | Unity Catalogは、カタログ、スキーマ、テーブル、ビュー、カラム、モデル、ボリュームのようなセキュリティ保護可能オブジェクトに対する(タグポリシーによって強制される)ガバナンスタグと非ガバナンスタグの両方の割り当てをサポートしています。ユーザーは、これらのオブジェクトにタグを適用するための適切なAPPLY TAGとASSIGN TAG POLICY権限が必要となります。  |
|  タグ/バリューの検索: UCのエクスプローラ |  すべてのユーザーは、タグ、バリュー、メタデータによってすべての資産を検索可能(グローバルサーチ)になっているべきです。 |

# 次に来るのは

## プレビュー

| 機能 | 説明 | ドキュメント/オンボーディング |
|:--|:--|:--|
|  データ分類(システムタグ) |　<ul><li>PII検知<ul>  |  ベータ、[AWS](https://docs.databricks.com/aws/ja/lakehouse-monitoring/data-classification)、[Azure](https://learn.microsoft.com/ja-jp/azure/databricks/lakehouse-monitoring/data-classification)、[GPC](https://docs.databricks.com/gcp/ja/lakehouse-monitoring/data-classification) |
| 異常検知  | <ul><li>データの鮮度<li>データの完全性<ul>  | ベータ、[AWS](https://docs.databricks.com/aws/ja/lakehouse-monitoring/anomaly-detection)、[Azure](https://learn.microsoft.com/ja-jp/azure/databricks/lakehouse-monitoring/anomaly-detection)、[GPC](https://docs.databricks.com/gcp/ja/lakehouse-monitoring/anomaly-detection)   |
| アクセスリクエスト  | ユーザーは資産を発見し、アクセスを制御できる承認されたスチュワードに特定のアクセスをリクエストできるように。  | プライベートプレビュー、Databricksアカウントチームにコンタクトください。  |
|  タグポリシー |  <ul><li>どのユーザーがタグポリシーを作成/管理/割り当てるのかを制御<li>特定のタグにどのバリューを使えるのかを制御<li>ABACの属性としてどのタグを参照できるのかを制御<li>承認済み/非推奨システムタグ<ul> |プライベートプレビュー、Databricksアカウントチームにコンタクトください。間も無くベータ！   |
|  ABACポリシー | ABACによって、データガバナンス管理者はDelta Lakeに広く適用されるアクセスポリシーを一度に定義可能に  | プライベートプレビュー、Databricksアカウントチームにコンタクトください。間も無くベータ！  |
|  AI/BIダッシュボードのタグ | ダッシュボードの認証、整理、発見が可能に  |  プライベートプレビュー、Databricksアカウントチームにコンタクトください。  |
| UCのガバナンス洞察ダッシュボード  | 企業のCDOや管理者チームに、システムテーブルをベースとした**すぐに利用できるダッシュボード**を提供することで、自分たちのデータ領域における健康状態に関するキーとなる洞察を提供するように設計  |  プライベートプレビュー、Databricksアカウントチームにコンタクトください。  |

## ABAC

**Attribute Based Access Control (ABAC)**によって、データガバナンス管理者はデータレイクに対して自動で強制されるスケーラブルなアクセスポリシーを定義できるようになります。ABACポリシーは、**カタログ**、**スキーマ**、**テーブル**レベルで定義でき、タグに基づいて広範に適用することができます。これによって、管理者やデータスチュワードは、カタログレベルで特定のタグの条件に合致する大量のテーブルのアクセスを制御する一つのポリシーを記述することができます。
![](https://community.databricks.com/t5/image/serverpage/image-id/17177iC55A1B71200639CB/image-size/large?v=v2&px=999)

ABACポリシーはタグと組み合わせて動作し、タグポリシーで管理されます。タグづけされているデータ資産に誰かがアクセスしようとした際に強制が実施されます。データ資産に対するすべてのオペレーションは即座に捕捉され、Databricksの監査ログでリアルタイムにアクセスできるようになります。以下の図は、この動作の様子を示しています:
![](https://community.databricks.com/t5/image/serverpage/image-id/17178iCB99B68DEC385D04/image-size/large?v=v2&px=999)


# ベストプラクティスのサマリー

## 1. タグづけのロールと責任範囲の標準化

タグの用語のさまざまなパーツを作成、管理することに誰が責任を持つのかを定義する企業規模のアプローチを構築するために、ビジネスユーザー、ビジネスヘッド、データスチュワードと連携しましょう。そして、これらの責任範囲を既存のDatabricksのロールと権限にマッピングしましょう。可能な場合には、ワークスペース管理者はコンピュートポリシーや予算ポリシーを用いて、タグを強制すべきです。これによって、タグの適用方法、プラットフォームにおける管理方法に関する明確さ、説明責任、一貫性を確実にします。
![](https://community.databricks.com/t5/image/serverpage/image-id/17174iD4CCF7E8D484FCFF/image-size/large?v=v2&px=999)

## 2. 命名規則の標準化

タグポリシーを用いることで、Databricksはユーザーがガバナンスタグ、非ガバナンスタグを利用する方法を統合します。混乱を避けるために、ガバナンスタグの明確な命名規則を確立し、検索に用いられる非ガバナンスタグでは柔軟性を許容しましょう。

いくつかの推奨事項です:

- 予約済みのシステムタグ名は避けましょう(認証済みなど)
- ユニークで説明的なタグ名を用いましょう
- リソースのセキュリティを守るために、タグのキーやバリューにプロジェクトのコードネームや機密データのようなセンシティブな情報を含めないようにしましょう

## 3. タグの変更管理

タグの変更(作成、更新、削除)は、下流に対して大きなインパクトを与えることがあります。データガバナンスで用いられるタグの変更を予期し、制御するために、ガバナンスのレビューボードのような企業のレビュープロセスを確立しましょう。

*推奨のコントロール:*

- *アクセスコントロールの破壊を避けるために、ガバナンスタグがABACルールで参照されている場合にはタグポリシーを削除しないようにしましょう*
- *タグの変更は訴求的にコスト配分に影響を与えることがあるので、注意深く管理すべきです*

## 4. タグの観測可能性

タグを用いたアクセスを管理するためにタグポリシーとABACを活用しましょう。インフォメーションスキーマと監査ログを活用することで、タグの適用や利用を監視することができ、データの品質とコンプライアンスを保証できます。また、タグの削除や変更のような権限を必要とするアクションを可視化し、アラートを設定するために**ガバナンス洞察ダッシュボード**を活用することができます。

***これらはDAIS 2025における発表の一部ですので、これらの機能が利用可能になるアップデートを注視してください。***

### はじめてのDatabricks

[はじめてのDatabricks](https://qiita.com/taka_yayoi/items/8dc72d083edb879a5e5d)

### Databricks無料トライアル

[Databricks無料トライアル](https://databricks.com/jp/try-databricks)