リスティングを管理する

Analytics Hub のパブリッシャーは、次の操作を行うことができます。

  • 公開アクセス権を付与されているデータ エクスチェンジにリスティングを作成します。
  • リスティングの使用状況の指標を更新、削除、共有、表示します。
  • 管理者、サブスクライバー、閲覧者を一覧表示するなど、Analytics Hub のリストのさまざまなロールを管理します。
  • リスティングに登録しているすべてのサブスクライバーを表示します。
  • リスティングの使用量をモニタリングします。
  • リスティングからサブスクライバーを削除します。

リスティングは、パブリッシャーがデータ エクスチェンジに掲載する共有データセットへの参照です。リスティングには、そのリスティングに対して設定された Identity and Access Management(IAM)ポリシーと、そのリスティングを含むデータ エクスチェンジの種類に基づいて、次の 2 種類があります。

  • 公開リスティングGoogle Cloud ユーザー(allAuthenticatedUsers検出して登録できます。一般公開データ エクスチェンジのリスティングは、公開リスティングです。これらのリスティングでは、無料の一般公開データセットまたは商用データセットを参照できます。リスティングが商用データセットを参照する場合、サブスクライバーはリスティングへのアクセスをリクエストできます。データ プロバイダはこれらのサブスクライバーに問い合わせます。

  • 限定公開リスティング。個人またはグループと直接共有されます。たとえば、限定公開リスティングは、組織内の他の内部チームと共有するマーケティング指標データセットを参照できます。allAuthenticatedUsersがリスティングに登録できるようにしても、リスティングは限定公開のままになり、Analytics Hub ページで一般公開リスティングとして表示されません。このようなリスティングをユーザーと共有するには、リスティングの URL をユーザーと共有します。非公開リスティングを検出可能にするには、エクスチェンジを公開する必要があります。

始める前に

Analytics Hub を開始するには、Google Cloud プロジェクト内で Analytics Hub API を有効にする必要があります。

必要な権限

Analytics Hub API を有効にするには、次の Identity and Access Management(IAM)権限が必要です。

  • Cloud コンソールで API を表示する serviceUsage.services.get/list
  • API を有効にする serviceUsage.services.enable

次の事前定義された IAM ロールには、Analytics Hub API を有効にするために必要な権限が含まれています。

  • roles/editor
  • roles/owner
  • roles/serviceusage.serviceUsageAdmin

BigQuery での IAM のロールの詳細については、事前定義ロールと権限をご覧ください。

Analytics Hub API を有効にする

Analytics Hub API を有効にする方法は次のとおりです。

コンソール

Google Cloud プロジェクトの Analytics Hub API に移動して有効にします。

Analytics Hub API を有効にする

gcloud

gcloud services enable コマンドを実行します。

gcloud services enable analyticshub.googleapis.com

必要な権限

リスティングとサブスクリプションを管理するには、次のいずれかの Analytics Hub のロールが必要です。

  • Analytics Hub パブリッシャーのロール(roles/analyticshub.publisher)。リスティングの IAM ポリシーを作成、更新、削除、設定できます。

  • Analytics Hub リスティング管理者のロール(roles/analyticshub.listingAdmin)。このロールでは、リスティングの IAM ポリシーを更新、削除、設定できます。

  • Analytics Hub 管理者ロール(roles/analyticshub.Admin)。これにより、データ エクスチェンジのすべてのリスティングで IAM ポリシーを作成、更新、削除、設定できます。

詳細については、Analytics Hub のユーザーロールをご覧ください。これらのロールを他のユーザーに付与する方法については、リスティング管理者を作成するをご覧ください。

さらに、リスティングを作成するには、リスティングを作成するデータセットに対する bigquery.datasets.update 権限も付与されている必要があります。次の BigQuery の事前定義ロールには、bigquery.datasets.update 権限が含まれています。

  • BigQuery データのオーナーのロール(roles/bigquery.dataOwner
  • BigQuery 管理者ロール(roles/bigquery.admin

アクセスできる組織内のプロジェクト間のすべてのデータ エクスチェンジを表示するには、resourcemanager.organizations.get 権限が必要です。この権限は、次の BigQuery の事前定義ロールに含まれています。

  • roles/browser

データ エクスチェンジを表示する

アクセス可能な組織内のデータ エクスチェンジの一覧を表示するには、データ エクスチェンジを表示するをご覧ください。データ エクスチェンジが別の組織にある場合、Analytics Hub 管理者がそのデータ エクスチェンジへのリンクを共有する必要があります。

リスティングを作成する

リスティングは、パブリッシャーがデータ エクスチェンジに掲載する共有デーセットへの参照です。

リスティングを作成する手順は次のとおりです。

コンソール

  1. Analytics Hub ページに移動します。

    Analytics Hub に移動

    アクセス可能なすべてのデータ エクスチェンジを示すページが表示されます。

  2. リスティングを作成するデータ エクスチェンジの名前をクリックします。

  3. [リスティングを作成] をクリックします。

  4. [リスティングを作成] ページの [表示名] に、リスティングの名前を入力します。

  5. 商用データセットを作成する場合は、[アクセスの連絡先をリクエスト] フィールドに入力する必要があります。サブスクライバーが連絡するためのメールまたは登録フォームの URL を入力する必要があります。

  6. 省略可: 次の詳細情報を入力します。

    • 連絡先担当者: リスティングのメインの連絡先のメールアドレスまたは URL を入力します。

    • カテゴリ: リスティングを最もよく表すカテゴリを 2 つまで選択します。サブスクライバーは、これらのカテゴリに基づいてリスティングをフィルタできます。

    • プロバイダ: [プロバイダ] セクションを展開し、次のフィールドで詳細を指定します。

      • プロバイダ名: プロバイダの名前。
      • プロバイダの連絡先担当者: データセット プロバイダの連絡先担当者のメールアドレスまたは URL。

      サブスクライバーはデータ プロバイダに基づいてリスティングをフィルタリングできます。

    • パブリッシャー: [パブリッシャー] セクションを展開し、次のフィールドで詳細を指定します。

      • パブリッシャー名: リスティングを作成しているパブリッシャーの名前。
      • パブリッシャーの連絡先担当者: データセット パブリッシャーの連絡先担当者のメールアドレスまたは URL。
    • アイコン: リスティングのアイコン。PNG と JPEG のファイル形式がサポートされています。アイコンのファイルサイズは 512 KiB 未満、サイズは 512 x 512 ピクセル以下である必要があります。

    • 説明: リスティングの簡単な説明。サブスクライバーは、説明に基づいてリスティングを検索できます。

  7. [ソース データセット] で、データ エクスチェンジに表示するデータセットを選択します。ソース データセットは、データ エクスチェンジと同じリージョンに存在する必要があります。リスティングの作成後にこのフィールドを更新することはできません。

  8. [下り(外向き)データ](プレビュー)で、適切な下り(外向き)データオプションを選択します。エディション以外のサービスまたは Enterprise Plus エディションのサブスクライバーのみが、下り(外向き)データの制限があるデータをクエリできます。

    • 共有データセットにデータ下り(外向き)制限を適用し、共有データセットのクエリ結果には適用しない場合は、[共有データのコピーとエクスポートを無効にする] を選択します。
    • 共有データセットと共有データセットのクエリ結果に下り(外向き)制限を適用するには、[クエリ結果のコピーとエクスポートを無効にする] を選択します。これにより、[共有データのコピーとエクスポートを無効にする] も自動的に設定されます。
  9. オプション: [ドキュメント] > [マークダウン] セクションでは、データセットで実行できるサンプルクエリや、関連するドキュメントへのリンク、およびサブスクライバーがデータセットを使用するために役立つその他の情報など、追加情報を入力できます。

  10. [保存] をクリックします。

API

projects.locations.dataExchanges.listings.create メソッドを使用します。

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings?listingId=LISTING_ID

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

  • PROJECT_ID: リスティングを作成するデータ エクスチェンジを含むプロジェクト ID。
  • LOCATION: データ エクスチェンジのロケーション。Analytics Hub をサポートするロケーションの詳細については、サポート対象のリージョンをご覧ください。
  • DATAEXCHANGE_ID: データ エクスチェンジ ID。
  • LISTING_ID: リスティング ID。

リクエストの本文で、リスティングの詳細を指定します。 リクエストが成功した場合は、レスポンスの本文にリスティングの詳細が含まれます。

API を使用してリスティングに対して実行できるタスクの詳細については、projects.locations.dataExchanges.listings メソッドをご覧ください。

リスティングへのアクセス権をユーザーに付与する

ユーザーに非公開リスティングへのアクセスを許可する場合は、そのリスティングに対する個人またはグループの IAM ポリシーを設定する必要があります。商用リスティングの場合、データ エクスチェンジを公開する必要があります。一般公開データ エクスチェンジのリスティングが、すべての Google Cloud ユーザー(allAuthenticatedUsersのアナリティクス ハブに表示されます。ユーザーが商用リスティングへのアクセス権をリクエストできるようにするには、Analytics Hub 閲覧者のロールをご覧ください。

ユーザーにリスティングの閲覧や登録のアクセス権を与えるには、以下の手順を実施します。

コンソール

  1. Analytics Hub ページに移動します。

    Analytics Hub に移動

  2. リスティングを含むデータ エクスチェンジ名をクリックします。

  3. サブスクライバーを追加するリスティングをクリックします。

  4. [権限を設定] をクリックします。

  5. プリンシパルを追加するには、 [プリンシパルを追加] をクリックします。

  6. [新しいプリンシパル] フィールドに、リスティングの種類に基づいて次の詳細情報を追加します。

    • 限定公開リスティングの場合は、アクセス権を付与する ID のメールアドレスを入力します。

    • 公開リスティングの場合は、allAuthenticatedUsers を追加します。

  7. [ロールを選択] で、[Analytics Hub] の上にポインタを置き、リスティングの種類に基づいて、次のいずれかのロールを選択します。

    詳しくは、Analytics Hub のサブスクライバーと閲覧者のロールをご覧ください。

  8. [保存] をクリックします。

API

  1. projects.locations.dataExchanges.listings.getIamPolicy メソッドを使用して、リスティング getIamPolicy メソッドがある既存のポリシーを読み取ります。

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
    

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

    • PROJECT_ID: プロジェクト ID(例: my-project-1)。
    • LOCATION: リスティングを含むデータ交換のロケーション。
    • DATAEXCHANGE_ID: データ エクスチェンジ ID。
    • LISTING_ID: リスティング ID。

    Analytics Hub は、レスポンスで現在のポリシーを返します。

  2. メンバーとそれに関連するロールを追加または削除するには、テキスト エディタでポリシーを編集します。メンバーを追加するには、次の形式を使用します。

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    たとえば、roles/analyticshub.subscriber ロールを group:subscribers@example.com に付与するには、次のバインディングをポリシーに追加します。

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. projects.locations.dataExchanges.listings.setIamPolicy メソッドを使用して、更新したポリシーを書き込みます。リクエストの本文で、前のステップで更新した IAM ポリシーを指定します。

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:setIamPolicy
    

    リクエストの本文で、リスティングの詳細を指定します。リクエストが成功した場合は、レスポンスの本文にリスティングの詳細が含まれます。

API を使用してリスティングに対して実行できるタスクの詳細については、projects.locations.dataExchanges.listings メソッドをご覧ください。

リスティング管理者を作成する

ユーザーがリスティングを管理できるようにするには、Analytics Hub のリスティング管理者を作成する必要があります。リスティング管理者を作成するには、リスティング レベルで Analytics Hub パブリッシャーまたは Analytics Hub リスティング管理者のロールをユーザーに付与する必要があります。リスティングに対するこれらのロールを付与する方法については、リスティングに対するロールを付与するをご覧ください。

サブスクリプションをすべて見る

リスティングへの現在のすべてのサブスクリプションを表示するには、次のいずれかのオプションを選択します。

コンソール

  1. Analytics Hub ページに移動します。

    Analytics Hub に移動

  2. サブスクリプションを管理するリスティングを含むデータ エクスチェンジ名をクリックします。

  3. すべてのサブスクライバーを一覧表示するリスティングをクリックします。

  4. リスティングのすべてのサブスクライバーを表示するには、[サブスクリプションを管理] をクリックします。

    サブスクライバーを管理する

  5. 省略可: サブスクライバーの詳細で結果をフィルタできます。

また、共有データセットにアクセスできる場合は、次の手順でサブスクライバーを一覧表示します。

  1. [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインでプロジェクトを開き、共有データセットを選択します。

  3. [共有] リストで、[サブスクリプションを管理] を選択します。

SQL

次の例では、INFORMATION_SCHEMA.SCHEMATA_LINKS ビューを使用して、us リージョンにある myproject の共有データセットにリンクされているすべてのデータセットを一覧表示します。

SELECT * FROM `myproject`.`region-us`.INFORMATION_SCHEMA.SCHEMATA_LINKS;

出力は次のようになります。出力を簡素化するために、一部の列は省略されています。

+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
|  catalog_name  | schema_name | linked_schema_catalog_name | linked_schema_catalog_number | linked_schema_name | linked_schema_org_display_name |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+
| myproject      | myschema1   | subscriptionproject1       |                 974999999291 | subscriptionld1    | subscriptionorg                |
| myproject      | myschema2   | subscriptionproject2       |                 974999999292 | subscriptionld2    | subscriptionorg                |
| myproject      | myschema3   | subscriptionproject3       |                 974999999293 | subscriptionld3    | subscriptionorg                |
+----------------+-------------+----------------------------+------------------------------+--------------------+--------------------------------+

API

projects.locations.dataExchanges.listings.listSubscriptions メソッドを使用します。

GET https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:listSubscriptions

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

  • PROJECT_ID: 登録するリスティングのプロジェクト ID。
  • LOCATION: 登録するリスティングの場所。
  • DATAEXCHANGE_ID: 登録するリスティングを含むデータ エクスチェンジ ID。
  • LISTING_ID: 登録するリスティングの ID。

サブスクリプションを削除する

2023 年 7 月 25 日より前に作成されたサブスクリプションをリスティングから削除すると、リンクされたデータセット共有データセットからリンク解除されます。サブスクライバーは自分のプロジェクト内のデータセットを表示できますが、共有データセットにリンクされなくなります。

2023 年 7 月 25 日より前に作成されたサブスクリプションをリスティングから削除する手順は次のとおりです。

  1. リスティングのすべてのサブスクライバーを一覧表示するには、すべてのサブスクリプションを表示するに記載されている Google Cloud コンソールの手順を実施します。

  2. リスティングからサブスクライバーを削除するには、 [削除] をクリックします。すべてのサブスクリプションを削除するには、[すべてのサブスクリプションを削除] をクリックします。

  3. [サブスクリプションを削除しますか?] ダイアログに「remove」と入力して確定します。

  4. [削除] をクリックします。

2023 年 7 月 25 日以降に作成されたサブスクリプションを削除する手順は次のとおりです。

コンソール

  1. リスティングのすべてのサブスクライバーを一覧表示するには、すべてのサブスクリプションを表示するに記載されている Google Cloud コンソールの手順を実施します。

  2. [サブスクリプション] タブをクリックします。

  3. リスティングからサブスクライバーを削除するには、削除するサブスクリプションを選択し、 [サブスクリプションを削除] をクリックします。

  4. [サブスクリプションを削除しますか?] ダイアログに「remove」と入力して確定します。

  5. [削除] をクリックします。

API

projects.locations.subscriptions.revoke メソッドプレビュー)を使用します。

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions/SUBSCRIPTION_ID:revoke

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

  • PROJECT_ID: 削除するサブスクリプションのプロジェクト ID。
  • LOCATION: 削除するサブスクリプションの場所。
  • SUBSCRIPTION: 削除するサブスクリプションの ID。

リスティングを更新する

リスティングを更新する方法は次のとおりです。

コンソール

  1. Analytics Hub ページに移動します。

    Analytics Hub に移動

  2. リスティングを含むデータ エクスチェンジ名をクリックします。

  3. 更新するリスティングをクリックします。

  4. [リスティングを編集] をクリックします。

  5. フィールドの値を変更します。リスティングのソース データセットを除くすべての値を変更できます。

  6. 変更内容をプレビューするには、[プレビュー] をクリックします。

  7. 変更を保存するには、[保存] をクリックします。

API

projects.locations.dataExchanges.listings.patch メソッドを使用します。

PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID?updateMask=UPDATEMASK

UPDATEMASK は、更新するフィールドのリストに置き換えます。複数の値を更新するには、カンマ区切りのリストを使用します。リクエストの本文で、更新した値を指定します。

API を使用してリスティングに対して実行できるタスクの詳細については、projects.locations.dataExchanges.listings メソッドをご覧ください。

リスティングを削除する

サブスクリプションを削除すると、サブスクライバーはそのサブスクリプションを表示できなくなります。ただし、リストを削除しても、サブスクライバーのプロジェクトからリンクされたデータセットは削除されません。データへのすべてのアクセス権を削除するには、次のいずれかのオプションを選択する必要があります。

リスティングを削除した場合、元に戻すことはできません。リスティングの削除方法は次のとおりです。

コンソール

  1. Analytics Hub ページに移動します。

    Analytics Hub に移動

  2. リスティングを含むデータ エクスチェンジ名をクリックします。

  3. 削除するリスティングをクリックします。

  4. [削除] をクリックします。

  5. [エクスチェンジを削除しますか?] ダイアログで「削除」と入力して削除を確定します。

  6. [削除] をクリックします。

API

projects.locations.dataExchanges.listings.delete メソッドを使用します。

DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID

API を使用してリスティングに対して実行できるタスクの詳細については、projects.locations.dataExchanges.listings メソッドをご覧ください。

次のステップ