データ プロダクトを使用する

このドキュメントは、ユースケースに合わせてデータ プロダクトを検出して使用する必要がある Knowledge Catalog(旧称 Dataplex Universal Catalog)のデータ プロダクトのコンシューマーを対象としています。

データ プロダクトのアーキテクチャと主なコンセプトの詳細については、データ プロダクトについてをご覧ください。

始める前に

  1. Dataplex API と BigQuery API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。

    API を有効にする

必要なロール

データ プロダクトの検索、アクセス、使用に必要な権限を取得するには、データ プロダクトまたはプロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

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

データ プロダクト コンシューマーとしてアセットのメタデータを表示するには、ソースシステム内の対応するアセットにアクセスするための viewer 権限が必要です。たとえば、データ プロダクト内のデータセットまたはテーブルのメタデータを検索するには、BigQuery メタデータ閲覧者のロール(roles/bigquery.metadataViewer)が必要です。詳細については、検索結果にアクセスするために必要なロールをご覧ください。

コンソール

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

    検索に移動

  2. キーワードまたは自然言語を使用して検索します。詳しくは、リソースを検索するをご覧ください。

  3. 検索結果で、詳細を表示するデータ プロダクトをクリックします。データ プロダクトに関連付けられている説明、アセット、契約、アスペクト、連絡先情報、その他のドキュメントを確認できます。

REST

データ プロダクトを検索するには、searchEntries メソッドを使用します。

たとえば、次の POST リクエストを送信します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
  '{
  "query": "ADDITIONAL_KEYWORDS (type=(DATA_PRODUCT))",
  "pageSize": 10
  }' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global:searchEntries"

