このドキュメントでは、Dataplex Catalog の検索機能を使用して、BigQuery データセット、Cloud SQL インスタンスなどのリソースを検索する方法について説明します。Dataplex Catalog でサポートされている Google Cloud アセットの詳細については、サポートされている Google Cloud ソースをご覧ください。
検索範囲
Dataplex Catalog の検索結果は、ソースシステムの対応するリソースに対する権限を尊重します。
たとえば、ユーザーが BigQuery メタデータの読み取りアクセス権を持っている場合、そのオブジェクトが Dataplex Catalog の検索結果に表示されます。BigQuery テーブルにアクセスできるがそのテーブルを含むデータセットへのアクセス権がない場合でも、テーブルは Dataplex 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 Catalog Identity and Access Management ロールの詳細については、Dataplex IAM ロールをご覧ください。
検索での再現率の制限
Dataplex Catalog の検索クエリは、完全な再現率を保証するものではありません。以降の結果ページであっても、クエリに一致する結果が返されない場合があります。また、検索クエリを繰り返すと、返される(返されない)結果が変わることがあります。
フィルタ
フィルタを使用すると、検索結果を絞り込むことができます。すべてのフィルタはセクションに分かれています。
- BigQuery、Cloud SQL などのシステム。Dataplex システムにはカスタム エントリが含まれています。
- [アスペクト(タグ)] には、使用可能なすべてのアスペクトが一覧表示されます。
- [プロジェクト] には、使用可能なすべてのプロジェクトが一覧表示されます。
- 型エイリアスは、データベース、データセット、モデル、テーブル、ビュー、サービス、カスタムタイプなどのリソースタイプを表します。
- [データセット] は BigQuery から取得されます。
複数のセクションのフィルタを組み合わせると、選択したすべてのセクションから 1 つ以上の条件に一致するアセットを見つけることができます。1 つのセクション内で選択した複数のフィルタは、OR
論理演算子を使用して評価されます。
たとえば、次の画像のフィルタの組み合わせについて考えてみましょう(画像をクリックすると拡大します)。システム BigQuery
、型エイリアス table
と view
、アスペクト My aspect
type 1
と My aspect type 2
、プロジェクト my-test-project
、データセット test_bq_dataset
の検索フィルタが選択されています。
Dataplex Catalog は、次のアセットを探します。
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 を有効にします。
必要なロール
このセクションでは、リソースの検索と検索結果へのアクセスに必要なロールと権限について説明します。
ロールの付与の詳細については、アクセスの管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
エントリの検索に必要なロール
エントリを検索するには、検索に使用されるプロジェクトで少なくとも 1 つの Dataplex Catalog IAM ロールが必要です。検索結果に対する権限は、選択したプロジェクトとは別にチェックされます。
検索結果にアクセスするために必要なロール
Dataplex Catalog の検索結果は、ロールに応じてスコープが設定されます。Dataplex 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.
リソースを検索
Console
リソースを検索する手順は次のとおりです。
Google Cloud コンソールで、Dataplex の [検索] ページに移動します。
[検索プラットフォームを選択] で、検索モードとして [Dataplex Catalog] を選択します。
[Dataplex Catalog] を選択すると、Dataplex Catalog メタデータ ストレージを検索できます。既存の Data Catalog ユーザーの場合は、[Data Catalog] を選択すると、Data Catalog リポジトリを検索できます。
検索フィールドにクエリを入力するか、[フィルタ] パネルを使用して検索パラメータを絞り込みます。
次のフィルタを手動で追加できます。
- プロジェクト フィルタを追加する: [プロジェクト] で、[プロジェクトを追加] をクリックします。特定のプロジェクトを検索して選択し、[開く] をクリックします。
- アスペクト タイプ フィルタを追加する: [アスペクト] で、[アスペクト タイプを追加] メニューをクリックします。特定のテンプレートを検索して選択し、[OK] をクリックします。
省略可: [一般公開データセットを含める] を選択すると、使用可能なアセットに加えて、Google Cloud で一般公開されているリソースを検索できます。
検索クエリを作成するには、次のヒントを参考にしてください。
- スペースが含まれている場合は、検索式を引用符で囲みます。例:
"search terms"
キーワードの前に
NOT
を付けると、keyword:term
フィルタの論理否定に一致します。AND
とOR
のブール演算子を使用して検索式を結合することもできます。AND
、OR
、NOT
演算子では大文字と小文字が区別されません。たとえば、
NOT column:term
は、指定された用語に一致するものを除くすべての列を一覧表示します。Dataplex Catalog の検索式で使用できるキーワードや用語のリストについては、検索構文をご覧ください。
gcloud
リソースを検索するには、gcloud dataplex entries search
コマンドを使用します。
REST
リソースを検索するには、searchEntries
メソッドを使用します。
エントリの詳細を表示する
Console
Dataplex Catalog 検索を使用して、エントリの詳細を表示します。
Google Cloud コンソールで、Dataplex の [検索] ページに移動します。
検索モードとして [Dataplex Catalog] を選択します。
検索ボックスにエントリの名前を入力します。
該当の項目をクリックします。
[エントリの詳細] ページが開きます。このページには次のセクションがあります。
- エントリの詳細: エントリの種類、システム、プラットフォーム、完全修飾名、作成日時、最終更新日時、説明、管理者などの情報が含まれます。
- 概要: エントリの概要(利用可能な場合)。
- アスペクト: エントリに定義された必須アスペクトとオプションのアスペクト。詳細については、アスペクトのカテゴリをご覧ください。
gcloud
エントリの詳細を表示するには、gcloud dataplex entries lookup
コマンドを使用します。
REST
エントリの詳細を表示するには、lookupEntry
メソッドを使用します。
次のステップ
- Dataplex Catalog の検索構文を把握する。
- Dataplex Catalog の詳細を確認する。
- アスペクトを使用してエントリをメタデータで拡充する方法を確認する。
- エントリを管理してカスタムソースを取り込む方法を確認する。