Analytics Hub のロールを構成する
このドキュメントでは、Analytics Hub のユーザーロールと、ユーザーにロールを付与する方法について説明します。詳細については、Analytics Hub のロールをご覧ください。
Analytics Hub のユーザーロール
以降のセクションでは、Analytics Hub の事前定義ロールについて説明します。ユーザーにこれらのロールを割り当てることで、データ交換とリスティングに関するさまざまなタスクを実行できます。
Analytics Hub の管理者ロール
データ交換を管理するために、Analytics Hub には、プロジェクトまたはデータの交換のために付与できる Analytics Hub 管理者ロール(roles/analyticshub.admin
)が用意されています。このロールによって、ユーザーは次のタスクを実施できます。
- データ交換を作成、更新、削除します。
- リスティングを作成、更新、削除、共有します。
- Analytics Hub 管理者、リスティング管理者、パブリッシャー、サブスクライバー、閲覧者を管理します。
このロールを持つユーザーは管理者と呼ばれます。
Analytics Hub のパブリッシャーとリスティング管理者のロール
リスティングを管理するために、Analytics Hub にはプロジェクト、データ交換、リスティングに対して付与できる次の事前定義ロールが用意されています。
Analytics Hub パブリッシャー ロール(
roles/analyticshub.publisher
)。これにより、ユーザーは以下のタスクを実行できます。- リスティングを作成、更新、削除します。
- リスティングに IAM ポリシーを設定します。
このロールを持つユーザーはパブリッシャーと呼ばれます。
Analytics Hub リスティング管理者ロール(
roles/analyticshub.listingAdmin
)。これにより、ユーザーは次のタスクを実行できます。- リスティングの更新と削除を行います。
- リスティングに IAM ポリシーを設定します。
Analytics Hub のサブスクライバーと閲覧者のロール
リスティングの表示と登録を行うために、Analytics Hub にはプロジェクト、データ交換、リスティングに対して付与できる次の事前定義ロールが用意されています。
Analytics Hub のサブスクライバー ロール(
roles/analyticshub.subscriber
)。これにより、ユーザーはリスティングを表示して登録できます。このロールを持つユーザーはサブスクライバーと呼ばれます。
Analytics Hub 閲覧者ロール(
roles/analyticshub.viewer
)。これにより、ユーザーはリスティングとデータ交換の権限を表示できます。このロールを持つユーザーは閲覧者と呼ばれます。
Analytics Hub のサブスクリプション オーナーのロール
サブスクリプションを管理するために、Analytics Hub には、プロジェクト レベルで付与できる次の事前定義ロールが用意されています。
- Analytics Hub サブスクリプション オーナー ロール(
roles/analyticshub.subscriptionOwner
)。これにより、ユーザーはサブスクリプションを管理できます。
Analytics Hub のロールを付与する
必要に応じて、次のレベルのリソース階層で Analytics Hub のロールを付与できます。
プロジェクト。ユーザーにプロジェクトのロールを付与すると、プロジェクトに含まれるすべてのデータ交換とリスティングにロールが適用されます。
データ交換。 ユーザーにデータ交換のロールを付与すると、データ交換に含まれるすべてのリスティングにロールが適用されます。
リスティング。ユーザーにリスティングのロールを付与すると、この特定のリスティングにのみロールが適用されます。
プロジェクトのロールを付与する
プロジェクトに対して IAM ポリシーを設定する場合は、プロジェクトに対する roles/resourcemanager.projectIamAdmin
ロールが必要です。事前定義されたプロジェクトの Analytics Hub ユーザーロールを付与する手順は次のとおりです。
コンソール
プロジェクトの [IAM] に移動します。
[
追加] をクリックします。[新しいプリンシパル] フィールドに、アクセスを付与する ID のメールアドレスを入力します。次に例を示します。
- Google アカウントのメールアドレス:
test-user@gmail.com
- Google グループ:
admins@googlegroups.com
- サービス アカウント:
server@example.gserviceaccount.com
- Google Workspace ドメイン:
example.com
- Google アカウントのメールアドレス:
[ロール] リストで、[Analytics Hub] の上にポインタを置き、次のいずれかのロールを選択します。
- Analytics Hub 管理者
- Analytics Hub パブリッシャー
- Analytics Hub リスティング管理者
- Analytics Hub サブスクライバー
- Analytics Hub 閲覧者
省略可: 条件付きロール バインディングを追加して、Google Cloud リソースへのユーザーのアクセスをさらに細かく制御します。
変更を保存します。
前述の手順で説明したように、同じ IAM パネルを使用してプロジェクトの管理者を削除および更新できます。
gcloud
プロジェクト レベルでロールを付与するには、gcloud projects add-iam-policy-binding
コマンドを使用します。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='PRINCIPAL' \ --role='roles/analyticshub.admin'
次のように置き換えます。
PROJECT_ID
: プロジェクト ID(例:my-project-1
)。PRINCIPAL
: ロールを付与する有効な ID。次に例を示します。
- Google アカウントのメールアドレス:
user:user@gmail.com
- Google グループ:
group:admins@googlegroups.com
- サービス アカウント:
serviceAccount:server@example.gserviceaccount.com
- Google Workspace ドメイン:
domain:example.com
- Google アカウントのメールアドレス:
API
リソースの
getIamPolicy
メソッドを使用して、既存のポリシーを読み取ります。プロジェクトの場合は、projects.getIamPolicy
メソッドを使用します。POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
PROJECT_ID
は、プロジェクト ID に置き換えます(例:my-project-1
)。プリンシパルとそれに関連するロールを追加するには、テキスト エディタでポリシーを編集します。メンバーを追加するには、次の形式を使用します。
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
たとえば、
roles/analyticshub.admin
ロールをgroup:admins@example.com
に付与するには、次のバインディングをポリシーに追加します。{ "members": [ "group:admins@example.com" ], "role":"roles/analyticshub.admin" }
setIamPolicy
メソッドを使用して、更新したポリシーを書き込みます。たとえば、ポリシーをプロジェクト レベルで設定するには、
project.setIamPolicy
メソッドを使用します。リクエストの本文で、前のステップで更新した IAM ポリシーを指定します。POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
PROJECT_ID
の部分は、プロジェクト ID で置き換えます。
データ交換のロールを付与する
データ交換のロールを付与する手順は次のとおりです。
コンソール
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
リクエストの本文で、リスティングの詳細を指定します。リクエストが成功した場合は、レスポンスの本文にリスティングの詳細が含まれます。
前述の手順で説明したように、同じ IAM パネルを使用してデータ交換のロールを削除および更新できます。
リスティングのロールを付与する
リスティングのロールを付与する手順は次のとおりです。
コンソール
Google Cloud コンソールで、[Analytics Hub] ページに移動します。
リスティングを含むデータ交換名をクリックします。
ユーザーを追加するリスティングをクリックします。
[権限を設定] をクリックします。
プリンシパルを追加するには、
[プリンシパルを追加] をクリックします。[新しいプリンシパル] フィールドに、アクセス権を付与する ID のメールアドレスを追加します。
[ロールを選択] で、ポインタを [Analytics Hub] に合わせ、次のいずれかのロールを選択します。
- Analytics Hub 管理者
- 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 により現在のポリシーが返されます。
メンバーとそれに関連する 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.publisher
ロールをgroup:publishers@example.com
に付与するには、次のバインディングをポリシーに追加します。{ "members": [ "group:publishers@example.com" ], "role":"roles/analyticshub.publisher" }
projects.locations.dataExchanges.listings.setIamPolicy
メソッドを使用して、更新したポリシーを書き込みます。リクエストの本文で、前のステップで更新した IAM ポリシーを指定します。POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING-ID:setIamPolicy
リクエストの本文で、リスティングの詳細を指定します。リクエストが成功した場合は、レスポンスの本文にリスティングの詳細が含まれます。
リスティングのロールの削除と更新は、前述の手順で説明したものと同じ IAM パネルで行うことができます。
次のステップ
- IAM について確認する。
- BigQuery の IAM のロールについて確認する。
- Analytics Hub IAM ロールのリストを確認する。
- Analytics Hub について確認する。
- データ交換を管理する方法を確認する。
- リスティングを管理する方法を確認する。
- リスティングを表示して登録する方法について確認する。
- Analytics Hub の監査ロギングについて確認する。