メインコンテンツへスキップ

Google Cloud リソースを接続する

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

DoiT プラットフォームのすべての機能を提供するため、Google API にアクセスして監視やアラートのための情報を取得し、必要に応じて推奨事項に基づいて対応できるよう、異なるレベルでの権限が必要です。詳細はセキュリティとデータアクセスに関するポリシー:機能の権限を参照してください。

必要な権限

DoiT コンソールと Google Cloud のリソースを接続するには、次の条件を満たしてください。

  • あなたの DoiT アカウントに Manage Settings 権限が必要です。

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

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

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

サービス アカウントによる認証

Google Cloud では、サービス アカウントワークロードの IDとして使用できます。2023 年 6 月以降、DoiT コンソールのワークロード向けサービス アカウントの推奨される認証方法はサービス アカウントの偽装(service account impersonation)に変更され、サービス アカウント キーに関連するセキュリティ リスクを軽減します。

サービス アカウントの偽装には 2 つのプリンシパルが関与します。

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

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

DoiT ワークロードの ID を構成する

DoiT コンソールを接続するとき、主に次の 2 つの作業を行って DoiT ワークロードの ID を構成します。

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

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

    注意

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

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

  1. DoiT コンソールにサインインし、上部ナビゲーションのメガメニューから Data ingestion and integrations を選択し、Google Cloud を選択してください。

    Google Cloud settings empty

  2. 対象リソースの種類に応じて、以下のセクションに進んでください。

組織を接続する

  1. Connect ドロップダウンから Organization を選択してください。

  2. 組織で有効にする機能を選択してください。必要な権限は、機能を展開して確認できます。

    Google Cloud settings new organization

  3. gcloud コマンドを生成 を選択してください。実行が必要な gcloud コマンドが DoiT コンソールに表示されます。

    Create service account

  4. BigQuery Intelligence データセットの保存場所を選択してください。

  5. Google Cloud Shell を起動してください。

  6. 次の条件を満たす Google Cloud プロジェクトを選択してください。

    • プロジェクトがあなたの組織に属している。

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

    • 長期的に保持し、信頼できる人のみがアクセスできるように制限する予定である。

  7. DoiT コンソールで提供されるコマンドを順に実行して、組織のアクセス制御を構成してください。

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

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

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

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

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

  8. Google Cloud コンソールにサインインし、[ロール]ページ(https://console.cloud.google.com/iam-admin/roles)に移動して、組織内で DoiT のサービス アカウントに関連付けられた doit_cmp_role を作成したことを確認してください。

プロジェクトを接続する

このセクションは次の場合に該当します。

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

  1. Connect ドロップダウンから Project を選択してください。

  2. プロジェクトで有効にする機能を選択してください。必要な権限は、機能を展開して確認できます。

    Google Cloud settings new project

  3. gcloud コマンドを生成 を選択してください。実行が必要な 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 コンソールで ファイルをアップロード を選択してアップロードしてください。

  7. Google Cloud コンソールにサインインし、[ロール]ページ(https://console.cloud.google.com/iam-admin/roles)に移動して、プロジェクト内で DoiT のサービス アカウントに関連付けられた doit_cmp_role を作成したことを確認してください。

データセットを接続する

Google Cloud Recommender BigQuery export からのインサイトを有効にするには、インサイトとリコメンデーションのデータを含む BigQuery データセットを接続する必要があります。

重要

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

  • Google Cloud Recommender のインサイトとリコメンデーションのデータが BigQuery データセットにエクスポートされている。
  • 組織の接続時に Core 機能を有効化している。
  • データセットをホストするプロジェクトの接続時に Core 機能を有効化している。
  1. Connect ドロップダウンから Dataset を選択します。

  2. Insights from GCP Recommender BigQuery export のチェックボックスを選択します。必要な権限を表示するために機能を展開できます。

    Google Cloud settings new dataset

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

    gcloud commands for dataset access

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

  5. Google IAM の Project ID を取得します。詳しくは[Identifying projects]を参照してください。

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

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

    1. プロジェクト ID を設定します。
    2. データセット アクセス用の新しいサービス アカウントを作成します。
    3. プロジェクト レベルの権限を持つカスタム ロール doit_cmp_dataset_project_access_role を作成し、Add a policy binding を使用してそのロールをサービス アカウントに付与します。
    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. 上部ナビゲーションのメガメニューから Data ingestion and integrations を選択し、Google Cloud を選択します。
  2. 更新したいリソースの横にあるケバブメニュー()を選択し、Edit を選択します。
  3. 必要に応じて機能の選択を変更します。
  4. Generate gcloud commands を選択します。
  5. サイドパネルに表示される手順に従ってカスタム ロールを更新してください。

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

  • 複数の Google Cloud 組織またはプロジェクトがある場合は、どの組織またはプロジェクトが特定の機能にアクセスできるかを制御するため、個別に接続してください。

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

  • インサイトとリコメンデーション用に複数の BigQuery データセットを接続した場合、DoiT Insights は接続されたすべてのデータセット内のデータに基づいてインサイトを生成します。

接続を削除する

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

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

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

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

  • DoiT コンソールからサービス アカウントを削除すると、BigQuery Intelligence によって作成された関連するデータセットとシンクも削除されます。
  • 新しいサービス アカウントに BigQuery Intelligence の権限を付与すると、シンクを再作成し、過去ジョブのバックフィルをトリガーします。これにより、サービス アカウントの設定中にコストが増加する可能性があります。