メインコンテンツまでスキップ

Google Cloud リソースを接続する

Google Cloud のリソースは階層的に編成されています。Google Cloud の Identity and Access Management(IAM)システムを使用して、特定のリソースへのきめ細かいアクセス権を割り当て、他のリソースへの不要なアクセスを防止できます。IAM ポリシーの階層は、Google Cloud のリソース階層と同じパスに従います。

DoiT プラットフォームのすべての機能を提供するために、監視やアラートのための情報を取得したり、該当する場合は推奨事項に基づくアクションを支援したりする目的で、Google API へのアクセスに対して異なるレベルの権限が必要です。詳細は、Security and data access policy: Feature permissions を参照してください。

必要な権限

Google Cloud リソースを DoiT コンソールに接続するには:

  • お使いの DoiT アカウントに Manage Settings の権限が必要です。

  • Google Cloud の Organization を接続するには、その組織で Organization Role Administratorroles/iam.organizationRoleAdmin)IAM ロールが付与されている必要があります。このロールは、組織配下のサービス アカウントにカスタム ロールを作成して付与するために必要です。

  • 既に接続済みの Organization に属していない Google Cloud のプロジェクトを接続するには、そのプロジェクトで Role Administratorroles/iam.RoleAdmin)IAM ロールが付与されている必要があります。このロールは、プロジェクト配下のサービス アカウントにカスタム ロールを作成して付与するために必要です。

  • Google Cloud Recommender BigQuery Export からのインサイト 用に BigQuery のデータセットを接続するには、そのデータセットをホストしているプロジェクトで Role Administratorroles/iam.RoleAdmin)IAM ロールが付与されている必要があります。このロールは、プロジェクト配下のサービス アカウントにカスタム ロールを作成して付与するために必要です。

現時点では、DoiT の機能の大部分は Organization レベルでの権限を必要とする点にご注意ください。機能およびコア機能の権限のうち、プロジェクト レベルで付与できるものは一部に限られます。

サービス アカウント認証

Google Cloud は、workloads の ID としてサービス アカウントの利用をサポートしています。2023 年 6 月以降、DoiT コンソールの workloads におけるサービス アカウントの推奨認証方式は、サービス アカウント キーに関連するセキュリティ リスクを軽減する service account impersonation に変更されました。

service account impersonation には 2 つのプリンシパルが関与します:

  • 対象リソースへアクセスするための必要な権限を持つ、特権保有のサービス アカウント

  • 対象リソースにアクセスする必要があるが権限を持たない、呼び出し元

DoiT の workloads 向けに ID を構成する

DoiT コンソールを接続する際、DoiT の workloads 用の ID 構成として主に次の 2 つの作業が必要です:

  • タスク 1:対象リソースにアクセスする権限を持つ特権保有のサービス アカウントを作成する。

  • タスク 2:DoiT が所有するサービス アカウント [email protected](呼び出し元)に ServiceAccountTokenCreator ロールを付与し、特権保有のサービス アカウントの偽装を許可する。

    注意

    ドメインで ID を制限する GCP の organization policy を使用している場合は、Organization Resource ID C03rw2ty2 を使用して DoiT の呼び出し元サービス アカウントを許可リストに追加してください。

以下は詳細な構成手順です:

  1. DoiT コンソールにサインインし、上部ナビゲーション バーから Integrate を選択し、Google Cloud を選択します。

    Google Cloud settings empty

  2. 対象リソースの種類に応じて、次のセクションに進みます:

Organization を接続

  1. Connect ドロップダウンから Organization を選択します。

  2. Organization で有効にする機能を選択します。必要な権限を確認するには、各機能を展開できます。

    Google Cloud settings new organization

  3. Generate gcloud commands を選択します。実行が必要な gcloud コマンドが DoiT コンソールに表示されます。

    Create service account

  4. BigQuery Intelligence のデータセットを保存するロケーションを選択します。

  5. Google Cloud Shell を起動 します。

  6. 次の条件を満たす Google Cloud プロジェクトを選択します:

    • プロジェクトが自組織に属している。

    • プロジェクトが Google Cloud Billing アカウントに接続されている(プロジェクトの課金状態を確認 を参照)。

    • 長期的に維持し、信頼できる人だけにアクセスを制限する予定である。

  7. DoiT コンソールに表示されたコマンドを順番に実行して、Organization のアクセス制御を構成します:

    1. 現在のプロジェクトに新しいサービス アカウントを作成します。

    2. 現在のプロジェクトで、Service Usage API と Resource Manager API を有効にします。

    3. Google IAM の Organization ID を取得します。

    4. 選択した機能に必要な権限を持つ doit_cmp_role という名前のカスタム ロールを作成し、ポリシー バインディングを追加して、そのロールを組織配下の新しいサービス アカウントに付与します。権限は Organization レベルで付与されます。

    5. IAM ポリシー バインディングを追加し、DoiT の呼び出し元サービス アカウントにロール roles/iam.serviceAccountTokenCreator を付与して、特権保有のサービス アカウントの偽装を許可します。

  8. Google Cloud コンソールにサインインし、Roles ページ に移動して、組織内で DoiT のサービス アカウントに関連付けられた doit_cmp_role を作成できていることを確認します。

プロジェクトを接続する

注意

このセクションは次の状況に該当する場合に適用されます。

