Google Cloud リソースを接続する
Google Cloud のリソースは階層的に構成されています。Google Cloud の Identity and Access Management(IAM)システムを使用して、特定のリソースへのきめ細かいアクセス権を付与し、不要なアクセスを防ぐことができます。IAM ポリシーの階層は、Google Cloud のリソース階層と同じ構造に従います。
DoiT プラットフォームの機能をすべて提供するために、Google API にアクセスしてモニタリングやアラート用の情報を取得し、必要に応じて推奨事項に基づいて行動できるようにする目的で、さまざまなレベルでの権限が必要となります。詳細は、セキュリティとデータアクセスに関するポリシー: 機能権限を参照してください。
必要な権限
Google Cloud リソースを DoiT コンソールに接続するには、次の条件を満たす必要があります。
-
使用する DoiT アカウントに Manage Settings 権限が付与されていること。
-
Google Cloud Organization を接続するには、その組織に 対して Organization Role Administrator(
roles/iam.organizationRoleAdmin)IAM ロールが付与されている必要があります。このロールは、組織配下のサービスアカウントにカスタムロールを作成して付与するために必要です。 -
まだ接続されていない組織に属していない Google Cloud プロジェクトを接続するには、そのプロジェクトに対して Role Administrator(
roles/iam.RoleAdmin)IAM ロールが付与されている必要があります。このロールは、プロジェクト配下のサービスアカウントにカスタムロールを作成して付与するために必要です。 -
Google Cloud Recommender BigQuery Export からのインサイト を表示するために BigQuery データセットを接続する場合は、そのデータセットをホストしているプロジェクトに対して Role Administrator(
roles/iam.RoleAdmin)IAM ロールが付与されている必要があります。このロールは、プロジェクト配下のサービスアカウントにカスタムロールを作成して付与するために必要です。
サービスアカウント認証
Google Cloud は、service accounts をワークロードの ID として使用することをサポートしています。2023 年 6 月以降、DoiT コンソールのワークロードでサービスアカウントを認証する推奨方法は、サービスアカウントキーに関連するセキュリティリスクを軽減する service account impersonation に変更されます。
サービスアカウントのなりすまし(impersonation)には、次の 2 つのプリンシパルが関与します。
-
対象リソースにアクセスするために必要な権限を持つ 権限保持サービスアカウント(privilege-bearing service account)
-
対象リソースにアクセスする必要があるものの、権限を持たない 呼び出し元(caller)
DoiT ワークロード用の ID を設定する
DoiT コンソールを接続する際、DoiT ワークロード用の ID を設定するために主に以下の 2 つのタスクを実行する必要があります。
-
タスク 1: 対象リソースにアクセスする権限を持つ、権限保持サービスアカウントを作成します。
-
タスク 2: DoiT が所有するサービスアカウント
[email protected](caller)にServiceAccountTokenCreatorロールを付与し、権限保持サービスアカウントになりすませるようにします。注意ドメインで ID を制限する GCP 組織ポリシー を使用している場合は、DoiT の caller サービスアカウントの Organization Resource ID
C03rw2ty2を allowlist に追加してください。
以下は、詳細な設定手順です。
-
DoiT コンソール にサインインし、トップナビゲーションのメガメニューから Data ingestion and integrations > Google Cloud を選択します。
-
対象リソースタイプに応じたセクションに進みます。

組織を接続する
-
Connect ドロップダウンから Organization を選択します。
-
組織で有効にしたい機能を選択します。各機能を展開すると、必要な権限を確認できます。

-
Generate gcloud commands を選択します。実行する必要がある生成済みの gcloud コマンドが DoiT コンソールに表示されます。

-
BigQuery Intelligence データセットを保存するロケーションを選択します。
-
Google Cloud Shell セッションを起動します。
-
次の条件を満たす Google Cloud プロジェクトを選択します。
-
プロジェクトが自分の組織に属している。
-
プロジェクトが Google Cloud 請求アカウントに接続されている(プロジェクトの課金ステータスを確認する を参照)。
-
長期的に維持し、信頼できるメンバーのみにアクセスを制限する予定のプロジェクトである。
-
-
DoiT コンソールで表示されたコマンドを順番に実行し、組織のアクセス制御を構成します。
-
現在のプロジェクトに新しいサービスアカウントを作成します。
-
現在のプロジェクトで service usage API と resource manager API を有効にします。
-
Google IAM 組織 ID を取得します。
-
選択した機能に必要な権限を持つ
doit_cmp_roleという名前のカスタムロールを作成し、そのロールを組織配下の新しいサービスアカウントにアタッチするために ポリシーバインディングを追加します。権限は組織レベルで付与されます。 -
roles/iam.serviceAccountTokenCreatorロールを DoiT の caller サービスアカウントに付与する IAM ポリシーバインディングを追加し、権限保持サービスアカウントになりすませるようにします。
-
-
Google Cloud コンソールにサインインし、Roles ページ に移動して、組織内で DoiT サービスアカウントにリンクされた
doit_cmp_roleが作成されていることを確認します。
プロジェクトを接続する
このセクションは、次のような場合に該当します。
-
まだ接続されていない組織に属していない Google Cloud プロジェクトを接続したい場合。
-
DoiT Insights で GCP Recommender BigQuery export からのインサイトを表示するために、データセットを接続 したい場合。
-
BigQuery のリアルタイムアノマリー検出 や Composer などのプロジェクトレベルの機能を有効にしたい場合。
プロジェクトを接続するには、次の手順を実行してください。
-
Connect ドロップダウンから Project を選択します。
-
プロジェクトで有効にしたい機能を選択します。各機能を展開すると、必要な権限を確認できます。