次のように置き換えます。

  • ADDITIONAL_KEYWORDS(省略可): 結果を絞り込むための追加のキーワードまたは検索条件(例: displayName:'My Data Product'description:'sales'
  • PROJECT_ID: データ プロダクトが作成される Google Cloudプロジェクトの ID

データ プロダクトへのアクセスをリクエストする

データ プロダクトのコンシューマーとして、データ プロダクトにアクセスするための IAM 権限がない場合は、統合されたアクセス承認ワークフローを使用してアクセスをリクエストできます。

アクセス リクエストを送信する

コンソール

  1. Google Cloud コンソールで、Knowledge Catalog の [データ プロダクト] ページに移動します。

    [データ プロダクト] に移動

  2. アクセスするデータ プロダクトをクリックします。

  3. [アクセス権限をリクエスト] をクリックします。

  4. [リクエストの詳細] ペインで、次のパラメータを指定します。

    • アクセス グループ: 参加する機能アクセス グループを選択します。
    • Self または サービス アカウント: プリンシパル タイプを選択します。

      • 自分自身にアクセス権をリクエストする場合は、[自分] を選択します。

      • プログラムによる ID のアクセス権をリクエストする場合は、[サービス アカウント] を選択します。このオプションは、データ プロダクトがサービス アカウントをサポートしている場合にのみ使用できます。

    • 正当な理由: リクエストのビジネス上の正当な理由を入力します。

  5. [送信] をクリックします。

データ プロダクト オーナーが確認するための新しい変更リクエストが生成されます。リクエストが承認または拒否されると、最終ステータスの詳細を記載したメール通知が届きます。

REST

dataplex.dataProducts.get 権限を持つデータ プロダクト コンシューマーは、ChangeRequest リソースを作成してアクセスをリクエストできます。カスタム メソッド :requestAccess を使用して、データ プロダクト リソース エンドポイントに POST リクエストを送信します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
  "parent": "projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID",
  "change_request": {
    "justification": "JUSTIFICATION_TEXT",
    "data_product_access_request": {
      "parent": "projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID",
      "access_group_id": "DATA_PRODUCT_ACCESS_GROUP_ID"
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID:requestAccess"

次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID

  • LOCATION: データ プロダクトが存在するリージョン(例: us-central1

  • DATA_PRODUCT_ID: ターゲット データ プロダクトの固有識別子

  • JUSTIFICATION_TEXT: アクセスが必要な理由を説明するビジネス上の理由

  • DATA_PRODUCT_ACCESS_GROUP_ID: 参加をリクエストする特定のアクセス グループの ID

アクセス リクエストのステータスを表示する

データ プロダクト コンシューマーは、送信したアクセス リクエストの進行状況とライフサイクルをモニタリングできます。Knowledge Catalog は、統合ワークフロー リストを表示しているか、特定のプロダクトのアクセス概要を表示しているかに応じて、異なるステータスを使用してこれらのリクエストを追跡し、表示します。

アクセス リクエストの統合リストを表示する

すべてのデータ プロダクトで送信されたすべてのアクセス リクエストの包括的なリストを表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、Knowledge Catalog の [ガバナンス ワークフロー] ページに移動します。

    [ガバナンス ワークフロー] に移動

  2. [マイリクエスト] タブをクリックします。

  3. 過去と保留中のリクエストと、現在のワークフローのステータスが表示された統合リストを確認します。

    • 新規: アクセス リクエストが作成され、承認者による審査を待っています。

    • 承認済み: リクエストは承認されましたが、バックエンド システムでまだアクセスがプロビジョニングされています。

    • Rejected(不承認): リクエストが拒否されました。承認者のコメントを確認して、不承認の理由を確認します。

REST

カスタム コレクション メソッド :listMine を使用して、GET リクエストを送信します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests:listMine"

特定のデータ プロダクトのアクセス概要を表示する

グローバル ワークフロー リストに加えて、個々のデータ プロダクトのアクセス ポスチャーを確認できます。これにより、新しいリクエストを送信しなくても、アセット グループへの継承されたアクセス権をすでに持っているかどうかを確認できます。

データ プロダクトのアクセス権の概要を表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、Knowledge Catalog の [データ プロダクト] ページに移動します。

    [データ プロダクト] に移動

  2. 検査する特定のデータ プロダクトをクリックします。

  3. [アクセス概要] タブをクリックします。そのデータ プロダクトのすべてのアクセス グループのステータスを確認します。

    [アクセス概要] タブでは、次のステータスが使用されます。

    ステータス 説明
    アクセス不可 アクセス グループへのアクセス権がなく、まだアクセスをリクエストしていない。
    審査中 アクセス権のリクエストを送信し、承認者による審査待ちです。
    承認済み アクセス リクエストは承認されましたが、基盤となる Google グループへのメンバーシップの伝播はまだ処理中です。
    アクセス権が付与されました アクセスは完全に有効になっています。アクセス グループのメンバーであり、データ プロダクトのアセットを操作できます。
    拒否 このアクセス グループのアクセス リクエストは承認されませんでした。

REST

リクエストが最初に作成されたときに返された一意の ID を使用して、GET リクエストを送信します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID"

次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクトの ID

  • LOCATION: データ プロダクトが存在するリージョン(例: us-central1

  • CHANGE_REQUEST_ID: 送信された変更リクエストの一意の ID

アクセス リクエストを削除する

  1. Google Cloud コンソールで、Knowledge Catalog の [ガバナンス ワークフロー] ページに移動します。

    [ガバナンス ワークフロー] に移動

  2. [マイリクエスト] タブをクリックします。

  3. 対象のデータ プロダクト リクエストを含む行を見つけます。必要に応じて、エントリを分離するフィルタを適用します。

  4. [ アクション] をクリックしてから、[削除] をクリックします。

データ プロダクトを消費する

データ プロダクトを使用するには、必要な権限が付与されていることを確認してください。データ プロダクトへのアクセスをリクエストするをご覧ください。

データ プロダクト オーナーから権限が付与されると、データ プロダクトとそのアセットにアクセスできます。たとえば、BigQuery テーブルへのアクセス権が付与されている場合は、BigQuery で直接クエリを実行して分析情報を生成できます。

ユーザー認証情報を使用してアセットにアクセスする

ユーザー認証情報に対するアクセス リクエストが承認された場合は、次の手順でアセットにアクセスします。

  1. データ プロダクトを検索します
  2. 検索結果で、使用するデータ プロダクトをクリックします。
  3. [アセット] タブをクリックします。
  4. 詳細を表示するアセットをクリックします。エントリの詳細ページが開きます。

    スキーマ、分析情報、リネージなどの詳細にアクセスできます。アセットが BigQuery テーブルまたはビューの場合は、[BigQuery で開く] をクリックして BigQuery Studio に移動し、結果をクエリできます。

サービス アカウントを使用してアセットにアクセスする

サービス アカウントに対するアクセス リクエストが承認されると、データ プロデューサー サービス アカウントに対するサービス アカウント トークン作成者(roles/iam.serviceAccountTokenCreator)の IAM ロールが付与されます。これにより、基盤となるアセットにアクセスするための権限借用チェーンを作成できます。

サービス アカウントを使用してアセットにアクセスする手順は次のとおりです。

  1. データ プロダクトの詳細ページの [データ アセット] タブに移動して、データ プロダクト用に構成されたサービス アカウントを確認します。

  2. データ プロデューサー サービス アカウントの権限を借用するには、次の Google Cloud CLI コマンドを使用して、サービス アカウントの権限借用チェーンを作成します。

    gcloud config set auth/impersonate_service_account CONSUMER_SERVICE_ACCOUNT,PRODUCER_SERVICE_ACCOUNT
    

    次のように置き換えます。

    • CONSUMER_SERVICE_ACCOUNT: データ プロダクト コンシューマーに属するサービス アカウントの完全修飾メールアドレス

    • PRODUCER_SERVICE_ACCOUNT: データ プロダクト アクセス グループにマッピングされたサービス アカウントの完全修飾されたメールアドレス

    詳細については、サービス アカウントの権限借用を使用するをご覧ください。

リモート MCP サーバーを使用してデータプロダクトにアクセスする

Google Cloud エコシステム外でデータ プロダクトとやり取りするクライアント アプリケーションと開発ツールには、リモート Model Context Protocol(MCP)サーバーを使用できます。このアーキテクチャ パターンにより、外部のデベロッパー クライアントは、統合されたガバナンス境界を維持しながら、カタログに登録されたデータアセットを安全にクエリして検出できます。

外部サーバーをデプロイして接続する方法については、Knowledge Catalog のリモート MCP サーバーを使用するをご覧ください。

次のステップ