プロジェクトを接続するには:

  1. Connect ドロップダウンから Project を選択します。

  2. プロジェクトで有効化したい機能を選択します。機能を展開すると、必要な権限を確認できます。

    Google Cloud settings new project

  3. Generate gcloud commands を選択します。実行が必要な gcloud コマンドが DoiT コンソールに表示されます。

    gcloud commands for projects

  4. Google IAM Project ID を取得します。詳しくは プロジェクトの特定 を参照してください。

  5. Google Cloud Shell を起動 し、接続したいプロジェクトを選択します。

  6. DoiT コンソールで提供されたコマンドを順に実行して、プロジェクトのアクセス制御を設定します。

    1. プロジェクト ID を設定します。

    2. プロジェクトに新しいサービス アカウントを作成します。

    3. プロジェクトで Service Usage API と Resource Manager API を有効にします。

    4. 選択した機能に必要な権限を持つカスタム ロール doit_cmp_role を作成し、ポリシー バインディングを追加 して、そのロールを新しいサービス アカウントに付与します。権限はプロジェクト レベルで付与されます。

    5. DoiT の呼び出し元サービス アカウントにロール roles/iam.serviceAccountTokenCreator を付与する IAM ポリシー バインディングを追加し、権限を持つサービス アカウントのなりすましを許可します。

    6. サービス アカウントの詳細を doit_cmp_sa_details.json というファイルにダウンロードし、DoiT コンソールで Upload file を選択してアップロードします。

  7. Google Cloud コンソールにサインインし、Roles ページ に移動して、プロジェクトに DoiT のサービス アカウントに紐づく doit_cmp_role が作成されていることを確認します。

データセットを接続する

GCP Recommender の BigQuery エクスポートからのインサイト を有効にするには、インサイトと推奨事項のデータを含む BigQuery データセットを接続する必要があります。

重要

以下の前提条件をすべて満たしている場合にのみ進めてください。

  • Google Cloud Recommender のインサイトと推奨事項のデータが BigQuery データセットにエクスポートされている。

  • 組織を接続する際に Core 機能を有効にしている。

  • BigQuery データセットをホストするプロジェクトを接続する際に Core 機能を有効にしている。

  1. Connect ドロップダウンから Dataset を選択します。

  2. Insights from GCP Recommender BigQuery export のチェックボックスを選択します。機能を展開すると、必要な権限を確認できます。

    Google Cloud settings new dataset

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

    gcloud commands for dataset access

  4. 新しいサービス アカウント名を構成するために、データセット名と識別子を入力します。DoiT コンソールに表示される命名規則に従ってください。

  5. Google IAM Project ID を取得します。詳しくは プロジェクトの特定 を参照してください。

  6. Google Cloud Shell を起動 し、データセットをホストしているプロジェクトを選択します。

  7. DoiT コンソールで提供されたコマンドを順に実行して、BigQuery データセット リソースのアクセス制御を設定します。

    1. プロジェクト ID を設定します。

    2. データセット アクセス用の新しいサービス アカウントを作成します。

    3. プロジェクト レベルの権限を持つカスタム ロール doit_cmp_dataset_project_access_role を作成し、ポリシー バインディングを追加 して、そのロールをサービス アカウントに付与します。

    4. データセット レベルの権限を持つカスタム ロール doit_cmp_dataset_access_role を作成し、データセットの IAM ポリシーを更新して、そのロールをサービス アカウントに付与します。

    5. DoiT の呼び出し元サービス アカウントにロール roles/iam.serviceAccountTokenCreator を付与する IAM ポリシー バインディングを追加し、権限を持つサービス アカウントのなりすましを許可します。

  8. サービス アカウントの詳細を doit_cmp_dataset_sa_details.json というファイルにダウンロードし、DoiT コンソールで Upload file を選択してアップロードします。

  9. Google Cloud コンソールにサインインし、Roles ページ に移動して、プロジェクトに DoiT のサービス アカウントに紐づく 2 つのカスタム ロール(doit_cmp_dataset_project_access_roledoit_cmp_dataset_access_role)が作成されていることを確認します。

ロールを更新する

リソースに機能を追加または削除するには:

  1. 画面上部のナビゲーション バーから Integrate を選択し、Google Cloud を選択します。

  2. 更新したいリソースの横にあるケバブ メニュー()を選択し、Edit を選択します。

  3. 必要に応じて機能の選択を変更します。

  4. Generate gcloud commands を選択します。

  5. サイド パネルに表示される手順に従って、カスタム ロールを更新します。

複数のリソースを接続する

  • 複数の Google Cloud 組織またはプロジェクトがある場合は、特定の機能へのアクセス権をどの組織またはプロジェクトに付与するかを制御するために、それぞれ個別に接続します。

    なお、BigQuery Intelligence は現時点で複数のサービス アカウントをサポートしていません。詳しくは BigQuery Intelligence の設定 を参照してください。

  • インサイトと推奨事項のために複数の BigQuery データセットを接続した場合、DoiT Insights は接続されたすべてのデータセットのデータに基づいてインサイトを生成します。

接続を削除する

接続済みの組織、プロジェクト、またはデータセットを削除するには:

  1. 切断したいリソースの横にあるケバブ メニュー()を選択します。

  2. Delete connection を選択します。

サービス アカウントを削除する

接続済みの組織配下のサービス アカウントを DoiT コンソールから削除して新しいものを作成する必要がある場合は、次に注意してください。

  • DoiT コンソールからサービス アカウントを削除すると、BigQuery Intelligence によって作成された関連データセットとシンクも削除されます。

  • 新しいサービス アカウントに BigQuery Intelligence の権限を付与すると、シンクを再作成し、履歴ジョブのバックフィルをトリガーします。これにより、サービス アカウントのセットアップ中にコストが増加する可能性があります。