-
Generate gcloud commands を選択します。実行する必要がある生成済みの gcloud コマンドが DoiT コンソールに表示されます。

-
Google IAM Project ID を取得します。プロジェクトの特定を参照してください。
-
Google Cloud Shell セッションを起動し、接続したいプロジェクトを選択します。
-
DoiT コンソールで表示されたコマンドを順番に実行し、プロジェクトのアクセス制御を構成します。
-
プロジェクト ID を設定します。
-
プロジェクトに新しいサービスアカウントを作成します。
-
プロジェクトで service usage API と resource manager API を有効にします。
-
選択した機能に必要な権限を持つ
doit_cmp_roleという名前のカスタムロールを作成し、そのロールを新しいサービスアカウントにアタッチするために ポリシーバインディングを追加します。権限はプロジェクトレベルで付与されます。 -
roles/iam.serviceAccountTokenCreatorロールを DoiT の caller サービスアカウントに付与する IAM ポリシーバインディングを追加し、権限保持サービスアカウントになりすませるようにします。 -
サービスアカウントの詳細を
doit_cmp_sa_details.jsonという名前のファイルにダウンロードし、DoiT コンソールで Upload file を選択してファイルをアップロードします。
-
-
Google Cloud コンソールにサインインし、Roles ページ に移動して、プロジェクト内で DoiT サービスアカウントにリンクされた
doit_cmp_roleが作成されていることを確認します。
データセットを接続する
GCP Recommender BigQuery export からのインサイトを有効にするには、インサイトとリコメンデーションのデータを含む BigQuery データセットを接続する必要があります。
以下の前提条件をすべて満たしている場合にのみ続行してください。
-
Google Cloud Recommender からのインサイトおよびリコメンデーションのデータが BigQuery データセットにエクスポートされている。
-
組織を接続する際に Core 機能を有効にしている。
-
BigQuery データセットをホストしているプロジェクトを接続する際に Core 機能を有効にしている。
-
Connect ドロップダウンから Dataset を選択します。
-
Insights from GCP Recommender BigQuery export のチェックボックスを選択します。機能を展開して、必要な権限を確認できます。

-
Generate gcloud commands を選択し、実行が必要な手順と gcloud コマンドを表示します。

-
新しいサービスアカウントを作成するために、データセット名と識別子を入力します。DoiT コンソールに表示されている命名規則に従ってください。
-
Google IAM プロジェクト ID を取得します。Identifying projects を参照してください。
-
Google Cloud Shell を起動し、データセットをホストしているプロジェクトを選択します。
-
DoiT コンソールで表示されるコマンドを順番に実行して、BigQuery データセットリソースのアクセス制御を設定します。
-
プロジェクト ID を設定します。
-
データセットへのアクセス用の新しいサービスアカウントを作成します。
-
プロジェクトレベルの権限を持つ
doit_cmp_dataset_project_access_roleというカスタムロールを作成し、そのロールをサービスアカウントに付与するために、Add a policy binding を実行します。 -
データセットレベルの権限を持つ
doit_cmp_dataset_access_roleというカスタムロールを作成し、データセットの IAM ポリシーを更新して、そのロールをサービスアカウントに付与します。 -
DoiT のコーラーサービスアカウントに対して
roles/iam.serviceAccountTokenCreatorロールを付与する IAM ポリシーバインディングを追加し、そのサービスアカウントが権限を持つサービスアカウントを偽装できるようにします。
-
-
サービスアカウントの詳細を
doit_cmp_dataset_sa_details.jsonという名前のファイルにダウンロードし、DoiT コンソールで Upload file を選択してファイルをアップロードします。 -
Google Cloud コンソールにサインインし、Roles ページに移動して、プロジェクト内の DoiT サービスアカウントに関連付けられた 2 つのカスタムロール(
doit_cmp_dataset_project_access_roleとdoit_cmp_dataset_access_role)が作成されていることを確認します。
ロールを更新する
リソースに対して機能を追加または削除するには、次 の手順に従ってください。
-
画面上部のナビゲーションメガメニューから Data ingestion and integrations > Google Cloud を選択します。
-
更新したいリソースの横にあるケバブメニュー(⋮)を選択し、Edit を選択します。
-
必要に応じて機能の選択を変更します。
-
Generate gcloud commands を選択します。
-
サイドパネルに表示される手順に従って、カスタムロールを更新してください。
複数のリソースを接続する
-
複数の Google Cloud 組織またはプロジェクトがある場合は、それぞれを個別に接続して、どの組織またはプロジェクトが特定の機能にアクセスできるかを制御してください。
なお、現時点では BigQuery Intelligence は複数のサービスアカウントをサポートしていません。Set up BigQuery Intelligence を参照してください。
-
インサイトとリコメンデーション用に複数の BigQuery データセットを接続した場合、DoiT Insights は接続されているすべてのデータセット内のデータに基づいてインサイトを生成します。