データ交換を管理する
Analytics Hub 管理者は、次の操作を行えます。
- データ交換を作成、更新、表示、共有、削除します。
- リスティングを作成、更新、削除、共有します。
- Analytics Hub 管理者を管理し、管理者、パブリッシャー、サブスクライバー、閲覧者を一覧表示します。
デフォルトでは、データ交換は限定公開であり、その交換にアクセスできるユーザーまたはグループのみがデータを表示またはデータに登録できます。ただし、Google Cloud ユーザー(allAuthenticatedUsers
)がリストを検出してサブスクライブする場合は、データ交換の公開をするようにリクエストできます。
始める前に
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 を有効にする方法は次のとおりです。
コンソール
Google Cloud プロジェクトの Analytics Hub API に移動して有効にします。
gcloud
gcloud services enable コマンドを実行します。
gcloud services enable analyticshub.googleapis.com
必要な権限
データ交換を管理するには、Analytics Hub 管理者のロール(roles/analyticshub.admin
)が必要です。詳細については、Analytics Hub 管理者のロールをご覧ください。このロールを他のユーザーに付与する方法については、Analytics Hub 管理者の作成をご覧ください。
データ交換を作成する
データ交換を作成するには、次の手順に沿って操作します。
コンソール
Analytics Hub ページに移動します。
[エクスチェンジの作成] をクリックします。
[エクスチェンジの作成] ダイアログで、データ交換の [プロジェクト] と [リージョン] を選択します。データ交換の作成後にプロジェクトとリージョンを更新することはできません。
[表示名] に、データ交換の名前を入力します。
省略可: 次のフィールドに値を入力します。
- メインの連絡先: データ交換に関するメインの連絡先の URL またはメールアドレスを入力します。
- 説明: データ交換の説明を入力します。
一般公開の検出可能性をオンにするには、[一般公開の検出可能性] の切り替えボタンをクリックします。エクスチェンジが一般公開されると、エクスチェンジ内のすべてのリスティングがカタログに表示され、検索できるようになります。一般公開の検出可能性を有効にする場合は、エクスチェンジの権限を構成する必要があります。権限の継承により、すべてのリスティングはデフォルトで、エクスチェンジと同じ一般公開の検出可能性タイプに設定されます。そのため、公開エクスチェンジには非公開リスティングを含めることはできませんが、非公開エクスチェンジには公開リスティングを含めることができます(たとえば、公開の検出可能性のタイプを個々のリスティング レベルで設定できます)。データ エクスチェンジを作成するプロジェクトには、関連付けられた組織と請求先アカウントが必要です。
[エクスチェンジの作成] をクリックします。
省略可: [エクスチェンジの権限] セクションで、次の操作を行います。
次のフィールドにメールアドレスを入力して、Analytics Hub のユーザーロールを付与します。
- 管理者: これらのユーザーには、Analytics Hub 管理者のロールが割り当てられます。
- パブリッシャー: これらのユーザーには、Analytics Hub パブリッシャーのロールが割り当てられます。パブリッシャーが実行できるタスクについては、リスティングの管理をご覧ください。
- サブスクライバー: これらのユーザーには Analytics Hub のサブスクライバーのロールが割り当てられます。サブスクライバーが実行できるタスクについては、リスティングの表示と登録をご覧ください。
- 閲覧者: これらのユーザーには、Analytics Hub 閲覧者のロールが割り当てられます。閲覧者はリスティングを表示できます。
- 一般公開の検出可能性が有効になっている場合は、
allUsers
またはallAuthenticatedUsers
に Analytics Hub 閲覧者のロール(roles/analyticshub.viewer
)を付与します。
- 一般公開の検出可能性が有効になっている場合は、
権限を保存するには、[権限を設定] をクリックします。
データ交換の権限を設定していない場合は、[スキップ] をクリックします。
API
projects.locations.dataExchanges.create
メソッドを使用します。
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges?dataExchangeId=DATAEXCHANGE_ID
次のように置き換えます。
PROJECT_ID
: データ交換を作成するプロジェクトの ID。LOCATION
: データ交換のロケーション。Analytics Hub をサポートするロケーションの詳細については、サポート対象のリージョンをご覧ください。DATAEXCHANGE_ID
: データ交換の ID。
リクエストの本文で、データ交換の詳細を指定します。リクエストが成功した場合は、レスポンスの本文にデータ交換の詳細が含まれます。
API でデータ交換に対して実行できるタスクの詳細については、projects.locations.dataExchanges
メソッドをご覧ください。
データ交換を更新する
データ交換を更新するには、次の手順に沿って操作します。
コンソール
Analytics Hub ページに移動します。
データ交換のリストで、更新するデータ交換をクリックします。
[エクスチェンジの編集] をクリックします。
[エクスチェンジの編集] ダイアログで、次の項目を更新します。
- 表示名
- メインの連絡先
- 説明
- 一般公開の検出可能性
- 一般公開の検出可能性を有効にする場合は、
allUsers
またはallAuthenticatedUsers
に Analytics Hub 閲覧者のロール(roles/analyticshub.viewer
)を付与します。 - 一般公開の検出可能性を無効にする場合は、
allUsers
またはallAuthenticatedUsers
から Analytics Hub 閲覧者のロール(roles/analyticshub.viewer
)を削除します。公開エクスチェンジには非公開リスティングを含めることはできませんが、非公開エクスチェンジには公開リスティングを含めることができます。
- 一般公開の検出可能性を有効にする場合は、
[保存] をクリックします。
API
projects.locations.dataExchanges.patch
メソッドを使用します。
PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK
UPDATEMASK
は、更新するフィールドのリストに置き換えます。複数の値を更新するには、カンマ区切りのリストを使用します。たとえば、データ交換の表示名と連絡先担当者を更新するには、「displayName,primaryContact
」と入力します。
リクエストの本文で、次のフィールドの更新後の値を指定します。
- 表示名
- 説明
- ドキュメント
- アイコン
- メインの連絡先
- 一般公開の検出可能性
API でデータ交換に対して実行できるタスクの詳細については、projects.locations.dataExchanges
メソッドをご覧ください。
データ交換を表示する
アクセスできる組織内のすべてのデータ交換を表示するには、次の手順に沿って操作します。
コンソール
Analytics Hub ページに移動します。
Google Cloud 組織内のデータ交換のリストを表示します。
API
organizations.locations.dataExchanges.list
メソッドを使用します。
GET https://analyticshub.googleapis.com/v1/organizations/ORGANIZATION_ID/location/LOCATION/dataExchanges
次のように置き換えます。
- ORGANIZATION_ID: 組織 ID。詳細については、組織 ID の取得をご覧ください。
- LOCATION: 既存のデータ交換を一覧表示するロケーション。
データ交換を共有する
Analytics Hub パブリッシャーが、データ交換が含まれる組織とは異なる組織に属している場合、パブリッシャーが Analytics Hub でデータ交換を表示することはできません。データ交換へのリンクをパブリッシャーと共有する必要があります。
Analytics Hub ページに移動します。
データ交換のリストから、
[その他のオプション] をクリックします。[共有リンクをコピー] をクリックします。
ユーザーにデータ交換へのアクセス権を付与する
ユーザーがデータ交換にアクセスできるようにするには、そのデータ交換についての IAM ポリシーを設定する必要があります。事前定義された IAM ユーザーロールについては、Analytics Hub のユーザーロールをご覧ください。方法は次のとおりです。
コンソール
Google Cloud コンソールで、[Analytics Hub] ページに移動します。
権限を設定するデータ交換名をクリックします。
[権限を設定] をクリックします。
プリンシパルを追加するには、
[プリンシパルを追加] をクリックします。[新しいプリンシパル] フィールドに、アクセス権限を付与するメールアドレスを追加します。
[ロールを選択] で、[Analytics Hub] の上にポインタを置き、次のいずれかの Identity and Access Management(IAM)ロールを選択します。
- Analytics Hub 管理者
- Analytics Hub パブリッシャー
- Analytics Hub リスティング管理者
- Analytics Hub サブスクライバー
- Analytics Hub 閲覧者
[保存] をクリックします。
API
projects.locations.dataExchanges.getIamPolicy
メソッドを使用して、リスティングgetIamPolicy
メソッドがある既存のポリシーを読み取ります。POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
次のように置き換えます。
PROJECT_ID
: プロジェクト ID(例:my-project-1
)。LOCATION
: データ交換のロケーション。DATAEXCHANGE_ID
: データ交換 ID。
Analytics Hub により現在のポリシーが返されます。
メンバーとそれに関連する Identity and Access Management(IAM)のロールを追加または削除するには、テキスト エディタでポリシーを編集します。メンバーを追加するには、次の形式を使用します。
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.setIamPolicy
メソッドを使用して、更新したポリシーを書き込みます。リクエストの本文で、前のステップで更新した IAM ポリシーを指定します。POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
リクエストの本文で、リスティングの詳細を指定します。リクエストが成功した場合は、レスポンスの本文にリスティングの詳細が含まれます。
Analytics Hub 管理者の作成
データ交換を管理するには、Analytics Hub 管理者を作成する必要があります。交換管理者を作成するには、プロジェクト レベルまたはデータ交換レベルで Analytics Hub 管理者のロール(roles/analyticshub.admin
)をユーザーに付与する必要があります。
管理者がプロジェクト内のすべてのデータ交換を管理できるようにするには、そのプロジェクトの Analytics Hub 管理者ロールを付与します。管理者が特定のデータ交換を管理できるようにするには、対象のデータ交換に対する Analytics Hub 管理者のロールを付与します。
データ交換を一般公開する
デフォルトでは、データ交換は限定公開であり、その交換にアクセスできるユーザーまたはグループのみがリスティングを表示またはリスティングに登録できます。ただし、データ交換を一般公開することは可能です。一般公開のデータ交換のリスティングは、Google Cloud ユーザー(allAuthenticatedUsers
)が検出および登録できます。
データ交換を公開するには、以下の手順に沿って操作します。
allAuthenticatedUsers
がリスティングを表示できるようにするには、データ交換レベルで Analytics Hub の閲覧者のロールを付与する必要があります。allAuthenticatedUsers
がリスティングに登録できるようにするには、データ交換レベルで Analytics Hub サブスクライバーのロールを付与する必要があります。データ交換を作成または更新するときに、一般公開の検出可能性をオンにします。データ交換を一般公開するときに、適切な権限を指定します。
データ交換を削除する
データ交換を削除すると、含まれているリスティングもすべて削除されます。ただし、共有データセットとリンクされたデータセットは削除されません。また、プロジェクトが削除されても、プロジェクト内のデータ交換は削除されません。プロジェクトを削除する前に、手動でこれらのデータ交換を削除する必要があります。データ交換を削除すると、元に戻すことはできません。
データ交換を削除するには、次の手順に沿って操作します。
コンソール
Analytics Hub ページに移動します。
データ交換のリストで、削除するデータ交換をクリックします。
[エクスチェンジを削除] をクリックします。
[エクスチェンジを削除しますか?] ダイアログで「削除」と入力して削除を確定します。
[削除] をクリックします。
API
projects.locations.dataExchanges.delete
メソッドを使用します。
DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID
API でデータ交換に対して実行できるタスクの詳細については、projects.locations.dataExchanges
メソッドをご覧ください。
次のステップ
- リスティングの管理について詳細を確認する。
- Analytics Hub のユーザーロールを付与する方法を確認する。
- リスティングを表示して登録する方法について詳細を確認する。
- Analytics Hub の監査ロギングについて確認する。