リスティングを管理する
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)権限が必要です。
serviceUsage.services.get
serviceUsage.services.list
serviceUsage.services.enable
次の IAM 事前定義ロールには、Analytics Hub API を有効にするために必要な権限が含まれています。
roles/serviceusage.serviceUsageAdmin
BigQuery での IAM のロールの詳細については、事前定義ロールと権限をご覧ください。
Analytics Hub API を有効にする
Analytics Hub API を有効にする方法は次のとおりです。
Console
Google Cloud プロジェクトの Analytics Hub API に移動して有効にします。
gcloud
gcloud サービス有効化 コマンドを実行します。
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.get
権限と bigquery.datasets.update
権限も付与されている必要があります。次の BigQuery の事前定義ロールには、bigquery.datasets.update
権限が含まれています。
- BigQuery データのオーナーのロール(
roles/bigquery.dataOwner
) - BigQuery 管理者ロール (
roles/bigquery.admin
)
アクセスできる組織内のプロジェクト間のすべてのデータ エクスチェンジを表示するには、resourcemanager.organizations.get
権限が必要です。この権限を含む BigQuery の事前定義ロールはないため、IAM カスタムロールを使用する必要があります。
データ エクスチェンジを表示する
アクセス可能な組織内のデータ交換の一覧を表示するには、データ交換を表示するをご覧ください。データ交換が別の組織にある場合、Analytics Hub 管理者がそのデータ交換へのリンクを共有する必要があります。
リスティングを作成する
リスティングは、パブリッシャーがデータ エクスチェンジに掲載する共有デーセットへの参照です。
リスティングを作成する手順は次のとおりです。
コンソール
Analytics Hub ページに移動します。
アクセス可能なすべてのデータ エクスチェンジを示すページが表示されます。
リスティングを作成するデータ エクスチェンジの名前をクリックします。
[
リスティングを作成] をクリックします。[リスティングを作成] ページの [表示名] に、リスティングの名前を入力します。
商用リスティングを作成する場合は、[アクセスの連絡先をリクエスト] フィールドに入力する必要があります。サブスクライバーが連絡するためのメールまたは登録フォームの URL を入力する必要があります。
省略可: 次の詳細情報を入力します。
連絡先担当者: リスティングのメインの連絡先のメールアドレスまたは URL を入力します。
カテゴリ: リスティングを最もよく表すカテゴリを 2 つまで選択します。サブスクライバーは、これらのカテゴリに基づいてリスティングをフィルタできます。
プロバイダ: [プロバイダ] セクションを展開し、次のフィールドで詳細を指定します。
- プロバイダ名: データセット プロバイダの名前。
- プロバイダの連絡先担当者: データセット プロバイダの連絡先担当者のメールアドレスまたは URL。
サブスクライバーはデータ プロバイダに基づいてリスティングをフィルタリングできます。
パブリッシャー: [パブリッシャー] セクションを展開し、次のフィールドで詳細を指定します。
- パブリッシャー名: リスティングを作成しているパブリッシャーの名前。
- パブリッシャーの連絡先担当者: データセット パブリッシャーの連絡先担当者のメールアドレスまたは URL。
アイコン: リスティングのアイコン。PNG と JPEG のファイル形式がサポートされています。アイコンのファイルサイズは 512 KiB 未満、サイズは 512 x 512 ピクセル以下である必要があります。
説明: リスティングの簡単な説明。サブスクライバーは、説明に基づいてリスティングを検索できます。
[ソース データセット] で、データ エクスチェンジに表示するデータセットを選択します。ソース データセットは、データ エクスチェンジと同じリージョンに存在する必要があります。リスティングの作成後にこのフィールドを更新することはできません。
[下り(外向き)データ] で、適切な下り(外向き)オプションを選択します。エディション以外のサービスまたは Enterprise Plus エディションのサブスクライバーのみが、下り(外向き)データの制限があるデータをクエリできます。
- 共有データセットにデータ下り(外向き)制限を適用し、共有データセットのクエリ結果には適用しない場合は、[共有データのコピーとエクスポートを無効にする] を選択します。
- 共有データセットと共有データセットのクエリ結果に下り(外向き)制限を適用するには、[クエリ結果のコピーとエクスポートを無効にする] を選択します。これにより、[共有データのコピーとエクスポートを無効にする] も自動的に設定されます。
- 共有データセットに Data API のコピーとエクスポートの下り(外向き)制限を適用するには、[API を介したテーブルのコピーとエクスポートを無効にする] を選択します。これにより、[共有データのコピーとエクスポートを無効にする] も自動的に設定されます。
省略可: [リスティングの詳細] セクションで、[一般公開] 切り替えボタンをクリックして、一般公開の検出可能性を有効にします。
allUsers
またはallAuthenticatedUsers
に Analytics Hub 閲覧者のロール(roles/analyticshub.viewer
)を付与する必要があります。詳細については、リスティングのロールを付与するをご覧ください。すでに公開されているエクスチェンジの場合、リスティング権限がすでに継承されているため、追加の対応は必要ありません。一般に検索可能なエクスチェンジには、権限の継承により非公開リスティングを含めることはできませんが、非公開エクスチェンジには公開リスティングを含めることができます。公開リスティングを作成するには、データリスティングが含まれているプロジェクトに、関連付けられた組織と請求先アカウントが必要です。
オプション: [ドキュメント] > [マークダウン] セクションでは、データセットで実行できるサンプルクエリや、関連するドキュメントへのリンク、およびサブスクライバーがデータセットを使用するために役立つその他の情報など、追加情報を入力できます。
[保存] をクリックします。
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
メソッドをご覧ください。
データセットからリスティングを作成する
次の手順でデータセットからリスティングを作成することもできます。
Google Cloud コンソールで [BigQuery] ページに移動します。
データセットをクリックすると詳細が表示されます。
[> [リスティングとして公開] をクリックします。
共有][リスティングを作成] ダイアログが開きます。
このリスティングを公開するデータ エクスチェンジを選択します。データ エクスチェンジは、データセットと同じリージョンに存在する必要があります。データ エクスチェンジの作成の詳細については、エクスチェンジを作成して権限を設定するをご覧ください。
[データ下り(外向き)の制御] で、適切な下り(外向き)データ オプションを選択します。エディション以外のサービスまたは Enterprise Plus エディションのサブスクライバーのみが、下り(外向き)データの制限があるデータをクエリできます。
- 共有データセットにデータ下り(外向き)制限を適用し、共有データセットのクエリ結果には適用しない場合は、[共有データのコピーとエクスポートを無効にする] を選択します。
- 共有データセットと共有データセットのクエリ結果に下り(外向き)制限を適用するには、[クエリ結果のコピーとエクスポートを無効にする] を選択します。これにより、[共有データのコピーとエクスポートを無効にする] も自動的に設定されます。
- 共有データセットに Data API のコピーとエクスポートの下り(外向き)制限を適用するには、[API を介したテーブルのコピーとエクスポートを無効にする] を選択します。これにより、[共有データのコピーとエクスポートを無効にする] も自動的に設定されます。
リスティングの詳細を入力します。
[表示名] は、このリスティングの名前で、必須です。他のフィールドは省略可能です。
省略可: [一般公開] 切り替えボタンをクリックして、一般公開の検出可能性を有効にします。
allUsers
またはallAuthenticatedUsers
に Analytics Hub 閲覧者のロール(roles/analyticshub.viewer
)を付与する必要があります。詳細については、リスティングのロールを付与するをご覧ください。すでに公開されているエクスチェンジの場合、リスティング権限がすでに継承されているため、追加の対応は必要ありません。一般に検索可能なエクスチェンジには、権限の継承により非公開リスティングを含めることはできませんが、非公開エクスチェンジには公開リスティングを含めることができます。公開リスティングを作成するには、データリスティングが含まれているプロジェクトに、関連付けられた組織と請求先アカウントが必要です。
省略可: [ドキュメント] > [マークダウン] セクションでは、データセットで実行できるサンプルクエリや、関連するドキュメントへのリンク、およびサブスクライバーがデータセットを使用するために役立つその他の情報など、追加情報を入力できます。
[公開] をクリックします。
リスティングへのアクセス権をユーザーに付与する
ユーザーに非公開リスティングへのアクセスを許可する場合は、そのリスティングに対する個人またはグループの IAM ポリシーを設定する必要があります。商用リスティングの場合、データ エクスチェンジを公開する必要があります。一般公開データ エクスチェンジのリスティングが、すべての Google Cloud ユーザー(allAuthenticatedUsers
)のアナリティクス ハブに表示されます。ユーザーが商用リスティングへのアクセス権をリクエストできるようにするには、Analytics Hub 閲覧者のロールをご覧ください。
Google Cloud を使用していないユーザーを含むすべてのユーザーがリスティングにアクセスできるようにするには、allUsers
に Analytics Hub 閲覧者のロール(roles/analyticshub.viewer
)を付与する必要があります。
ユーザーにリスティングの閲覧や登録のアクセス権を与えるには、以下の手順を実施します。
コンソール
Analytics Hub ページに移動します。
リスティングを含むデータ交換名をクリックします。
サブスクライバーを追加するリスティングをクリックします。
[
権限を設定] をクリックします。プリンシパルを追加するには、[
プリンシパルを追加] をクリックします。[新しいプリンシパル] フィールドに、リスティングの種類に基づいて次の詳細情報を追加します。
限定公開リスティングの場合は、アクセス権を付与する ID のメールアドレスを入力します。
公開リスティングの場合は、
allAuthenticatedUsers
を追加します。Google Cloud ユーザー以外を含むすべてのユーザーが検索できる公開リスティングの場合は、
allUsers
を追加します。
[ロールを選択] で、[Analytics Hub] の上にポインタを置き、リスティングの種類に基づいて、次のいずれかのロールを選択します。
商用リスティングの場合は、Analytics Hub 閲覧者のロールを選択します。このロールにより、ユーザーはリスティングを表示してアクセス権をリクエストできます。
限定公開または商用以外のリスティングの場合は、Analytics Hub サブスクライバーのロールを選択します。このロールにより、ユーザーはリスティングに登録できます。
詳しくは、Analytics Hub のサブスクライバーと閲覧者のロールをご覧ください。
[保存] をクリックします。
API
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 は、レスポンスで現在のポリシーを返します。
メンバーとそれに関連するロールを追加または削除するには、テキスト エディタでポリシーを編集します。メンバーを追加するには、次の形式を使用します。
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" }
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
メソッドをご覧ください。
公開リスティングの未認証 URL を作成する
Google Cloud ユーザー以外にも表示できる、認証されていない Analytics Hub リスティング URL を作成するには、次の操作を行います。
Analytics Hub ページに移動します。
アクセス可能なすべてのデータ エクスチェンジを示すページが表示されます。
リスティングを含むデータ交換名をクリックします。
表示名をクリックすると、リスティングの詳細が表示されます。リスティングで一般公開の検出可能性が有効になっている必要があります。
[公開リンクをコピー] をクリックして、未認証のリスティング URL を生成します。このリスティングで、
allUsers
に Analytics Hub 閲覧者のロール(roles/analyticshub.viewer
)が付与されていることを確認します。
リスティング管理者を作成する
ユーザーがリスティングを管理できるようにするには、Analytics Hub のリスティング管理者を作成する必要があります。リスティング管理者を作成するには、リスティング レベルで Analytics Hub パブリッシャーまたは Analytics Hub リスティング管理者のロールをユーザーに付与する必要があります。リスティングに対するこれらのロールを付与する方法については、リスティングに対するロールを付与するをご覧ください。
サブスクリプションをすべて見る
リスティングへの現在のすべてのサブスクリプションを表示するには、次のいずれかのオプションを選択します。
Console
Analytics Hub ページに移動します。
サブスクリプションを管理するリスティングを含むデータ交換名をクリックします。
すべてのサブスクライバーを一覧表示するリスティングをクリックします。
リスティングのすべてのサブスクライバーを表示するには、[サブスクリプションを管理] をクリックします。
省略可: サブスクライバーの詳細で結果をフィルタできます。
また、共有データセットにアクセスできる場合は、次の手順でサブスクライバーを一覧表示します。
BigQuery ページに移動します。
[エクスプローラ] ペインでプロジェクトを開き、共有データセットを選択します。
[共有] リストで、[サブスクリプションを管理] を選択します。
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 日より前に作成されたサブスクリプションをリスティングから削除する手順は次のとおりです。
リスティングのすべてのサブスクライバーを一覧表示するには、すべてのサブスクリプションを表示するに記載されている Google Cloud コンソールの手順に従います。
リスティングからサブスクライバーを削除するには、
[削除] をクリックします。すべてのサブスクリプションを削除するには、[すべてのサブスクリプションを削除] をクリックします。[サブスクリプションを削除しますか?] ダイアログに「
remove
」と入力して確定します。[削除] をクリックします。
2023 年 7 月 25 日以降に作成されたサブスクリプションを削除する手順は次のとおりです。
コンソール
リスティングのすべてのサブスクライバーを一覧表示するには、すべてのサブスクリプションを表示するに記載されている Google Cloud コンソールの手順に従います。
[サブスクリプション] タブをクリックします。
リスティングからサブスクライバーを削除するには、削除するサブスクリプションを選択し、
[サブスクリプションを削除] をクリックします。[サブスクリプションを削除しますか?] ダイアログに「
remove
」と入力して確定します。[削除] をクリックします。
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。
リスティングを更新する
リスティングを更新する方法は次のとおりです。
コンソール
Analytics Hub ページに移動します。
リスティングを含むデータ交換名をクリックします。
更新するリスティングをクリックします。
[リスティングを編集] をクリックします。
フィールドの値を変更します。リスティングのソース データセットを除くすべての値を変更できます。
オプション:
- 一般公開の検出可能性を有効にする場合は、
allUsers
またはallAuthenticatedUsers
に Analytics Hub 閲覧者のロール(roles/analyticshub.viewer
)を付与します。詳細については、リスティングのロールを付与するをご覧ください。 - 一般公開の検出可能性を無効にする場合は、
allUsers
とallAuthenticatedUsers
から Analytics Hub 閲覧者のロールを削除します。公開エクスチェンジには非公開リスティングを含めることはできませんが、非公開エクスチェンジには公開リスティングを含めることができます。
- 一般公開の検出可能性を有効にする場合は、
変更内容をプレビューするには、[プレビュー] をクリックします。
変更を保存するには、[Save] をクリックします。
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
メソッドをご覧ください。
リスティングを削除する
リスティングを削除すると、リスティングンを閲覧できなくなります。リスティングを削除すると、サブスクライバーのプロジェクトからリンクされたすべてのデータセットも削除されます(すべてのサブスクリプションが解除されます)。
リスティングを削除した場合、元に戻すことはできません。リスティングを削除する方法は次のとおりです。
コンソール
Analytics Hub ページに移動します。
リスティングを含むデータ交換名をクリックします。
削除するリスティングをクリックします。
[
削除] をクリックします。[リスティングを削除しますか?] ダイアログで「削除」と入力して削除を確定します。
[削除] をクリックします。
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
メソッドをご覧ください。
注目のセクションにリスティングを表示する
Analytics Hub カタログでリスティングの可視性と認知度を高めるには、[注目] セクションにリスティングを表示します。注目のリスティングには、Google Cloud Partner Advantage 契約が適用されます。
Analytics Hub カタログの [注目] セクションにリスティングを表示するには、次の条件を満たしている必要があります。
共有データは BigQuery に保存されている必要があります。
Build の指定で Partner Advantage プログラムに登録されている必要があります。
リスティングが作成され、一般公開の検出可能性が有効になっている必要があります。
リスティングが [注目] セクションに表示されるようリクエストするには、受付フォームに入力して送信してください。セクションからリスティングを削除するようリクエストするには、同じ受付フォームを送信してください。
次のステップ
- Analytics Hub アーキテクチャについて読む
- リスティングを表示して登録する方法について詳細を確認する。
- Analytics Hub のユーザーロールについて学習する。
- データセットの作成について確認する。
- Analytics Hub の監査ロギングについて学習する。
- 詳しくは、リスティングをモニタリングする方法をご覧ください。