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

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 Administratorroles/iam.organizationRoleAdmin)IAM ロールが付与されている必要があります。このロールは、組織配下のサービスアカウントにカスタムロールを作成して付与するために必要です。

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

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

サービスアカウント認証

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

service account impersonation には 2 種類のプリンシパルが関与します。

  • 対象リソースにアクセスするために必要な権限を持つ 権限保有サービスアカウント(privilege-bearing service account)

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

DoiT ワークロード用のアイデンティティを設定する

DoiT コンソールを接続する際に、DoiT ワークロード用のアイデンティティを設定するために主に実施するタスクは 2 つあります。

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

  • タスク 2: DoiT が所有するサービスアカウント [email protected](caller)に ServiceAccountTokenCreator ロールを付与し、権限保有サービスアカウントを偽装できるようにする。

    注意

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

詳細な設定手順は次のとおりです。

  1. DoiT コンソール にサインインし、トップナビゲーションのメガメニューから Data ingestion and integrations > Google Cloud を選択します。

  2. 対象リソースタイプに応じたセクションに進みます。

    Google Cloud settings empty

組織を接続する

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

  2. 組織に対して有効化したい機能を選択します。必要な権限を確認するには、各機能を展開します。

    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 請求アカウントに接続されていること(プロジェクトの課金ステータスの確認を参照)

    • 長期的に維持する予定があり、信頼できるメンバーのみにアクセスを制限するプロジェクトであること

  7. DoiT コンソールに表示されているコマンドを順番に実行して、組織のアクセス制御を設定します。

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

    2. 現在のプロジェクトで service usage API と resource manager API を有効にします。

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

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

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

  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. IAM ポリシーバインディングを追加し、roles/iam.serviceAccountTokenCreator ロールを DoiT の caller サービスアカウントに付与して、権限保有サービスアカウントの偽装を許可します。

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

  7. Google Cloud コンソールにサインインし、Roles ページを開いて、プロジェクト内の DoiT サービスアカウントに関連付けられた doit_cmp_role が作成されていることを確認します。

データセットを接続する

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

Important

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

  • Google Cloud Recommender からのインサイトおよびリコメンデーションのデータが BigQuery データセットにエクスポートされている。

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

  • BigQuery データセットをホストしているプロジェクトを接続する際に 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 プロジェクト 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. roles/iam.serviceAccountTokenCreator ロールを DoiT コーラーサービスアカウントに付与する 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 integrationsGoogle 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 の権限が付与されると、シンクが再作成され、履歴ジョブのバックフィルがトリガーされます。そのため、サービスアカウントのセットアップ中にコストが増加する可能性があります。