Dataplex Universal Catalog でリソースを検索する

このドキュメントでは、Dataplex Universal Catalog の検索を使用して、BigQuery データセット、Cloud SQL インスタンスなどのリソースを検索する方法について説明します。

Dataplex Universal Catalog でサポートされている Google Cloud アセットの詳細については、サポートされている Google Cloud ソースをご覧ください。

検索範囲

Dataplex Universal Catalog の検索結果には、ソースシステム内の対応するリソースに対する権限が適用されます。

たとえば、オブジェクトに対する BigQuery メタデータの読み取りアクセス権を持っている場合、そのオブジェクトは Dataplex Universal Catalog の検索結果に表示されます。BigQuery テーブルへのアクセス権はあるものの、そのテーブルを含むデータセットへのアクセス権がない場合、依然としてテーブルは Dataplex Universal Catalog の検索で想定どおりに表示されます。

検索結果には、検索が実行されるプロジェクトと同じ組織に属するリソースのみが表示されます。

検索結果には、検索が実行されるプロジェクトと同じ VPC-SC 境界に属するリソースのみが表示されます。Google Cloud コンソールを使用する場合、これはコンソールで選択したプロジェクトです。

プロジェクトの VPC Service Controls 境界内のリソースを超えて検索結果の範囲を広げるには、VPC Service Controls の上り(内向き)と下り(外向き)のルールを使用します。これらのルールにより、組織全体で限定公開かつ効率的なデータ交換が可能になります。上り(内向き)ルールと下り(外向き)ルールは、Google Cloud コンソール、JSON ファイル、YAML ファイルのいずれかを使用して構成できます。次の YAML の例と VPC Service Controls のドキュメントを参照して、ルールを特定の要件に合わせて調整します。

egressPolicies:
  - egressFrom:
      identityType: ANY_USER_ACCOUNT
    egressTo:
      # Specify which resources should be present in the search results. In this example,
      # BigQuery.
      operations:
      - methodSelectors:
        - method: '*'
        serviceName: bigquery.googleapis.com
      # Specify project ids under which the search is performed.
      resources:
      - projects/SEARCH_PROJECT_ID
ingressPolicies:
  - ingressFrom:
      identityType: ANY_USER_ACCOUNT
      sources:
      - accessLevel: '*'
    ingressTo:
      # Specify which resources should be present in the search results. In this example,
      # BigQuery.
      operations:
      - methodSelectors:
        - method: '*'
        serviceName: bigquery.googleapis.com
      # Specify project ids to expose in search results.
      resources:
      - projects/INGRESS_PROJECT_ID

Dataplex Universal Catalog 検索に必要な Identity and Access Management ロールの詳細については、Dataplex Universal Catalog IAM ロールをご覧ください。

VPC Service Controls を使用して環境ごとに検索結果を分離する

開発環境、テスト環境、本番環境などの環境間で Dataplex Universal Catalog の検索結果を分離するには、各環境に個別の VPC Service Controls 境界を構成します。データアセットを含むプロジェクトと、検索の実行に使用されるプロジェクトの両方を、対応する環境の境界に割り当てます。特定の境界内のプロジェクトから実行された検索では、同じ境界内にあるアセットの結果のみが返されます。

検索での再現率の上限

Dataplex Universal Catalog の検索クエリは、完全な再現率を保証するものではありません。後続の結果のページであっても、クエリに一致する結果が返されない場合があります。また、検索クエリを繰り返すと、返される(返されない)結果が変わることがあります。

Dataplex Universal Catalog のメタデータをすべてクエリするには、メタデータを Cloud Storage にエクスポートしてから、BigQuery からクエリします。詳細については、メタデータをエクスポートするをご覧ください。

フィルタ

フィルタを使用すると、検索結果を絞り込むことができます。すべてのフィルタは次のセクションに分類されます。

  • [システム](BigQuery、Cloud SQL など)。Dataplex Universal Catalog システムにはカスタム エントリが含まれています。
  • [アスペクト(タグ)] には、使用可能なすべてのアスペクトが一覧表示されます。
  • [プロジェクト] には、使用可能なすべてのプロジェクトが一覧表示されます。
  • [タイプ エイリアス] には、データベース、データセット、モデル、テーブル、ビュー、サービス、カスタムタイプなどのリソースタイプが記述されます。
  • [データセット] は BigQuery から取得されます。

複数のセクションのフィルタを組み合わせると、選択したすべてのセクションで 1 つ以上の条件に一致するアセットを見つけることができます。1 つのセクション内で選択した複数のフィルタは、OR 論理演算子を使用して評価されます。

たとえば、次の画像のフィルタの組み合わせについて考えてみましょう(画像をクリックすると拡大します)。システム BigQuery、タイプ エイリアス tableview、アスペクト My aspect type 1My aspect type 2、プロジェクト my-test-project、データセット test_bq_dataset の検索フィルタが選択されています。

複数選択している検索フィルタ。

検索では、次のアセットが検索されます。

  • test_bq_dataset の BigQuery テーブル(アスペクト My aspect type 1
  • test_bq_dataset の BigQuery テーブル(アスペクト My aspect type 2
  • test_bq_dataset の BigQuery ビュー(アスペクト My aspect type 1
  • test_bq_dataset の BigQuery ビュー(アスペクト My aspect type 2

アスペクト値でフィルタ

[アスペクト] フィルタを使用することで、特定のテンプレートを使用してタグ付けされたアセットにクエリを実行できます。[カスタマイズ] メニューを使用することで、結果をさらに絞り込んだり、特定のアスペクト値でフィルタしたりできます。アスペクト値のフィルタ条件は、そのアスペクト フィールドのデータ型によって異なります。たとえば、datetime フィールドと number フィールドには、特定の日付または範囲を指定できます。

フィルタの可視性

[検索] フィールドの現在のクエリに応じて、[システム]、[タイプ エイリアス]、[プロジェクト]、[データセット] のフィルタが表示されます。

始める前に

リソースを検索する前に、必要なロールがあることを確認し、API を有効にします。

必要なロール

このセクションでは、リソースの検索と検索結果へのアクセスに必要なロールと権限について説明します。

ロールの付与の詳細については、アクセスの管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

エントリの検索に必要なロール

エントリを検索するには、検索に使用されるプロジェクトで、Dataplex Catalog 管理者、Dataplex Catalog 編集者、または Dataplex Catalog 閲覧者のいずれかの IAM ロールが必要です。検索結果に対する権限は、選択したプロジェクトとは別にチェックされます。

検索結果にアクセスするために必要なロール

Dataplex Universal Catalog の検索結果は、ロールに応じてスコープが設定されます。Dataplex Universal Catalog でアセットを検索するには、ソースシステム内の対応するリソースにアクセスする権限が必要です。詳細については、このドキュメントの検索範囲をご覧ください。

たとえば、BigQuery のデータセット、テーブル、ビュー、モデルを検索するには、それらのエントリに対するそれぞれの権限が必要です。詳細については、BigQuery の権限をご覧ください。

次のリストに、最低限必要な権限を示します。

  • テーブルを検索するには、そのテーブルに対する bigquery.tables.get 権限が必要です。
  • データセットを検索するには、そのデータセットに対する bigquery.datasets.get 権限が必要です。
  • データセットまたはテーブルのメタデータを検索するには、BigQuery メタデータ閲覧者のロール(roles/bigquery.metadataViewer)が必要です。

別の例として、Cloud SQL インスタンス、データベース、スキーマ、テーブル、ビューを検索するには、それらのエントリに対するそれぞれの権限が必要です。詳細については、Cloud SQL のロールと権限をご覧ください。

カスタム エントリを検索するには、Dataplex Catalog 閲覧者のロール(roles/dataplex.catalogViewer)が必要です。

API を有効にする

Enable the Dataplex API.

Enable the API

リソースを検索

コンソール

リソースを検索する手順は次のとおりです。

  1. Google Cloud コンソールで、Dataplex Universal Catalog の [検索] ページに移動します。

    検索に移動

  2. [検索プラットフォームの選択] で、検索モードとして [Dataplex Catalog] を選択します。

    [Dataplex Catalog] を選択すると、Dataplex Universal Catalog のメタデータ ストレージを検索できます。既存の Data Catalog ユーザーの場合は、[Data Catalog] を選択すると、Data Catalog リポジトリを検索できます。

  3. 検索フィールドにクエリを入力するか、[フィルタ] パネルを使用して検索パラメータを絞り込みます。

    次のフィルタを手動で追加できます。

    • プロジェクト フィルタを追加する: [プロジェクト] で、[プロジェクトを追加] をクリックします。特定のプロジェクトを検索して選択し、[開く] をクリックします。
    • アスペクト タイプ フィルタを追加する: [アスペクト] で、[アスペクト タイプを追加] メニューをクリックします。特定のテンプレートを検索して選択し、[OK] をクリックします。
  4. 省略可: 使用可能なアセットだけでなく、[公開データセットを含める] を選択することで、 Google Cloud で一般公開されているリソースを検索できます。

検索クエリを作成するには、次のヒントを参考にしてください。

  • スペースが含まれている場合は、検索式を引用符で囲みます。例: "search terms"
  • キーワードの前に NOT を付けると、keyword:term フィルタの論理否定に一致します。ANDOR のブール演算子を使用して検索式を結合することもできます。ANDORNOT 演算子の大文字と小文字は区別されません。

    たとえば、NOT column:term は、指定された用語に一致するものを除くすべての列を一覧表示します。Dataplex Universal Catalog の検索式で使用できるキーワードとその他の用語のリストについては、検索構文をご覧ください。

gcloud

リソースを検索するには、gcloud dataplex entries search コマンドを使用します。

REST

リソースを検索するには、searchEntries メソッドを使用します。

エントリの詳細を表示する

コンソール

Dataplex Universal Catalog 検索を使用して、エントリの詳細を表示します。

  1. Google Cloud コンソールで、Dataplex Universal Catalog の [検索] ページに移動します。

    検索に移動

  2. 検索モードとして [Dataplex Catalog] を選択します。

  3. 検索ボックスにエントリの名前を入力します。

  4. エントリをクリックします。

    [エントリの詳細] ページが開きます。このページには次のセクションがあります。

    • エントリの詳細: エントリの種類、システム、プラットフォーム、完全修飾名、作成日時、最終更新日時、説明、スチュワードなどの情報が含まれます。
    • 概要: エントリの概要(利用可能な場合)。
    • アスペクト: エントリに定義された必須アスペクトとオプションのアスペクト。詳細については、アスペクトのカテゴリをご覧ください。

gcloud

エントリの詳細を表示するには、gcloud dataplex entries lookup コマンドを使用します。

REST

エントリの詳細を表示するには、lookupEntry メソッドを使用します。

次のステップ